diff --git a/lib_com/options.h b/lib_com/options.h index 031b3b41ce442acb048dcdb038fe574275da316d..2165b7e81837e2f3a1e4f09e14d0e8ee55cb1fab 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -114,6 +114,7 @@ #define FIX_BASOP_2520_PARAMBIN_THRESHOLD_FIX /* Nokia: BASOP issue 2520: Fix wrong threshold in ParamBin */ #define FIX_BASOP_2510_UNNECESSARY_ASSERT /* Nokia: BASOP issue 2510: Fix by removing assert */ #define FIX_2515_TDREND_PORT_ERROR_SCALING /* Nokia: BASOP issue 2515: Fix port error by changing to correct scaling */ +#define FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO /* FhG: BASOP issue 2522: Fix copy and paste error for side_gain calculation in map_params_dirac_to_stereo() */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c index 2f7db14e8aa94cfccf0cccf64a2224a699974edf..1898078d482dd6b860f321dd921e3eb979ef67e0 100644 --- a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c @@ -645,7 +645,11 @@ static void map_params_dirac_to_stereo( move32(); IF( q_sqrt ) { +#ifdef FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO + side_gain[b + STEREO_DFT_BAND_MAX] = L_shl( side_gain[b + STEREO_DFT_BAND_MAX], q_sqrt ); /*Q31*/ +#else side_gain[b + STEREO_DFT_BAND_MAX] = L_shl( side_gain[b], q_sqrt ); /*Q31*/ +#endif q_sqrt = 0; move16(); }