diff --git a/lib_com/options.h b/lib_com/options.h index 17849c50a9cfbf5948d0b8c2911904f2ff108805..ba038886cb25820afb3b26b4606ea76d07c5c034 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -110,6 +110,7 @@ #define FIX_BASOP_2323_DIRAC_ENC_WRONG_INIT /* Nokia/FhG: basop issue 2323: Use correct init size */ #define FIX_BASOP_2324_MISSING_SET_TO_ZERO /* Nokia: basop issue 2324: Fix issue by setting the exponent to zero where it should be */ #define FIX_BASOP_2326_WRONG_SIG_LENGTH /* Nokia: basop issue 2326: Fix issue by using correct signal length in multiple places */ +#define FIX_BASOP_2327_WRONG_LOOP_END /* Nokia: basop inssue 2327: Correct loop end to solve MSAN error */ /* #################### End BE switches ################################## */ diff --git a/lib_rend/ivas_omasa_ana_fx.c b/lib_rend/ivas_omasa_ana_fx.c index 5b0d427932ba75157ca9545be9511eeb18e37e1b..edffafe45d63ebb773e261997bb2f09e81dce270 100644 --- a/lib_rend/ivas_omasa_ana_fx.c +++ b/lib_rend/ivas_omasa_ana_fx.c @@ -719,7 +719,11 @@ static void ivas_omasa_dmx_fx( } max_e = in_e[0]; move16(); +#ifdef FIX_BASOP_2327_WRONG_LOOP_END + FOR( l = 1; l < input_frame; l++ ) +#else FOR( l = 1; l < L_FRAME48k; l++ ) +#endif { IF( LT_16( max_e, in_e[l] ) ) { @@ -728,7 +732,11 @@ static void ivas_omasa_dmx_fx( } } +#ifdef FIX_BASOP_2327_WRONG_LOOP_END + FOR( l = 0; l < input_frame; l++ ) +#else FOR( l = 0; l < L_FRAME48k; l++ ) +#endif { data_out_f_fx[j][l] = L_shr( data_out_f_fx[j][l], sub( max_e, in_e[l] ) ); // exponent: max_e, Q: ( 15 - max_e ) move32();