[opus] OPUS on cortex M4 (Nicolas Ehrenberg)

Timothy B. Terriberry tterribe at xiph.org
Sun Jul 1 20:44:28 UTC 2018

Ehrenberg  Nicolas wrote:
> Also, I'm not quite sure if my opus implementation works as it should yet. I can run the encoder with OPUS_APPLICATION_RESTRICTED_LOWDELAY, but If I try to run it with OPUS_APPLICATION_VOIP or OPUS_APPLICATION_AUDIO the opus_encode function returns just 2 (size of encoded samples) and the opus decode just returns 0's. I would imagine to get the best audio reconstruction with 

In either of these modes, the encoder adds enough delay to allow 
switching between the CELT and SILK layers. That may be more than a full 
frame for small frame sizes (5 ms or less). The result is that the first 
frame out of the encoder will be just the padding (usually pure 
silence), which is consistent with a 2 byte frame and all 0's from the 

Also, even with OPUS_APPLICATION_RESTRICTED_LOWDELAY, there is still 
some delay added. See the opus_encoder_ctl OPUS_GET_LOOKAHEAD() to query 
the delay actually in use.

After that, pretty much all I can suggest to improve the "visual" 
appearance of the signal is to increase the bitrate. But even if you go 
all of the way up to 255 kb/s per channel, it's still a lossy codec 
designed for human ears, not spectogram plots.

2000 +- 500 still has a large DC component that will get removed.

More information about the opus mailing list