diff --git a/lib_com/options.h b/lib_com/options.h index 9c1d0b089096bf7b76300ce2948fab698089a5ed..225d8ac92ec76cc30933a6183f739e061f5756f1 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -109,4 +109,6 @@ #define FIX_ISSUE_1092 /* Ittiam: Fix for Issue 1092: BASOP asserts in stereo fx encoder for selection test inputs*/ #define FIX_ISSUE_1148 #define FIX_ISSUE_1147 /*Ittiam: Fix for issue 1147: Added saturation in DetectTnsFilt_fx.*/ +#define FIX_ISSUE_1150 /* Ittiam: Fix for Issue 1150: Assertion error observed in evs_enc_fx (with option stereo_dmx_evs) from tcx_ltp_find_gain function*/ +#define FIX_ISSUE_1151 /* Ittiam: Fix for Issue 1151: Assertion error observed in evs_enc_fx (with option stereo_dmx_evs) from sp_mus_classif_gmm_fx function*/ #endif diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c index 25d35c7d11206c03007433127a74d080bda715c9..319db976e74977b557b85f1c7a38cae4caa6d117 100644 --- a/lib_enc/speech_music_classif_fx.c +++ b/lib_enc/speech_music_classif_fx.c @@ -899,12 +899,28 @@ static Word16 sp_mus_classif_gmm_fx( /* o : decis tmp = div_s( tmp2, tmp1 ); /*Q(15+exp3) */ L_tmp = L_shl( tmp, sub( 1, exp3 ) ); /*Q16 */ - ps_sta = L_add( ps_sta, L_tmp ); /*Q16 */ +#ifdef FIX_ISSUE_1151 +#ifdef BASOP_NOGLOB + ps_sta = L_add_sat( ps_sta, L_tmp ); /*Q16 */ +#else + ps_sta = L_add( ps_sta, L_tmp ); /*Q16 */ +#endif +#else + ps_sta = L_add( ps_sta, L_tmp ); /*Q16 */ +#endif } } /**pFV++ = (float)log(ps_sta + 1e-5f);*/ +#ifdef FIX_ISSUE_1151 +#ifdef BASOP_NOGLOB + ps_sta = L_add_sat( ps_sta, 336 ); +#else ps_sta = L_add( ps_sta, 336 ); +#endif +#else + ps_sta = L_add( ps_sta, 336 ); +#endif e_tmp = norm_l( ps_sta ); f_tmp = Log2_norm_lc( L_shl( ps_sta, e_tmp ) ); e_tmp = sub( 30 - 16, e_tmp ); diff --git a/lib_enc/tcx_ltp_enc_fx.c b/lib_enc/tcx_ltp_enc_fx.c index aec8479076a504c4d71e04b9bff08fcaeba8b063..fbc8bf263f2f9ea5071558819192f178138bb86f 100644 --- a/lib_enc/tcx_ltp_enc_fx.c +++ b/lib_enc/tcx_ltp_enc_fx.c @@ -549,7 +549,15 @@ static void tcx_ltp_find_gain( Word16 *speech, Word16 *pred_speech, Word16 L_fra BASOP_SATURATE_WARNING_ON_EVS /* Quantize gain */ +#ifdef FIX_ISSUE_1150 +#ifdef BASOP_NOGLOB + g = shr( sub_o( g, 0x1000, &Overflow ), 13 ); +#else + g = shr( sub( g, 0x1000 ), 13 ); +#endif +#else g = shr( sub( g, 0x1000 ), 13 ); +#endif g = s_max( g, -1 ); *gain_index = g;