[opus] Alleged bug in Silk codec
Marcello Caramma (mcaramma)
mcaramma at cisco.com
Wed Jun 11 01:46:29 PDT 2014
Apologies if this is a known issues, but I have found what I believe is a bug in the fixed point implementation of the Silk codec and could not find any mention on this in the archives.
The bug can be easily reproduced with the fixed point demo program (./configure —enable-fixed-point —disable-float-api && make) using the following command:
./opus_demo voip 16000 1 23000 sweep_in.raw sweep_out.raw
Where sweep_in.raw is a 30 seconds full scale frequency sweep from 0 to 8kHz sampled at 16kHz.
The first 6 seconds of audio after transcoding sound Ok. After that artefacts are introduced all the way to the end of the file.
The floating point version does not have the issue (even though the quality is subjectively worse roughly from the same point).
I believe I narrowed down the problem to the file burg_modified_FIX.c – if I make sure the input signal is scaled down to 14 bits before processing the coefficients of the predictor are calculated correctly and no artefact is introduced.
Is anyone experiencing the same problem or has a proper fix for this? (I can work around the bug with input scaling for now).
Thanks and best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the opus