|
|
@@ -180,10 +180,31 @@ port of his C++ Reed-Solomon implementation.</p>
|
|
|
</h3>
|
|
|
|
|
|
<dl class="phpdocumentor-table-of-contents">
|
|
|
- <dt class="phpdocumentor-table-of-contents__entry -method -public">
|
|
|
+ <dt class="phpdocumentor-table-of-contents__entry -property -private">
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#property_eccLevel">$eccLevel</a>
|
|
|
+ <span>
|
|
|
+ : <a href="classes/chillerlan-QRCode-Common-EccLevel.html"><abbr title="\chillerlan\QRCode\Common\EccLevel">EccLevel</abbr></a> </span>
|
|
|
+</dt>
|
|
|
+<dd></dd>
|
|
|
+
|
|
|
+ <dt class="phpdocumentor-table-of-contents__entry -property -private">
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#property_version">$version</a>
|
|
|
+ <span>
|
|
|
+ : <a href="classes/chillerlan-QRCode-Common-Version.html"><abbr title="\chillerlan\QRCode\Common\Version">Version</abbr></a> </span>
|
|
|
+</dt>
|
|
|
+<dd></dd>
|
|
|
+
|
|
|
+ <dt class="phpdocumentor-table-of-contents__entry -method -public">
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method___construct">__construct()</a>
|
|
|
+ <span>
|
|
|
+ : mixed </span>
|
|
|
+</dt>
|
|
|
+<dd>ReedSolomonDecoder constructor</dd>
|
|
|
+
|
|
|
+ <dt class="phpdocumentor-table-of-contents__entry -method -public">
|
|
|
<a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method_decode">decode()</a>
|
|
|
<span>
|
|
|
- : array<string|int, mixed> </span>
|
|
|
+ : <a href="classes/chillerlan-QRCode-Common-BitBuffer.html"><abbr title="\chillerlan\QRCode\Common\BitBuffer">BitBuffer</abbr></a> </span>
|
|
|
</dt>
|
|
|
<dd>Error-correct and copy data blocks together into a stream of bytes</dd>
|
|
|
|
|
|
@@ -204,6 +225,13 @@ correct the errors in-place using Reed-Solomon error correction.</dd>
|
|
|
codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,
|
|
|
in the input.</dd>
|
|
|
|
|
|
+ <dt class="phpdocumentor-table-of-contents__entry -method -private">
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method_deinterleaveRawBytes">deinterleaveRawBytes()</a>
|
|
|
+ <span>
|
|
|
+ : array<string|int, mixed> </span>
|
|
|
+</dt>
|
|
|
+<dd>When QR Codes use multiple data blocks, they are actually interleaved.</dd>
|
|
|
+
|
|
|
<dt class="phpdocumentor-table-of-contents__entry -method -private">
|
|
|
<a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method_findErrorLocations">findErrorLocations()</a>
|
|
|
<span>
|
|
|
@@ -232,6 +260,80 @@ in the input.</dd>
|
|
|
|
|
|
|
|
|
|
|
|
+ <section class="phpdocumentor-properties">
|
|
|
+ <h3 class="phpdocumentor-elements__header" id="properties">
|
|
|
+ Properties
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ </h3>
|
|
|
+ <article
|
|
|
+ class="
|
|
|
+ phpdocumentor-element
|
|
|
+ -property
|
|
|
+ -private
|
|
|
+ "
|
|
|
+>
|
|
|
+ <h4 class="phpdocumentor-element__name" id="property_eccLevel">
|
|
|
+ $eccLevel
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#property_eccLevel" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ <span class="phpdocumentor-element__modifiers">
|
|
|
+ </span>
|
|
|
+ </h4>
|
|
|
+ <aside class="phpdocumentor-element-found-in">
|
|
|
+ <abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
+ :
|
|
|
+ <span class="phpdocumentor-element-found-in__line">38</span>
|
|
|
+
|
|
|
+ </aside>
|
|
|
+
|
|
|
+
|
|
|
+ <code class="phpdocumentor-code phpdocumentor-signature ">
|
|
|
+ <span class="phpdocumentor-signature__visibility">private</span>
|
|
|
+ <span class="phpdocumentor-signature__type"><a href="classes/chillerlan-QRCode-Common-EccLevel.html"><abbr title="\chillerlan\QRCode\Common\EccLevel">EccLevel</abbr></a></span>
|
|
|
+ <span class="phpdocumentor-signature__name">$eccLevel</span>
|
|
|
+ </code>
|
|
|
+
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</article>
|
|
|
+ <article
|
|
|
+ class="
|
|
|
+ phpdocumentor-element
|
|
|
+ -property
|
|
|
+ -private
|
|
|
+ "
|
|
|
+>
|
|
|
+ <h4 class="phpdocumentor-element__name" id="property_version">
|
|
|
+ $version
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#property_version" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ <span class="phpdocumentor-element__modifiers">
|
|
|
+ </span>
|
|
|
+ </h4>
|
|
|
+ <aside class="phpdocumentor-element-found-in">
|
|
|
+ <abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
+ :
|
|
|
+ <span class="phpdocumentor-element-found-in__line">37</span>
|
|
|
+
|
|
|
+ </aside>
|
|
|
+
|
|
|
+
|
|
|
+ <code class="phpdocumentor-code phpdocumentor-signature ">
|
|
|
+ <span class="phpdocumentor-signature__visibility">private</span>
|
|
|
+ <span class="phpdocumentor-signature__type"><a href="classes/chillerlan-QRCode-Common-Version.html"><abbr title="\chillerlan\QRCode\Common\Version">Version</abbr></a></span>
|
|
|
+ <span class="phpdocumentor-signature__name">$version</span>
|
|
|
+ </code>
|
|
|
+
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</article>
|
|
|
+ </section>
|
|
|
|
|
|
<section class="phpdocumentor-methods">
|
|
|
<h3 class="phpdocumentor-elements__header" id="methods">
|
|
|
@@ -243,6 +345,58 @@ in the input.</dd>
|
|
|
-method
|
|
|
-public
|
|
|
"
|
|
|
+>
|
|
|
+ <h4 class="phpdocumentor-element__name" id="method___construct">
|
|
|
+ __construct()
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ </h4>
|
|
|
+ <aside class="phpdocumentor-element-found-in">
|
|
|
+ <abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
+ :
|
|
|
+ <span class="phpdocumentor-element-found-in__line">43</span>
|
|
|
+
|
|
|
+ </aside>
|
|
|
+
|
|
|
+ <p class="phpdocumentor-summary">ReedSolomonDecoder constructor</p>
|
|
|
+
|
|
|
+ <code class="phpdocumentor-code phpdocumentor-signature ">
|
|
|
+ <span class="phpdocumentor-signature__visibility">public</span>
|
|
|
+ <span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Common-Version.html"><abbr title="\chillerlan\QRCode\Common\Version">Version</abbr></a> </span><span class="phpdocumentor-signature__argument__name">$version</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Common-EccLevel.html"><abbr title="\chillerlan\QRCode\Common\EccLevel">EccLevel</abbr></a> </span><span class="phpdocumentor-signature__argument__name">$eccLevel</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
|
|
|
+
|
|
|
+
|
|
|
+ <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
|
|
|
+ <dl class="phpdocumentor-argument-list">
|
|
|
+ <dt class="phpdocumentor-argument-list__entry">
|
|
|
+ <span class="phpdocumentor-signature__argument__name">$version</span>
|
|
|
+ : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Common-Version.html"><abbr title="\chillerlan\QRCode\Common\Version">Version</abbr></a></span>
|
|
|
+ </dt>
|
|
|
+ <dd class="phpdocumentor-argument-list__definition">
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+ </dd>
|
|
|
+ <dt class="phpdocumentor-argument-list__entry">
|
|
|
+ <span class="phpdocumentor-signature__argument__name">$eccLevel</span>
|
|
|
+ : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/chillerlan-QRCode-Common-EccLevel.html"><abbr title="\chillerlan\QRCode\Common\EccLevel">EccLevel</abbr></a></span>
|
|
|
+ </dt>
|
|
|
+ <dd class="phpdocumentor-argument-list__definition">
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+ </dd>
|
|
|
+ </dl>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h5 class="phpdocumentor-return-value__heading">Return values</h5>
|
|
|
+ <span class="phpdocumentor-signature__response_type">mixed</span>
|
|
|
+ —
|
|
|
+
|
|
|
+
|
|
|
+</article>
|
|
|
+ <article
|
|
|
+ class="phpdocumentor-element
|
|
|
+ -method
|
|
|
+ -public
|
|
|
+ "
|
|
|
>
|
|
|
<h4 class="phpdocumentor-element__name" id="method_decode">
|
|
|
decode()
|
|
|
@@ -251,7 +405,7 @@ in the input.</dd>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">40</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">51</span>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
@@ -259,13 +413,13 @@ in the input.</dd>
|
|
|
|
|
|
<code class="phpdocumentor-code phpdocumentor-signature ">
|
|
|
<span class="phpdocumentor-signature__visibility">public</span>
|
|
|
- <span class="phpdocumentor-signature__name">decode</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array<string|int, mixed> </span><span class="phpdocumentor-signature__argument__name">$dataBlocks</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array<string|int, mixed></span></code>
|
|
|
+ <span class="phpdocumentor-signature__name">decode</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array<string|int, mixed> </span><span class="phpdocumentor-signature__argument__name">$rawCodewords</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Common-BitBuffer.html"><abbr title="\chillerlan\QRCode\Common\BitBuffer">BitBuffer</abbr></a></span></code>
|
|
|
|
|
|
|
|
|
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
|
|
|
<dl class="phpdocumentor-argument-list">
|
|
|
<dt class="phpdocumentor-argument-list__entry">
|
|
|
- <span class="phpdocumentor-signature__argument__name">$dataBlocks</span>
|
|
|
+ <span class="phpdocumentor-signature__argument__name">$rawCodewords</span>
|
|
|
: <span class="phpdocumentor-signature__argument__return-type">array<string|int, mixed></span>
|
|
|
</dt>
|
|
|
<dd class="phpdocumentor-argument-list__definition">
|
|
|
@@ -277,7 +431,7 @@ in the input.</dd>
|
|
|
|
|
|
|
|
|
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
|
|
|
- <span class="phpdocumentor-signature__response_type">array<string|int, mixed></span>
|
|
|
+ <span class="phpdocumentor-signature__response_type"><a href="classes/chillerlan-QRCode-Common-BitBuffer.html"><abbr title="\chillerlan\QRCode\Common\BitBuffer">BitBuffer</abbr></a></span>
|
|
|
—
|
|
|
|
|
|
|
|
|
@@ -295,7 +449,7 @@ in the input.</dd>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">60</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">145</span>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
@@ -348,7 +502,7 @@ correct the errors in-place using Reed-Solomon error correction.</p>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">90</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">175</span>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
@@ -406,6 +560,67 @@ in the input.</p>
|
|
|
—
|
|
|
|
|
|
|
|
|
+</article>
|
|
|
+ <article
|
|
|
+ class="phpdocumentor-element
|
|
|
+ -method
|
|
|
+ -private
|
|
|
+ "
|
|
|
+>
|
|
|
+ <h4 class="phpdocumentor-element__name" id="method_deinterleaveRawBytes">
|
|
|
+ deinterleaveRawBytes()
|
|
|
+ <a href="classes/chillerlan-QRCode-Common-ReedSolomonDecoder.html#method_deinterleaveRawBytes" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ </h4>
|
|
|
+ <aside class="phpdocumentor-element-found-in">
|
|
|
+ <abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
+ :
|
|
|
+ <span class="phpdocumentor-element-found-in__line">75</span>
|
|
|
+
|
|
|
+ </aside>
|
|
|
+
|
|
|
+ <p class="phpdocumentor-summary">When QR Codes use multiple data blocks, they are actually interleaved.</p>
|
|
|
+
|
|
|
+ <code class="phpdocumentor-code phpdocumentor-signature ">
|
|
|
+ <span class="phpdocumentor-signature__visibility">private</span>
|
|
|
+ <span class="phpdocumentor-signature__name">deinterleaveRawBytes</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array<string|int, mixed> </span><span class="phpdocumentor-signature__argument__name">$rawCodewords</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array<string|int, mixed></span></code>
|
|
|
+
|
|
|
+ <section class="phpdocumentor-description"><p>That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This
|
|
|
+method will separate the data into original blocks.</p>
|
|
|
+</section>
|
|
|
+
|
|
|
+ <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
|
|
|
+ <dl class="phpdocumentor-argument-list">
|
|
|
+ <dt class="phpdocumentor-argument-list__entry">
|
|
|
+ <span class="phpdocumentor-signature__argument__name">$rawCodewords</span>
|
|
|
+ : <span class="phpdocumentor-signature__argument__return-type">array<string|int, mixed></span>
|
|
|
+ </dt>
|
|
|
+ <dd class="phpdocumentor-argument-list__definition">
|
|
|
+ <section class="phpdocumentor-description"></section>
|
|
|
+
|
|
|
+ </dd>
|
|
|
+ </dl>
|
|
|
+
|
|
|
+
|
|
|
+ <h5 class="phpdocumentor-tag-list__heading" id="tags">
|
|
|
+ Tags
|
|
|
+ <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
|
|
|
+ </h5>
|
|
|
+ <dl class="phpdocumentor-tag-list">
|
|
|
+ <dt class="phpdocumentor-tag-list__entry">
|
|
|
+ <span class="phpdocumentor-tag__name">throws</span>
|
|
|
+ </dt>
|
|
|
+ <dd class="phpdocumentor-tag-list__definition">
|
|
|
+ <span class="phpdocumentor-tag-link"><a href="classes/chillerlan-QRCode-Decoder-QRCodeDecoderException.html"><abbr title="\chillerlan\QRCode\Decoder\QRCodeDecoderException">QRCodeDecoderException</abbr></a></span>
|
|
|
+
|
|
|
+
|
|
|
+ </dd>
|
|
|
+ </dl>
|
|
|
+
|
|
|
+ <h5 class="phpdocumentor-return-value__heading">Return values</h5>
|
|
|
+ <span class="phpdocumentor-signature__response_type">array<string|int, mixed></span>
|
|
|
+ —
|
|
|
+
|
|
|
+
|
|
|
</article>
|
|
|
<article
|
|
|
class="phpdocumentor-element
|
|
|
@@ -420,7 +635,7 @@ in the input.</p>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">179</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">264</span>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
@@ -477,7 +692,7 @@ in the input.</p>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">207</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">292</span>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
@@ -528,7 +743,7 @@ in the input.</p>
|
|
|
<aside class="phpdocumentor-element-found-in">
|
|
|
<abbr class="phpdocumentor-element-found-in__file" title="src/Common/ReedSolomonDecoder.php"><a href="files/src-common-reedsolomondecoder.html"><abbr title="src/Common/ReedSolomonDecoder.php">ReedSolomonDecoder.php</abbr></a></abbr>
|
|
|
:
|
|
|
- <span class="phpdocumentor-element-found-in__line">135</span>
|
|
|
+ <span class="phpdocumentor-element-found-in__line">220</span>
|
|
|
|
|
|
</aside>
|
|
|
|