Skip to content

Wrong scaling when going from float to fixed point for Aq, causing Overflow in syn_filt_s_lc_fx()

with the following bitstream

ff_mic12_SbSb001_-stereo_24400_16.bit

and this command line

IVAS_dec STEREO 16 bit syn

the low-rate mode is triggered and before calling the function decod_gen_2sbfr_ivas_fx(), all parameters are converted from float to fixed point. In ivas_td_low_rate Ln552 :

floatToFixed_arr(Aq, Aq_fx, Q14, NB_SUBFR16k * (M + 1));

In fixed point, the filter Aq should be represented in Q12, not Q14, that leads to an overflow in invo_dec -> cb_shape -> syn_filt_s_lc_fx.

SHA aa0d22c1

Edited by vaillancour