From 22d7dc7e4481546bf51f88ac2ba41e46d141f229 Mon Sep 17 00:00:00 2001 From: Simon Plain Date: Thu, 21 Sep 2023 09:46:40 +0200 Subject: [PATCH] Compensate loudness --- lib_com/options.h | 1 + lib_dec/ivas_mc_paramupmix_dec.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index dadd57e9bd..3de0e971c7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -176,6 +176,7 @@ #define NONBE_FIX_770_PLANAR_SBA_JBM /* FhG : Issue #770: Crash in planar FOA decoding with JBM caused by uninitialized value */ #define NONBE_FIX_760_COHERENCE_MASA /* Nokia: Issue 760: fixes decoder crash for some cases when all energy ratios are 1 */ #define NONBE_FIX_752_OSBA_MISCONFIG_MCT /* FhG: issue 752: misconfiguration of MCT causes crashes for coding with sampling rate under 48kHz at 256kbps*/ +#define NONBE_FIX_787_PARAM_UPMIX_LEVEL /* Dlb: issue 787: fix level of Mono/Stereo for ParamUpmix mode */ /* ##################### End NON-BE switches ############################# */ diff --git a/lib_dec/ivas_mc_paramupmix_dec.c b/lib_dec/ivas_mc_paramupmix_dec.c index ecccd9b6e1..44848e1ab2 100644 --- a/lib_dec/ivas_mc_paramupmix_dec.c +++ b/lib_dec/ivas_mc_paramupmix_dec.c @@ -216,6 +216,13 @@ void ivas_mc_paramupmix_dec( if ( ( output_config == AUDIO_CONFIG_STEREO ) || ( output_config == AUDIO_CONFIG_MONO ) ) { first_empty_channel = 8; /* Don't upmix */ +#ifdef NONBE_FIX_787_PARAM_UPMIX_LEVEL + /* Compensate loudness for not doing full upmix */ + for ( i = 4; i < 8; i++ ) + { + v_multc( output_f[i], 2.0f, output_f[i], L_FRAME48k ); + } +#endif } else { -- GitLab