From 9cc806663772658ee6631efa9f906d5226c9b7f6 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky Date: Tue, 16 Jun 2026 12:14:40 +0200 Subject: [PATCH 1/3] fix incorrect array index --- lib_com/options.h | 1 + lib_dec/ivas_spar_md_dec_fx.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index fca9b4b0f..f6d2e204d 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -102,6 +102,7 @@ #define FIX_FLOAT_1600_OMASA_WRONG_RENDER_PATH /* Nokia: float issue 1600: fix initialization condition of stereo type detection for OMASA */ #define FIX_BASOP_1765_MASA1TC_CNG_MISMATCH /* Nokia: BASOP issue 1765: Improve accuracy of FD CNG noise estimation */ #define FIX_BASOP_2627_PARAM_MC_ILD_REMAP_EXP /* FhG: BASOP #2627: accumulate 10^(ILD/10) using a dynamic exponent */ +#define FIX_BASOP_2639_INCORRECT_ARRAY_INDEX /* Dolby: BASOP #2639: incorrect array index in ivas_spar_unquant_dtx_indicies */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c index 13befdb33..4d4665789 100644 --- a/lib_dec/ivas_spar_md_dec_fx.c +++ b/lib_dec/ivas_spar_md_dec_fx.c @@ -2618,7 +2618,11 @@ static void ivas_spar_unquant_dtx_indicies( move32(); } +#ifdef FIX_BASOP_2639_INCORRECT_ARRAY_INDEX + FOR( i = 0; i < ( FOA_CHANNELS - ndm_per_band[( bw * b )] ); i++ ) +#else FOR( i = 0; i < ( FOA_CHANNELS - ndm_per_band[( bw - b )] ); i++ ) +#endif { q_lvl = dtx_pd_real_q_levels[( ndm_per_band[( bw * b )] - 1 )][i]; /*Q0*/ move16(); -- GitLab From 5f72708a7e305f56616b50c625113fd42b432fd1 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky Date: Tue, 16 Jun 2026 12:22:11 +0200 Subject: [PATCH 2/3] clang formato --- lib_dec/ivas_spar_md_dec_fx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c index 4d4665789..c40807693 100644 --- a/lib_dec/ivas_spar_md_dec_fx.c +++ b/lib_dec/ivas_spar_md_dec_fx.c @@ -2620,9 +2620,9 @@ static void ivas_spar_unquant_dtx_indicies( #ifdef FIX_BASOP_2639_INCORRECT_ARRAY_INDEX FOR( i = 0; i < ( FOA_CHANNELS - ndm_per_band[( bw * b )] ); i++ ) -#else +#else FOR( i = 0; i < ( FOA_CHANNELS - ndm_per_band[( bw - b )] ); i++ ) -#endif +#endif { q_lvl = dtx_pd_real_q_levels[( ndm_per_band[( bw * b )] - 1 )][i]; /*Q0*/ move16(); -- GitLab From d1a34060667d08a8c2c1d5218e083736c7d62348 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky Date: Thu, 18 Jun 2026 15:26:11 +0200 Subject: [PATCH 3/3] add macro --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9aae2b36a..c0d07582c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -95,8 +95,8 @@ #define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ #define FIX_FLOAT_1600_OMASA_WRONG_RENDER_PATH /* Nokia: float issue 1600: fix initialization condition of stereo type detection for OMASA */ #define FIX_BASOP_2627_PARAM_MC_ILD_REMAP_EXP /* FhG: BASOP #2627: accumulate 10^(ILD/10) using a dynamic exponent */ -#define FIX_BASOP_2639_INCORRECT_ARRAY_INDEX /* Dolby: BASOP #2639: incorrect array index in ivas_spar_unquant_dtx_indicies */ #define FIX_BASOP_2635_EFAP_ADD_VERTEX_ELE_ROUND /* FhG: BASOP #2635: round |elevation| with anint_fx before the 90deg subtraction in add_vertex_fx */ +#define FIX_BASOP_2639_INCORRECT_ARRAY_INDEX /* Dolby: BASOP #2639: incorrect array index in ivas_spar_unquant_dtx_indicies */ /* ##################### End NON-BE switches ########################### */ -- GitLab