[Speex-dev] Fixed Point on wideband-mode: Single Frame loss on 2000 Hz sine causes "freak off"

Frank Lorenz Frank_wtal at web.de
Fri Dec 18 04:36:15 PST 2009


I'm quite sure we found a bug inside the codec (1.2rc1, wideband mode). It only
occurs when speex is compiled with the FIXED_POINT flag.

I feed in a 2000 Hz sine wave (-15 dBFS). When I simulate a single frame loss
(i.e. pass a null pointer to speex_decode_int as second parameter for just one frame), the decoder
starts to freak out a second later: It produces horrible noise with 0 dBFS. This
horrible noise will not vanish until you turn off the input signal.

I did some investigation on this with FIXED_DEBUG. The error messages are (lots 
of this):
ADD32: output is not int: 1702286034 in ltp.c: line 68
ADD32: output is not int: 1455757562 in ltp.c: line 69

Call stack for this (only set the break point once, may be there are other call
stacks on error, too):

sb_decode ( ) at sb_celp.c:898
nb_decode ( ) at nb_celp.c:1471
multicomb ( ) at filter.c:709
interp_pitch ( ) at filter.c:603
inner_prod ( ) at ltp.c:68

Can you help please?

best regards,
Preisknaller: WEB.DE DSL Flatrate für nur 16,99 Euro/mtl.! 

More information about the Speex-dev mailing list