<t>The mode data that is created defines how the encoder and the decoder operate. More specifically, the following information is contained in the mode object:
<t>The frame size can be any even number of samples from 64 to 512, inclusively.
The sampling rate must be between 32000 Hz and 96000 Hz. The mode data that is
created defines how the encoder and the decoder operate. More specifically, the
following information is contained in the mode object:
<liststyle="symbols">
<t>Frame size</t>
...
...
@@ -879,7 +877,11 @@ The main difference between mono and stereo coding is the PVQ coding of the norm
</t>
<t>
From M and S, an angular parameter theta=2/pi*atan2(||S||, ||M||) is computed. It is quantized on a scale from 0 to 1 with an interval of 2^-qb, where qb = (b-2*(N-1)*(40-log2_frac(N,4)))/(32*(N-1)), b is the number of bits allocated to the band, and log2_frac() is defined in <xreftarget="cwrs.c">cwrs.c</xref>. Let m=M/||M|| and s=S/||S||; m and s are separately encoded with the PVQ encoder described in <xreftarget="pvq"></xref>. The number of bits allocated to m and s depends on the value of itheta, which is a fixed-point (Q14) representation of theta. The value of itheta needs to be treated in a bit-exact manner since both the encoder and decoder rely on it to infer the bit allocation. The number of bits allocated to coding m is obtained by:
From M and S, an angular parameter theta=2/pi*atan2(||S||, ||M||) is computed. The theta parameter is converted to a Q14 fixed-point parameter itheta, which is quantized on a scale from 0 to 1 with an interval of 2^-qb, where qb = (b-2*(N-1)*(40-log2_frac(N,4)))/(32*(N-1)), b is the number of bits allocated to the band, and log2_frac() is defined in <xreftarget="cwrs.c">cwrs.c</xref>. From here on, the value of itheta MUST be treated in a bit-exact manner since
both the encoder and decoder rely on it to infer the bit allocation.
</t>
<t>
Let m=M/||M|| and s=S/||S||; m and s are separately encoded with the PVQ encoder described in <xreftarget="pvq"></xref>. The number of bits allocated to m and s depends on the value of itheta. The number of bits allocated to coding m is obtained by:
</t>
<t>
...
...
@@ -887,10 +889,13 @@ From M and S, an angular parameter theta=2/pi*atan2(||S||, ||M||) is computed. I
The authors would also like to thank the CELT users who contributed source code, feature requests, suggestions or comments. Many thanks to Christopher "Monty" Montgomery for critical listening and help in the tuning phase.
The authors would also like to thank the CELT users who contributed patches, feature requests, suggestions or comments. Many thanks to Christopher "Monty" Montgomery for critical listening and help in the tuning phase.
</t>
</section>
...
...
@@ -1325,8 +1320,8 @@ The authors would also like to thank the CELT users who contributed source code,