[opus] OPUS on cortex M4

Timothy B. Terriberry tterribe at xiph.org
Fri Jun 29 21:41:07 UTC 2018


Ehrenberg  Nicolas wrote:
>      for(uint16_t i = 0; i < test_data_size; i++)
>      {
>      test_data[i] = 100;
>      }
>
> [snip]
>
> The decoded values start out at 0, go to -16 up, then up to 135 and then 
> slowly down to the 17 (see attached file).
> Furthermore, I do not see much of a change if I increase the complexity.

You're encoding a signal with a constant (DC) offset. opus_encode() 
includes a 3 Hz highpass filter to remove the (inaudible) DC component, 
because it screws up other parts of the codec (mainly it would create 
MDCT leakage that is completely unmasked). So you shouldn't expect to 
get your constant values of 100 back.

In general the numeric values of the output aren't guaranteed to 
resemble the numeric values of the input. The codec will just try to 
make the two signals sound the same to human ears.


More information about the opus mailing list