Loading lib_com/fft_fx_evs.c +7 −0 Original line number Diff line number Diff line Loading @@ -2037,7 +2037,9 @@ static void cftmdl_16fx( Word16 x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i; Word16 tmp, tmp2; Word32 L_tmp; #ifndef NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx Word32 L_x0r, L_x0i; #endif m = shl( l, 2 ); FOR( j = 0; j < l; j += 2 ) Loading Loading @@ -2187,6 +2189,10 @@ static void cftmdl_16fx( a[j1 + 1] = round_fx_sat( L_shl_sat( L_tmp, 1 ) ); /*Q(Qx+Q_edct) */ move16(); #ifdef NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx x0r = add_sat( x1r, x3i ); x0i = sub_sat( x1i, x3r ); #else L_x0r = L_add( (Word32) x1r, (Word32) x3i ); L_x0i = L_sub( (Word32) x1i, (Word32) x3r ); #ifdef FIX_2493_CHECK_EXTRACT_L Loading @@ -2195,6 +2201,7 @@ static void cftmdl_16fx( #else x0r = extract_l( L_x0r ); x0i = extract_l( L_x0i ); #endif #endif L_tmp = Mult_32_16( wk3r, x0r ); /*Q(15+Qx+Q_edct) */ L_tmp = Msub_32_16( L_tmp, wk3i, x0i ); /*Q(15+Qx+Q_edct) */ Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ #define NONBE_FIX_2493_CHECK_EXTRACT_L_d_syn_filt_fx /* FhG: Fix extract_l overflow inside d_syn_filt_fx(). W_shr( x, s ) with s out of range problem. */ // #define NONBE_FIX_2493_CHECK_EXTRACT_L_EnhanceClass_fx /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS) */ // #define NONBE_FIX_2493_CHECK_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS) */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx /* FhG: Fix extract_l overflow inside cftmdl_16fx() (EVS) */ #define FIX_2493_FIX_ISSUE_1966_F0_32BIT /* Fhg: Fix saturation that popped up from FIX_ISSUE_1966_F0_32BIT */ #define FIX_2493_CHECK_EXTRACT_L_FIX_INSTRUMENTATION /* FhG: BE instrumentation fix */ #define FIX_2584_TD_SM_ISSUE /* VA: Fix inconsistencies in the SM part of the TD stereo */ Loading Loading
lib_com/fft_fx_evs.c +7 −0 Original line number Diff line number Diff line Loading @@ -2037,7 +2037,9 @@ static void cftmdl_16fx( Word16 x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i; Word16 tmp, tmp2; Word32 L_tmp; #ifndef NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx Word32 L_x0r, L_x0i; #endif m = shl( l, 2 ); FOR( j = 0; j < l; j += 2 ) Loading Loading @@ -2187,6 +2189,10 @@ static void cftmdl_16fx( a[j1 + 1] = round_fx_sat( L_shl_sat( L_tmp, 1 ) ); /*Q(Qx+Q_edct) */ move16(); #ifdef NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx x0r = add_sat( x1r, x3i ); x0i = sub_sat( x1i, x3r ); #else L_x0r = L_add( (Word32) x1r, (Word32) x3i ); L_x0i = L_sub( (Word32) x1i, (Word32) x3r ); #ifdef FIX_2493_CHECK_EXTRACT_L Loading @@ -2195,6 +2201,7 @@ static void cftmdl_16fx( #else x0r = extract_l( L_x0r ); x0i = extract_l( L_x0i ); #endif #endif L_tmp = Mult_32_16( wk3r, x0r ); /*Q(15+Qx+Q_edct) */ L_tmp = Msub_32_16( L_tmp, wk3i, x0i ); /*Q(15+Qx+Q_edct) */ Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ #define NONBE_FIX_2493_CHECK_EXTRACT_L_d_syn_filt_fx /* FhG: Fix extract_l overflow inside d_syn_filt_fx(). W_shr( x, s ) with s out of range problem. */ // #define NONBE_FIX_2493_CHECK_EXTRACT_L_EnhanceClass_fx /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS) */ // #define NONBE_FIX_2493_CHECK_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS) */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_cftmdl_16fx /* FhG: Fix extract_l overflow inside cftmdl_16fx() (EVS) */ #define FIX_2493_FIX_ISSUE_1966_F0_32BIT /* Fhg: Fix saturation that popped up from FIX_ISSUE_1966_F0_32BIT */ #define FIX_2493_CHECK_EXTRACT_L_FIX_INSTRUMENTATION /* FhG: BE instrumentation fix */ #define FIX_2584_TD_SM_ISSUE /* VA: Fix inconsistencies in the SM part of the TD stereo */ Loading