Loading lib_com/fft_fx_evs.c +0 −7 Original line number Diff line number Diff line Loading @@ -2037,9 +2037,7 @@ static void cftmdl_16fx( Word16 x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i; Word16 tmp, tmp2; Word32 L_tmp; #ifndef NONBE_FIX_2493_EXTRACT_L_cftmdl_16fx Word32 L_x0r, L_x0i; #endif m = shl( l, 2 ); FOR( j = 0; j < l; j += 2 ) Loading Loading @@ -2189,10 +2187,6 @@ 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_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_EVS Loading @@ -2201,7 +2195,6 @@ 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/gs_noisefill_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -571,16 +571,12 @@ static void envelop_modify_fx( { /**src = Ener1*(weight*(*src)*Ener + (1.0f-weight)*own_random(seed_tcx)/32768.0f); */ L_tmp = Mult_32_16( Ener_fx, *src_fx ); /*Q(31-exp+Q_exc-15) -> Q(16-exp+Q_exc) */ #ifdef NONBE_FIX_2493_EXTRACT_L_envelop_modify_fx tmp = extract_h( Mpy_32_16_1( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ), weight_fx ) ); /*Q12 */ #else #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ) ); /*Q12 */ #else tmp = extract_l( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ) ); /*Q12 */ #endif tmp = mult_r( weight_fx, tmp ); /*Q12 */ #endif L_tmp = L_mult0( sub( 32767, weight_fx ), Random( seed_tcx ) ); /*Q30 */ tmp1 = round_fx( L_shr( L_tmp, 2 ) ); Loading lib_com/lsf_tools_fx.c +0 −10 Original line number Diff line number Diff line Loading @@ -290,16 +290,11 @@ void E_LPC_a_isp_conversion( const Word16 a[], Word16 isp[], const Word16 old_is tmp = shl( tmp, exp ); tmp = div_s( (Word16) 16383, tmp ); t0 = L_mult( x, tmp ); #ifdef NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion t0 = L_shr_sat( t0, sub( 20 - 16, exp ) ); tmp = extract_h( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else t0 = L_shr( t0, sub( 20, exp ) ); #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else tmp = extract_l( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #endif #endif /* Restore Sign */ if ( y < 0 ) Loading Loading @@ -1160,16 +1155,11 @@ void E_LPC_a_lsp_conversion( tmp = shl( tmp, exp ); tmp = div_s( (Word16) 16383 / 2, tmp ); t0 = L_mult( x, tmp ); #ifdef NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion t0 = L_shr_sat( t0, sub( 20 - 16, exp ) ); tmp = extract_h( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else t0 = L_shr( t0, sub( 20, exp ) ); #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else tmp = extract_l( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #endif #endif /* Restore Sign */ Loading lib_com/options.h +0 −8 Original line number Diff line number Diff line Loading @@ -114,14 +114,6 @@ #define NONBE_FIX_2493_EXTRACT_L_res_bpf_adapt_ivas_fx /* FhG: Fix extract_l overflow inside res_bpf_adapt_ivas_fx() */ #define NONBE_FIX_2493_EXTRACT_L_ivas_core_dec_fx /* FhG: Fix extract_l overflow inside ivas_core_dec_fx(). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_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. */ #if 0 #define NONBE_FIX_2493_EXTRACT_L_EnhanceClass_fx /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_WB_BWE_gain_pred_fx /* FhG: Fix extract_l overflow inside WB_BWE_gain_pred_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_cftmdl_16fx /* FhG: Fix extract_l overflow inside cftmdl_16fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_envelop_modify_fx /* FhG: Fix extract_l overflow inside envelop_modify_fx() (EVS). */ #endif #define NONBE_FIX_2493_EXTRACT_L_acelp_core_dec_fx /* FhG: Fix extract_l overflow inside acelp_core_dec_fx() */ #define NONBE_FIX_2493_EXTRACT_L_acelp_fast_fx /* FhG: Fix extract_l overflow inside acelp_fast_fx(). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_swb_tbe_enc_fx /* FhG: Fix extract_l overflow inside swb_tbe_enc_fx() */ Loading lib_com/swb_bwe_com_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -258,14 +258,10 @@ Word16 WB_BWE_gain_pred_fx( L_tmp = L_mult0( alfa, WB_fenv[0] ); /*Q14+Q3->Q17 */ L_tmp = L_shr( L_tmp, 14 ); /*Q3 */ #ifdef NONBE_FIX_2493_EXTRACT_L_WB_BWE_gain_pred_fx tmp = extract_h( L_shl_sat( L_tmp, 16 ) ); #else #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( L_tmp ); #else tmp = extract_l( L_tmp ); #endif #endif enerL = L_deposit_l( enerL_16 ); Loading Loading
lib_com/fft_fx_evs.c +0 −7 Original line number Diff line number Diff line Loading @@ -2037,9 +2037,7 @@ static void cftmdl_16fx( Word16 x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i; Word16 tmp, tmp2; Word32 L_tmp; #ifndef NONBE_FIX_2493_EXTRACT_L_cftmdl_16fx Word32 L_x0r, L_x0i; #endif m = shl( l, 2 ); FOR( j = 0; j < l; j += 2 ) Loading Loading @@ -2189,10 +2187,6 @@ 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_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_EVS Loading @@ -2201,7 +2195,6 @@ 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/gs_noisefill_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -571,16 +571,12 @@ static void envelop_modify_fx( { /**src = Ener1*(weight*(*src)*Ener + (1.0f-weight)*own_random(seed_tcx)/32768.0f); */ L_tmp = Mult_32_16( Ener_fx, *src_fx ); /*Q(31-exp+Q_exc-15) -> Q(16-exp+Q_exc) */ #ifdef NONBE_FIX_2493_EXTRACT_L_envelop_modify_fx tmp = extract_h( Mpy_32_16_1( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ), weight_fx ) ); /*Q12 */ #else #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ) ); /*Q12 */ #else tmp = extract_l( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ) ); /*Q12 */ #endif tmp = mult_r( weight_fx, tmp ); /*Q12 */ #endif L_tmp = L_mult0( sub( 32767, weight_fx ), Random( seed_tcx ) ); /*Q30 */ tmp1 = round_fx( L_shr( L_tmp, 2 ) ); Loading
lib_com/lsf_tools_fx.c +0 −10 Original line number Diff line number Diff line Loading @@ -290,16 +290,11 @@ void E_LPC_a_isp_conversion( const Word16 a[], Word16 isp[], const Word16 old_is tmp = shl( tmp, exp ); tmp = div_s( (Word16) 16383, tmp ); t0 = L_mult( x, tmp ); #ifdef NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion t0 = L_shr_sat( t0, sub( 20 - 16, exp ) ); tmp = extract_h( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else t0 = L_shr( t0, sub( 20, exp ) ); #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else tmp = extract_l( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #endif #endif /* Restore Sign */ if ( y < 0 ) Loading Loading @@ -1160,16 +1155,11 @@ void E_LPC_a_lsp_conversion( tmp = shl( tmp, exp ); tmp = div_s( (Word16) 16383 / 2, tmp ); t0 = L_mult( x, tmp ); #ifdef NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion t0 = L_shr_sat( t0, sub( 20 - 16, exp ) ); tmp = extract_h( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else t0 = L_shr( t0, sub( 20, exp ) ); #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #else tmp = extract_l( t0 ); /* y = (xhigh-xlow)/(yhigh-ylow) in Q11 */ #endif #endif /* Restore Sign */ Loading
lib_com/options.h +0 −8 Original line number Diff line number Diff line Loading @@ -114,14 +114,6 @@ #define NONBE_FIX_2493_EXTRACT_L_res_bpf_adapt_ivas_fx /* FhG: Fix extract_l overflow inside res_bpf_adapt_ivas_fx() */ #define NONBE_FIX_2493_EXTRACT_L_ivas_core_dec_fx /* FhG: Fix extract_l overflow inside ivas_core_dec_fx(). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_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. */ #if 0 #define NONBE_FIX_2493_EXTRACT_L_EnhanceClass_fx /* FhG: Fix extract_l overflow inside EnhanceClass_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_decoder_tcx_post_fx /* FhG: Fix extract_l overflow inside decoder_tcx_post_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_WB_BWE_gain_pred_fx /* FhG: Fix extract_l overflow inside WB_BWE_gain_pred_fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_cftmdl_16fx /* FhG: Fix extract_l overflow inside cftmdl_16fx() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() (EVS). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_envelop_modify_fx /* FhG: Fix extract_l overflow inside envelop_modify_fx() (EVS). */ #endif #define NONBE_FIX_2493_EXTRACT_L_acelp_core_dec_fx /* FhG: Fix extract_l overflow inside acelp_core_dec_fx() */ #define NONBE_FIX_2493_EXTRACT_L_acelp_fast_fx /* FhG: Fix extract_l overflow inside acelp_fast_fx(). Saturation, not a optimal fix. */ #define NONBE_FIX_2493_EXTRACT_L_swb_tbe_enc_fx /* FhG: Fix extract_l overflow inside swb_tbe_enc_fx() */ Loading
lib_com/swb_bwe_com_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -258,14 +258,10 @@ Word16 WB_BWE_gain_pred_fx( L_tmp = L_mult0( alfa, WB_fenv[0] ); /*Q14+Q3->Q17 */ L_tmp = L_shr( L_tmp, 14 ); /*Q3 */ #ifdef NONBE_FIX_2493_EXTRACT_L_WB_BWE_gain_pred_fx tmp = extract_h( L_shl_sat( L_tmp, 16 ) ); #else #ifdef FIX_2493_CHECK_EXTRACT_L_EVS tmp = extract_l2( L_tmp ); #else tmp = extract_l( L_tmp ); #endif #endif enerL = L_deposit_l( enerL_16 ); Loading