Commit ee0587a7 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

added FIX_1439_SIMPLIFY_elliptic_bpf_48k_generic version 1

parent 40ea7cb4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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?

+13 −0
Original line number Diff line number Diff line
@@ -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] ) );
@@ -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;
+11 −1
Original line number Diff line number Diff line
@@ -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();
@@ -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;