diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c index 0025812db446db36ad216c3c9af78c3a79558b5a..d56f1b78492c6673943ec37aac7463f606da4145 100644 --- a/lib_com/swb_bwe_com_fx.c +++ b/lib_com/swb_bwe_com_fx.c @@ -3005,7 +3005,8 @@ void hq_generic_decoding_fx( { FOR( tmp3_fx = 5120; tmp3_fx > 1024; tmp3_fx -= 512 ) { - L_tmp1 = L_shl( Mult_32_16( *pit1_fx, tmp3_fx ), 5 ); /*15 + 5 + 10 -15 */ + /* Adding saturation suggested as fix for issue #957 */ + L_tmp1 = L_shl_sat( Mult_32_16( *pit1_fx, tmp3_fx ), 5 ); /*15 + 5 + 10 -15 */ *pit1_fx-- = L_tmp1; move32(); }