diff --git a/lib_com/options.h b/lib_com/options.h index e301163f017e82159ffb6951111a08db403db37b..d2f32a1ce007d4746ef7d73e0ced4c49b5092d07 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -114,4 +114,5 @@ #define FIX_ISSUE_1153 /* Ittiam: Fix for Issue 1153: Assertion error observed in stereo_dmx_evs_enc_fx from calc_poc_fx function*/ #define FIX_ISSUE_1154 /* Ittiam: Fix for Issue 1154: Encoder crash for ParamMC 7.1 at 96kbps in ivas_param_mc_param_est_enc_fx() */ #define FIX_ISSUE_1157 /* Ittiam: Fix for Issue 1157: Encoder crash for Stereo at 48/64kbps DTX on/off in kernel_switch_trafo_fx() */ +#define FIX_ISSUE_1152 /* Ittiam: Fix for issue 1152: Assertion error observed in evs_enc_fx (with option stereo_dmx_evs) from find_tilt_fx function*/ #endif diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c index f29a9709cf2916b81760cdcb34bb47745ae9d20b..d63585a398f97002aa6e340320efbb21dbe36b5b 100644 --- a/lib_enc/find_tilt_fx.c +++ b/lib_enc/find_tilt_fx.c @@ -96,7 +96,17 @@ void find_tilt_fx( hp_bckr = L_deposit_l( 1 ); } tmp = BASOP_Util_Divide3232_Scale( lp_bckr, hp_bckr, &e_tmp ); + +#ifdef FIX_ISSUE_1152 +#ifdef BASOP_NOGLOB + Ltmp = L_shr_r_sat( L_deposit_h( tmp ), sub( 15, e_tmp ) ); +#else + Ltmp = L_shr_r( L_deposit_h( tmp ), sub( 15, e_tmp ) ); +#endif +#else Ltmp = L_shr_r( L_deposit_h( tmp ), sub( 15, e_tmp ) ); +#endif + *bckr_tilt_lt = L_add( Mpy_32_16_r( *bckr_tilt_lt, 29491 ), Mpy_32_16_r( Ltmp, 3277 ) ); /* Q16 */ test();