Commit 7e04acdc authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch '1439-complexity-overhead-stereo-to-stereo-32kbps-fb-float-vs-basop-nonBE' into 'main'

Resolve "Complexity Overhead Stereo to Stereo - 32kbps FB FLOAT vs BASOP" nonBE changes [allow regression]

Closes #1439

See merge request !1390
parents 47bf68cc cc553468
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -90,12 +90,12 @@
#define FIX_1439_SPEEDUP_stereo_icBWE_dec_fx                    /*FhG: reduces WMOPS - bit-exact*/
#define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx                    /*FhG: reduces WMOPS - bit-exact*/
#define FIX_1439_SPEEDUP_synthesise_fb_high_band_fx             /*FhG: reduces WMOPS - bit-exact*/
#define FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic              /*FhG: reduces maintenance complexity & reduces WMOPS & prepares STAGE2 patch*/
#define FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2       /*FhG: reduces WMOPS*/
#define FIX_1481_HARDCODE_DIV                          /* FhG: hardcode division results in stereo_dmx_evs_init_encoder_fx() */
#define FIX_1486_IND_SHB_RES                   /* VA: Fix for issue 1486: align the usage of IND_SHB_RES_GS indices with float code */

#define TEST_HR


#define REMOVE_EVS_DUPLICATES                   /* remove core-coder duplicated functions, ACELP low-band decoder */

#endif
+21 −1
Original line number Diff line number Diff line
@@ -3264,6 +3264,20 @@ void interp_code_4over2_fx(
void wb_tbe_extras_reset_synth_fx( Word16 state_lsyn_filt_shb[], Word16 state_lsyn_filt_dwn_shb[], Word16 state_32and48k_WB_upsample[], Word16 state_resamp_HB[] );
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic
void elliptic_bpf_48k_generic_fx(
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2
    const int16_t element_mode,
#endif
    Word16 IsUpsampled3,
    Word16 input_fx[], /* i  : input signal                             Q_input_fx*/
    Word16 *Q_input_fx,
    Word16 output_fx[],    /* o  : output signal                               */
    Word32 memory_fx[][4], /* i/o: 4 arrays of 4 for memory                   memory_fx_Q */
    Word16 memory_fx_Q[],
    const Word16 full_band_bpf[][5] /* i  : filter coefficients b0,b1,b2,a0,a1,a2  Q13  */
);
#else
void elliptic_bpf_48k_generic_fx(
    const Word16 input_fx[], /* i  : i   signal                              Q_input_fx  */
    Word16 *Q_input_fx,
@@ -3272,6 +3286,7 @@ void elliptic_bpf_48k_generic_fx(
    Word16 memory_fx_Q[],
    const Word16 full_band_bpf[][5] /* i  : filter coefficients b0,b1,b2,a0,a1,a2  Q13  */
);
#endif
void synthesise_fb_high_band_fx(
    const Word16 excitation_in[], /* i  : full band excitation                                */
@@ -3284,7 +3299,12 @@ void synthesise_fb_high_band_fx(
    Word16 *prev_fbbwe_ratio,   /* o  : previous frame energy for FEC                       */
    Word32 bpf_memory[][4],     /* i/o: memory for elliptic bpf 48k                         */
    Word16 bpf_memory_Q[],
    Word16 Qout );
    Word16 Qout
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2
    ,
    int16_t element_mode
#endif
);
#ifndef REMOVE_EVS_DUPLICATES
void prep_tbe_exc_fx(
+281 −1

File changed.

Preview size limit exceeded, changes collapsed.

+12 −2
Original line number Diff line number Diff line
@@ -4644,7 +4644,12 @@ void fb_tbe_dec_fx(
    fb_exc_energy = sum2_fx_mod( fb_exc, L_FRAME16k );

    /* FB TBE synthesis */
    synthesise_fb_high_band_fx( fb_exc, Q_fb_exc, fb_synth, fb_exc_energy, ratio, st->L_frame, st->bfi, &( hBWE_TD->prev_fbbwe_ratio_fx ), hBWE_TD->fbbwe_hpf_mem_fx, hBWE_TD->fbbwe_hpf_mem_fx_Q, hb_synth_exp );
    synthesise_fb_high_band_fx( fb_exc, Q_fb_exc, fb_synth, fb_exc_energy, ratio, st->L_frame, st->bfi, &( hBWE_TD->prev_fbbwe_ratio_fx ), hBWE_TD->fbbwe_hpf_mem_fx, hBWE_TD->fbbwe_hpf_mem_fx_Q, hb_synth_exp
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2
                                ,
                                st->element_mode
#endif /*FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2*/
    );

    /* add the fb_synth component to the hb_synth component */
    /*  v_add_fx( hb_synth, fb_synth, hb_synth, L_FRAME48k );*/
@@ -4713,7 +4718,12 @@ void fb_tbe_dec_ivas_fx(
    fb_exc_energy = sum2_fx_mod( fb_exc, L_FRAME16k );

    /* FB TBE synthesis */
    synthesise_fb_high_band_fx( fb_exc, Q_fb_exc, fb_synth, fb_exc_energy, ratio, st->L_frame, st->bfi, &( hBWE_TD->prev_fbbwe_ratio_fx ), hBWE_TD->fbbwe_hpf_mem_fx, hBWE_TD->fbbwe_hpf_mem_fx_Q, hb_synth_exp );
    synthesise_fb_high_band_fx( fb_exc, Q_fb_exc, fb_synth, fb_exc_energy, ratio, st->L_frame, st->bfi, &( hBWE_TD->prev_fbbwe_ratio_fx ), hBWE_TD->fbbwe_hpf_mem_fx, hBWE_TD->fbbwe_hpf_mem_fx_Q, hb_synth_exp
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2
                                ,
                                st->element_mode
#endif /*FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2*/
    );

    test();
    IF( GE_16( st->element_mode, IVAS_CPE_DFT ) && ( st->idchan == 0 ) )
+37 −0

File changed.

Preview size limit exceeded, changes collapsed.