diff --git a/lib_com/options.h b/lib_com/options.h index 58a848cb33f11d5638e7706a4d37bb9faaafef73..12b2cc0a6ad8b8dd85f1e7772db3b3be0925c484 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -109,6 +109,7 @@ #define FIX_1563_FIX_STEREO_SW /* VA: float issue 1563: fix clicks in stereo switching */ #define FIX_1562_DTX_CRASH_DECODER /* VA: float issue 1562: fix crash in stereo decoding in DTX and bitrate switching */ #define FIX_BASOP_2498_LOGIC_IN_ENC_DTX_DECISION_MTX /* Nokia: BASOP 2498: Fix the logic */ +#define FIX_BASOP_2497_MCMASA_LFE_WRONG_SF_INDEX /* Nokia: BASOP 2497: Fix wrong subframe index in McMASA LFE synth. */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c index f2a225de365080d75c07b2260cb0691022d492ae..1ee45f1c85fcfa82ad3f45e6de5d9a6bead3f6d8 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c @@ -3454,7 +3454,11 @@ void ivas_lfe_synth_with_filters_fx( slotSize = shr_r( output_frame, 4 ); // output_frame / CLDFB_NO_COL_MAX FOR( slot_index = 0; slot_index < CLDFB_NO_COL_MAX; slot_index++ ) { +#ifdef FIX_BASOP_2497_MCMASA_LFE_WRONG_SF_INDEX + subframe_index = shr( slot_index, 2 ); +#else subframe_index = shr( slot_index, 4 ); +#endif mrange[0] = i_mult( slot_index, slotSize ); move16();