diff --git a/lib_com/options.h b/lib_com/options.h index f064e71ac2c105c472a4343dd3f472a6a96f1350..0ea5510b4ff81f5d1b2eaa4d9755d0141e0fc570 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -208,6 +208,7 @@ #define NONBE_FIX_1174_MCMASA_LBR_LOOP_ERROR /* Nokia: Fix issue 1174 by removing the unnecessary inner loop causing problems. */ #define NONBE_FIX_1052_SBA_EXT_FIX /* VA: SBA external output support fix - do not overwrite "output_config" parameter */ #define FIX_1113_CLDFB_REND_IN_ISAR /* issue 1113: fix the use of CLDFB renderer in split-rendering at the external renderer */ +#define NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING /* VA: issue 1110: fix encoder crash in the stereo DTX bitrate switching condition */ #define NONBE_1894_OSBA_SCALING /* FhG: port OSBA scaling MRs (298,355,360) jointly */ #define NONBE_1360_LFE_DELAY /* Dlb: LFE delay alignment when rendering in CLDFB domain*/ diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c index c0d7c02a36c84ea82dd074f7545a6beeb0e0d0c8..3d44edac647c52c0151ba89d224d8e0e86e18e0c 100644 --- a/lib_dec/ivas_stereo_cng_dec.c +++ b/lib_dec/ivas_stereo_cng_dec.c @@ -923,6 +923,10 @@ void stereo_cna_update_params( } else { +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + hFdCngDec->first_cna_noise_updated = 0; +#endif + return; } diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 89630fcfa11d1925d2522c3b613897de4c249a7f..087c54252b119dd1e1701e676683618b4533473d 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1551,6 +1551,11 @@ void stereo_switching_dec( mvr2r( sts[0]->old_exc, sts[1]->old_exc, L_EXC_MEM_DEC ); mvr2r( sts[0]->lsf_old, sts[1]->lsf_old, M ); mvr2r( sts[0]->lsp_old, sts[1]->lsp_old, M ); + +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + sts[1]->last_core_brate = sts[0]->last_core_brate; +#endif + if ( hCPE->element_mode == IVAS_CPE_MDCT ) { sts[1]->last_core = sts[0]->last_core; diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 4fe1660ae094a2c0034b58fe6d615f05d6f16990..cc1f0b643516a019948ff3f94c02b17feb521e0f 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -801,6 +801,10 @@ void stereo_switching_enc( mvr2r( sts[0]->lsf_old1, sts[1]->lsf_old1, M ); mvr2r( sts[0]->lsp_old1, sts[1]->lsp_old1, M ); +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + sts[1]->last_core_brate = sts[0]->last_core_brate; +#endif + sts[1]->GSC_noisy_speech = 0; if ( hCPE->element_mode == IVAS_CPE_MDCT ) {