diff --git a/lib_com/options.h b/lib_com/options.h index 93bf718c7e0fe2ff7240f0898afc88dcd83b25c6..a5a6a8cfb8f734aef92e375d3cafc964d6a18e4e 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -155,7 +155,8 @@ #define FIX_198_TDREND_INTERFACE /* Issue 198: Harmonize interface for TD renderer between decoder and external renderer */ #define DFT_STEREO_SPAR_MIXING -#ifdef DFT_STEREO_SPAR_MIXING +#ifdef DFT_STEREO_SPAR_MIXING +#define FIX_345_MSAN_ERROR /* FhG. Fix memory sanitizer error in PLC modes */ /*#define DFT_STEREO_SPAR_MIXING_DEBUG*/ /* more debugging output for DFT_STEREO_SPAR_MIXING_DEBUG */ #define DISABLE_RES_CHANNELS_MCT /* decode only W and residual for Y when outputting to stereo */ #endif diff --git a/lib_dec/ivas_sba_dirac_stereo_dec.c b/lib_dec/ivas_sba_dirac_stereo_dec.c old mode 100755 new mode 100644 index bbd612b7ec7d4a6c1b7ebec80d28f91601f56fad..f8f57ae53c5cdbbed24ba5706537028fb4e6b661 --- a/lib_dec/ivas_sba_dirac_stereo_dec.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec.c @@ -964,12 +964,16 @@ void ivas_sba_dirac_stereo_dec( mvr2r( tmp_buf, hSCE->prev_hb_synth, memOffset ); } - if ( ( hCPE->hCoreCoder[0]->core == ACELP_CORE || hCPE->hCoreCoder[0]->last_core == ACELP_CORE ) && !fd_cng_flag ) + if ( ( hCPE->hCoreCoder[0]->core == ACELP_CORE || hCPE->hCoreCoder[0]->last_core == ACELP_CORE ) && !fd_cng_flag +#if defined DFT_STEREO_SPAR_MIXING && defined FIX_345_MSAN_ERROR + && st_ivas->nchan_transport == 1 +#endif + ) { /* upmix ACELP BWE */ ivas_sba_dirac_stereo_compute_hb_gain( hStereoDft, hb_gain ); -#ifdef DFT_STEREO_SPAR_MIXING +#if defined DFT_STEREO_SPAR_MIXING && !defined FIX_345_MSAN_ERROR if ( st_ivas->nchan_transport == 1 ) #endif {