BWE issue leading to crash in stereo
with e6911975, this command line :
IVAS_dec STEREO 32 bit syn
and the following bitstream :
The crash happens at frame 3083, for channel 0 (Left), due to a saturation at Ln3703 of swb_tbe_com.c with the mac_r:
FOR ( i = 0; i < l_shb_lahead; i++ )
{
L_tmp = Mult_32_16(mod_syn[i], gain_frame_Q16); /* Q_bwe_exc + 16 + Q_gFr_norm + 2 - 15 */
L_tmp2 = Mult_32_16(L_tmp, win[i]); /* (Q_bwe_exc + 16 + Q_gFr_norm + 2 - 15) + 15 + (1-16) */
>>> synSHB[i] = mac_r(L_tmp2, overlap[i], MAX_16);
move16(); /* Q_bwe_exc + Q_gFr_norm - 13 */
synSHB[i+l_shb_lahead] = round_fx(L_tmp); /* Q_bwe_exc + Q_gFr_norm - 13 */
}
But the synthesis at that place fits on 12 bits and the high frequency content has nothing particular. So I don't believe a saturation should occurs there at this point in time. When looking at the previous frames, the level of the BWE of the left channel is below the floating point level but about 3dB (Yellow = Float; Blue=Fix-point)
While for the right channel, the BWE seems just corrupted (Red = float; Blue = Fix-point)