From bae01e2c3e07949f153ea168af046f2ab3f6dfba Mon Sep 17 00:00:00 2001 From: rhb Date: Wed, 15 Feb 2023 11:45:32 +0100 Subject: [PATCH 1/2] fix Clang msan error for SBA-to-Stereo frame error cases --- lib_com/options.h | 3 ++- lib_dec/ivas_sba_dirac_stereo_dec.c | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 93bf718c7e..a5a6a8cfb8 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 index bbd612b7ec..c57f516fa0 100755 --- 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 { -- GitLab From 1bd8f423826da0b8385297d227c94c256072e1db Mon Sep 17 00:00:00 2001 From: rhb Date: Wed, 15 Feb 2023 12:24:49 +0100 Subject: [PATCH 2/2] Clang format --- lib_dec/ivas_sba_dirac_stereo_dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 lib_dec/ivas_sba_dirac_stereo_dec.c 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 c57f516fa0..f8f57ae53c --- a/lib_dec/ivas_sba_dirac_stereo_dec.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec.c @@ -966,9 +966,9 @@ void ivas_sba_dirac_stereo_dec( 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 + && st_ivas->nchan_transport == 1 #endif - ) + ) { /* upmix ACELP BWE */ ivas_sba_dirac_stereo_compute_hb_gain( hStereoDft, hb_gain ); -- GitLab