diff --git a/lib_com/options.h b/lib_com/options.h index 78b765d30e8b0ff1bf9d3f907471e0052f331916..b01e74a7a7a5316057188a57e68ff5be2bde8a2e 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -184,6 +184,8 @@ #define FIX_440_PARAM_ISM_DIR_NOISE /* FhG: Issue 440: Fix directional background noise becoming diffuse in ParamISM */ -/* ################## End DEVELOPMENT switches ######################### */ +#define FIX_447_PARAMBIN_MASA_REGU_FAC /* Nokia: Issue 447: Fix issue by adjusting regularization factor minimum value. */ + + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_rend/ivas_dirac_dec_binaural_functions.c b/lib_rend/ivas_dirac_dec_binaural_functions.c index 035036bad3c27cf7b11a05f7a65f53464a25ea57..0af9e47868fc878c6e8ce1903dd1c603873bf9f2 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions.c @@ -2936,6 +2936,12 @@ static if ( ivas_format == MASA_FORMAT ) { +#ifdef FIX_447_PARAMBIN_MASA_REGU_FAC + if ( ivas_total_brate >= IVAS_160k ) + { + reqularizationFactor = 0.4f; + } +#else if ( ivas_total_brate >= IVAS_256k ) { reqularizationFactor = 0.2f; @@ -2948,6 +2954,7 @@ static { reqularizationFactor = 0.4f; } +#endif else if ( ivas_total_brate == IVAS_128k ) { reqularizationFactor = 0.5f; @@ -2970,7 +2977,11 @@ static { if ( ivas_total_brate >= IVAS_96k ) { +#ifdef FIX_447_PARAMBIN_MASA_REGU_FAC + reqularizationFactor = 0.4f; +#else reqularizationFactor = 0.3f; +#endif } else if ( ivas_total_brate >= IVAS_80k ) {