Loading lib_com/gs_noisefill_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -571,12 +571,16 @@ 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_CHECK_EXTRACT_L_envelop_modify_fx tmp = Mpy_32_16_1( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ), weight_fx ); /*Q12 */ #else #ifdef FIX_2493_CHECK_EXTRACT_L 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/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,8 @@ #define NONBE_FIX_2493_EXTRACT_L_acelp_core_dec_fx /* FhG: Fix extract_l overflow inside acelp_core_dec_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() (EVS) */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx /* FhG: Fix extract_l overflow inside acelp_fast_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_envelop_modify_fx /* FhG: Fix extract_l overflow inside envelop_modify_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_swb_tbe_enc_fx /* FhG: Fix extract_l overflow inside swb_tbe_enc_fx() */ #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 lib_enc/swb_tbe_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -3027,10 +3027,14 @@ void swb_tbe_enc_fx( } ELSE IF( EQ_32( st_fx->extl_brate, SWB_TBE_1k10 ) || EQ_32( st_fx->extl_brate, SWB_TBE_1k75 ) ) { #ifdef NONBE_FIX_2493_CHECK_EXTRACT_L_swb_tbe_enc_fx GainFrame_fx = L_shl( Mpy_32_32( GainFrame_fx, L_shl( L_tmp, 16 ) ), 2 ); #else #ifdef FIX_2493_CHECK_EXTRACT_L GainFrame_fx = Mpy_32_16_1( GainFrame_fx, extract_l2( L_shl( L_tmp, 2 ) ) ); #else GainFrame_fx = Mpy_32_16_1( GainFrame_fx, extract_l( L_shl( L_tmp, 2 ) ) ); #endif #endif } ELSE Loading Loading
lib_com/gs_noisefill_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -571,12 +571,16 @@ 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_CHECK_EXTRACT_L_envelop_modify_fx tmp = Mpy_32_16_1( L_shr( L_tmp, add( 4, sub( Q_exc, exp1 ) ) ), weight_fx ); /*Q12 */ #else #ifdef FIX_2493_CHECK_EXTRACT_L 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/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,8 @@ #define NONBE_FIX_2493_EXTRACT_L_acelp_core_dec_fx /* FhG: Fix extract_l overflow inside acelp_core_dec_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_E_LPC_a_isp_conversion /* FhG: Fix extract_l overflow inside E_LPC_a_isp_conversion() (EVS) */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_acelp_fast_fx /* FhG: Fix extract_l overflow inside acelp_fast_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_envelop_modify_fx /* FhG: Fix extract_l overflow inside envelop_modify_fx() */ #define NONBE_FIX_2493_CHECK_EXTRACT_L_swb_tbe_enc_fx /* FhG: Fix extract_l overflow inside swb_tbe_enc_fx() */ #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
lib_enc/swb_tbe_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -3027,10 +3027,14 @@ void swb_tbe_enc_fx( } ELSE IF( EQ_32( st_fx->extl_brate, SWB_TBE_1k10 ) || EQ_32( st_fx->extl_brate, SWB_TBE_1k75 ) ) { #ifdef NONBE_FIX_2493_CHECK_EXTRACT_L_swb_tbe_enc_fx GainFrame_fx = L_shl( Mpy_32_32( GainFrame_fx, L_shl( L_tmp, 16 ) ), 2 ); #else #ifdef FIX_2493_CHECK_EXTRACT_L GainFrame_fx = Mpy_32_16_1( GainFrame_fx, extract_l2( L_shl( L_tmp, 2 ) ) ); #else GainFrame_fx = Mpy_32_16_1( GainFrame_fx, extract_l( L_shl( L_tmp, 2 ) ) ); #endif #endif } ELSE Loading