diff --git a/lib_com/options.h b/lib_com/options.h index 9ce33d497451049e7dbee57598e3a596b0c93473..fdd446d31694e74a651790cdc85f28dd6ca2f519 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -105,6 +105,7 @@ #define FIX_BASOP_2560_STEREO_DFT_DEC_RESET /* FhG: BASOP issue 2560: align reset of hStereoDft->res_gains_ind_fx[][] between BASOP and float */ #define HARMONIZE_2539_cng_energy /* FhG: basop issue 2539: harmonize cng_energy with its ivas derivate */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ +#define FIX_BASOP_2573_RF_MODE_UPDATE /* FhG: BASOP issue 2573: remove duplicated update of rf_mode parameters from evs_enc_fx(); was already done in updt_enc_common_fx() */ /* #################### End BE switches ################################## */ diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c index c946be0d99a6f9cdf296b182d904a2a8e8d3c48c..c7f04a06dee3549ec7237162ac7c072cfbdc272a 100644 --- a/lib_enc/evs_enc_fx.c +++ b/lib_enc/evs_enc_fx.c @@ -76,12 +76,16 @@ ivas_error evs_enc_fx( Word16 pitch_orig[3]; /* original open-loop pitch values that might be altered in core_acelp_tcx20_switching_fx() within MODE2 */ #endif ivas_error error; +#ifndef FIX_BASOP_2573_RF_MODE_UPDATE SC_VBR_ENC_HANDLE hSC_VBR = st->hSC_VBR; +#endif TD_CNG_ENC_HANDLE hTdCngEnc = st->hTdCngEnc; LPD_state_HANDLE hLPDmem = st->hLPDmem; TD_BWE_ENC_HANDLE hBWE_TD = st->hBWE_TD; BSTR_ENC_HANDLE hBstr = st->hBstr; +#ifndef FIX_BASOP_2573_RF_MODE_UPDATE RF_ENC_HANDLE hRF = st->hRF; +#endif error = IVAS_ERR_OK; @@ -574,12 +578,14 @@ ivas_error evs_enc_fx( st->codec_mode = MODE1; move16(); } + if ( hTdCngEnc->lp_cng_mode2 ) { st->codec_mode = MODE2; move16(); } +#ifndef FIX_BASOP_2573_RF_MODE_UPDATE IF( EQ_16( st->rf_mode, 1 ) ) { IF( EQ_16( hRF->rf_frame_type, RF_NELP ) ) @@ -599,7 +605,7 @@ ivas_error evs_enc_fx( st->L_frame = L_FRAME; st->rf_mode = 1; } - +#endif #ifdef DEBUG_MODE_INFO dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" ); dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" );