Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ #define FIX_1439_SPEEDUP_stereo_icBWE_dec_fx /*FhG: reduces WMOPS - bit-exact*/ // | 2.4 WMOPS #define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx /*FhG: reduces WMOPS - bit-exact*/ // | #define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_upsampledsig /*FhG: reduces WMOPS - bit-exact*/ // | #define FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic /*FhG: reduces maintenance complexity */ #define FIX_1439_SPEEDUP_synthesise_fb_high_band_fx // | 0.4 WMOPS - BE? Loading lib_com/swb_tbe_com_fx.c +13 −0 Original line number Diff line number Diff line Loading @@ -6703,14 +6703,22 @@ void elliptic_bpf_48k_generic_fx( ) { Word16 i, j; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic_ Word16 memory_fx0[4][4], memory_fx[4], Q_temp, Q_temp2; #else Word16 memory_fx0[4][4], memory_fx[4][4], Q_temp, Q_temp2; #endif Word32 L_tmp[L_FRAME48k], L_tmp2[L_FRAME48k], L_output[L_FRAME48k], L_tmpX, memory2_fx[4][4], L_tmpMax; Word32 memory2_fx_2[4], memory2_fx_3[4]; FOR( i = 0; i < 4; i++ ) { memory_fx0[0][i] = extract_l( memory_fx2[0][i] ); #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic_ memory_fx[i] = shl_sat( memory_fx0[0][i], sub( *Q_input_fx, memory_fx_Q[0] ) ); #else memory_fx[0][i] = shl_sat( memory_fx0[0][i], sub( *Q_input_fx, memory_fx_Q[0] ) ); #endif memory2_fx[1][i] = L_shl_sat( memory_fx2[1][i], sub( add( *Q_input_fx, 11 ), memory_fx_Q[1] ) ); memory2_fx[2][i] = L_shl_sat( memory_fx2[2][i], sub( add( *Q_input_fx, 6 ), memory_fx_Q[2] ) ); memory2_fx[3][i] = L_shl_sat( memory_fx2[3][i], sub( add( *Q_input_fx, 1 ), memory_fx_Q[3] ) ); Loading Loading @@ -7070,7 +7078,12 @@ void synthesise_fb_high_band_fx( Word16 Qout ) { Word16 i, j; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 excitation_in_interp3_buffer[L_FRAME48k + 4]; Word16 *excitation_in_interp3 = &excitation_in_interp3_buffer[0] + 4; #else Word16 excitation_in_interp3[L_FRAME48k]; #endif Word16 tmp[L_FRAME48k]; Word32 temp1; Word32 ratio2; Loading lib_enc/swb_tbe_enc_fx.c +11 −1 Original line number Diff line number Diff line Loading @@ -7299,13 +7299,18 @@ void fb_tbe_enc_fx( Word16 ratio; Word16 tmp_vec[L_FRAME48k]; Word16 idxGain; Word16 input_fhb[L_FRAME48k]; Word16 Sample_Delay_HP; Word32 fb_exc_energy, temp2; Word32 L_tmp; Word16 tmp, tmp1, tmp2, exp, exp2, exp_norm; Word16 s_max_value, exp_temp, i; TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 input_fhb_buffer[L_FRAME48k + 4]; Word16 *input_fhb = &input_fhb_buffer[0] + 4; #else Word16 input_fhb[L_FRAME48k]; #endif #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; move16(); Loading Loading @@ -7422,7 +7427,12 @@ void fb_tbe_enc_ivas_fx( Word16 ratio; Word16 tmp_vec[L_FRAME48k]; Word16 idxGain; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 input_fhb_new_buffer[L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) + 4]; Word16 *input_fhb_new = &input_fhb_new_buffer[0] + 4; #else Word16 input_fhb_new[L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS )]; #endif Word16 input_fhb[L_FRAME48k]; Word16 Sample_Delay_HP; Word64 fb_exc_energy; Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ #define FIX_1439_SPEEDUP_stereo_icBWE_dec_fx /*FhG: reduces WMOPS - bit-exact*/ // | 2.4 WMOPS #define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx /*FhG: reduces WMOPS - bit-exact*/ // | #define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_upsampledsig /*FhG: reduces WMOPS - bit-exact*/ // | #define FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic /*FhG: reduces maintenance complexity */ #define FIX_1439_SPEEDUP_synthesise_fb_high_band_fx // | 0.4 WMOPS - BE? Loading
lib_com/swb_tbe_com_fx.c +13 −0 Original line number Diff line number Diff line Loading @@ -6703,14 +6703,22 @@ void elliptic_bpf_48k_generic_fx( ) { Word16 i, j; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic_ Word16 memory_fx0[4][4], memory_fx[4], Q_temp, Q_temp2; #else Word16 memory_fx0[4][4], memory_fx[4][4], Q_temp, Q_temp2; #endif Word32 L_tmp[L_FRAME48k], L_tmp2[L_FRAME48k], L_output[L_FRAME48k], L_tmpX, memory2_fx[4][4], L_tmpMax; Word32 memory2_fx_2[4], memory2_fx_3[4]; FOR( i = 0; i < 4; i++ ) { memory_fx0[0][i] = extract_l( memory_fx2[0][i] ); #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic_ memory_fx[i] = shl_sat( memory_fx0[0][i], sub( *Q_input_fx, memory_fx_Q[0] ) ); #else memory_fx[0][i] = shl_sat( memory_fx0[0][i], sub( *Q_input_fx, memory_fx_Q[0] ) ); #endif memory2_fx[1][i] = L_shl_sat( memory_fx2[1][i], sub( add( *Q_input_fx, 11 ), memory_fx_Q[1] ) ); memory2_fx[2][i] = L_shl_sat( memory_fx2[2][i], sub( add( *Q_input_fx, 6 ), memory_fx_Q[2] ) ); memory2_fx[3][i] = L_shl_sat( memory_fx2[3][i], sub( add( *Q_input_fx, 1 ), memory_fx_Q[3] ) ); Loading Loading @@ -7070,7 +7078,12 @@ void synthesise_fb_high_band_fx( Word16 Qout ) { Word16 i, j; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 excitation_in_interp3_buffer[L_FRAME48k + 4]; Word16 *excitation_in_interp3 = &excitation_in_interp3_buffer[0] + 4; #else Word16 excitation_in_interp3[L_FRAME48k]; #endif Word16 tmp[L_FRAME48k]; Word32 temp1; Word32 ratio2; Loading
lib_enc/swb_tbe_enc_fx.c +11 −1 Original line number Diff line number Diff line Loading @@ -7299,13 +7299,18 @@ void fb_tbe_enc_fx( Word16 ratio; Word16 tmp_vec[L_FRAME48k]; Word16 idxGain; Word16 input_fhb[L_FRAME48k]; Word16 Sample_Delay_HP; Word32 fb_exc_energy, temp2; Word32 L_tmp; Word16 tmp, tmp1, tmp2, exp, exp2, exp_norm; Word16 s_max_value, exp_temp, i; TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 input_fhb_buffer[L_FRAME48k + 4]; Word16 *input_fhb = &input_fhb_buffer[0] + 4; #else Word16 input_fhb[L_FRAME48k]; #endif #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; move16(); Loading Loading @@ -7422,7 +7427,12 @@ void fb_tbe_enc_ivas_fx( Word16 ratio; Word16 tmp_vec[L_FRAME48k]; Word16 idxGain; #ifdef FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic Word16 input_fhb_new_buffer[L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS ) + 4]; Word16 *input_fhb_new = &input_fhb_new_buffer[0] + 4; #else Word16 input_fhb_new[L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS )]; #endif Word16 input_fhb[L_FRAME48k]; Word16 Sample_Delay_HP; Word64 fb_exc_energy; Loading