diff --git a/lib_com/options.h b/lib_com/options.h index 64354c999c48f4ea907f89e0e860b0ce39de6e07..c0d07582cca1bb43820bf56e3abbd52c45bfad8e 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -96,6 +96,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_2627_PARAM_MC_ILD_REMAP_EXP /* FhG: BASOP #2627: accumulate 10^(ILD/10) using a dynamic exponent */ #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 ########################### */ diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c index 13befdb33cc1b8ddde94bcd4ea8447cf689dc325..c40807693e8a72fe9a9c21688fc0ae1d6c6ba995 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();