From 7ed02ffd3f929b4d0d3f35e4a5d4a3b3bf00aafb Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Wed, 3 May 2023 11:09:06 +0200 Subject: [PATCH] fix issue 431: reset ParamMC to default state in case of PLC --- lib_com/options.h | 1 + lib_dec/ivas_mc_param_dec.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 5b1e9df092..8468268872 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -166,6 +166,7 @@ #define FIX_SP2A /* VA: Issue 412: Adjust threshold for the S_p2a feature in the tonal detector */ #define FIX_413_SBA_DTX /* Dlb: Fix for issue 413, SBA DTX CNG in 2TC mode*/ #define FIX_417_TD_DECORR_BRATE_SW /* VA: Issue 417: fix incorrect use of TD decorrelator in bitrate switching */ +#define FIX_431_PARAMMC_PLC_INTERPOLATOR /* FhG: Issue 431: fix missing interpolator reset for ParamMC PCL */ #define LBR_SBA /* Contribution 47: Master macro for low bitrate SBA (SPAR+DirAC) */ diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index a6637ed1f2..65748bdf95 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -1328,6 +1328,9 @@ void ivas_param_mc_dec_read_BS( /* for PLC, use the saved ILDs and ICCs from the past and set the transient flag and transient position to zero */ hMetadataPMC->bAttackPresent = 0; hMetadataPMC->attackIndex = 0; +#ifdef FIX_431_PARAMMC_PLC_INTERPOLATOR + param_mc_compute_interpolator( hMetadataPMC->bAttackPresent, hMetadataPMC->attackIndex, PARAM_MC_MAX_NSLOTS, hParamMC->h_output_synthesis_params.interpolator ); +#endif } pop_wmops(); -- GitLab