From 23df228fd356a7ff4ec0a43aa5a7a7a9f61c5730 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 1 Aug 2024 12:59:25 +0200 Subject: [PATCH] fix for issue 828 ported from flaot repository --- lib_com/options.h | 1 + lib_enc/ivas_stereo_dft_enc_itd.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 4320a3434..4d860e371 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -76,6 +76,7 @@ #define NON_BE_FIX_807_MASA_DTX_BRSW /* Nokia: adds fix to check existence of DTX encoder for secondary channel in TD mode */ #define NON_BE_FIX_BASOP_819_THRESHOLD_MASA2TOTAL /* Nokia: add fix for precision limitation in comparison with masa2total energy ratio threshold */ +#define FIX_828_PORT_1152_FROM_FLT_REPO /* FhG: fix for issue 828 - fix uninitialized value used in BASOP */ /* #################### End FIXES switches ############################ */ #define BASOP_NOGLOB /* Disable global symbols in BASOPs, Overflow/Carry in BASOPs disabled, additional BASOPs in case of Overflow */ diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index de66c780f..34543cce0 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -285,7 +285,13 @@ static int16_t stereo_dft_enc_itd_vad( float Spd[STEREO_DFT_N_16k_ENC / 2 + 1]; +#ifdef FIX_828_PORT_1152_FROM_FLT_REPO + /* Spd is later only used starting at itd_vad_band_tbl[0], so only compute values starting from there */ + /* -> this avoids uninitialized values in Spd_L and Spd_R at index 0 to be used */ + for ( i = itd_vad_band_tbl[0]; i <= STEREO_DFT_N_16k_ENC / 2; i++ ) +#else for ( i = 0; i <= STEREO_DFT_N_16k_ENC / 2; i++ ) +#endif { Spd[i] = 0.5f * ( Spd_L[i] + Spd_R[i] ); } -- GitLab