diff --git a/lib_com/options.h b/lib_com/options.h index d3e2a30295c9e5d2ee39b93d1f7541b07961eb4b..14043a6bd33403a74285ec938f81c81cc9f33e1d 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -109,6 +109,7 @@ #define FIX_2588_MISSING_CONDITIONS /* VA: Proposed fix to 2588, addition of a condition in lsf_dec */ #define FIX_BASOP_2442_MASA2TC_TO_MONO_AND_AMBI /* Nokia: BASOP issue 2442: Increase accuracy of computations and add additional gain clamp for low energy decorrelated signal rendering. */ #define FIX_FMSW_DEC_EXT /* float issue 1566: fix EXT output in format switching */ +#define FIX_BASOP_2612_RESET_DECIM_MEM /* FhG: BASOP #2612: reset (zero) the 16k resampler memory of the secondary channel on DFT->TD stereo switch (otherwise -> fx overshoot) */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c index 84f2c721367ae809d6f8f1eddea2b5823b544795..a56085d0fdbe0d9ae60f2a8a7a071defca095c8c 100644 --- a/lib_enc/ivas_stereo_switching_enc_fx.c +++ b/lib_enc/ivas_stereo_switching_enc_fx.c @@ -853,6 +853,9 @@ void stereo_switching_enc_fx( /* no secondary channel in the previous frame -> memory resets */ set16_fx( sts[1]->old_inp_12k8_fx, 0, L_INP_MEM ); +#ifdef FIX_BASOP_2612_RESET_DECIM_MEM + set16_fx( sts[1]->mem_decim16k_fx, 0, 2 * L_FILT_MAX ); +#endif set16_fx( sts[1]->mem_decim_fx, 0, 2 * L_FILT_MAX ); sts[1]->q_mem_decim_fx = Q15; move16();