From 99d1ecb97af37c8b1ed82a3f68461cf356dd50b5 Mon Sep 17 00:00:00 2001 From: Tommy Vaillancourt Date: Fri, 9 Aug 2024 10:28:53 -0400 Subject: [PATCH 1/3] proposed fix to 844 --- lib_com/options.h | 1 + lib_dec/ivas_core_dec.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index e87c8d257..3ba758e17 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -159,6 +159,7 @@ #define FIX_833_CORRECTION_to_826 /* VA : fix indexing error introduced in 826 */ #endif #define NONE_BE_FIX_816_LFE_PLC_FLOAT /* DLB: issue 816: reduce required precision to float for LFE-PLC*/ +#define FIX_844_Q_SYN_INIT /* VA : proposed fix to 844, initializing q_old_synth when switching to MDCT*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 17a1fcce2..11c25b256 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -748,6 +748,7 @@ ivas_error ivas_core_dec_fx( move16(); #endif st->prev_Q_syn = st->Q_syn; + move16(); Scale_sig( st->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( st->Q_syn, st->hHQ_core->Q_old_wtda_LB ) ); @@ -756,7 +757,11 @@ ivas_error ivas_core_dec_fx( IF( st->hTcxDec ) { st->hTcxDec->conNoiseLevelIndex = st->hTcxDec->NoiseLevelIndex_bfi; + move16(); +#ifdef FIX_844_Q_SYN_INIT + st->hTcxDec->q_old_synth = st->Q_syn; move16(); +#endif } IF( st->hTcxDec ) { -- GitLab From 1b1cb06814dda524041b43697a275419935864aa Mon Sep 17 00:00:00 2001 From: Tommy Vaillancourt Date: Fri, 9 Aug 2024 10:32:00 -0400 Subject: [PATCH 2/3] fix clang-format --- lib_dec/ivas_core_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 11c25b256..021877f56 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -757,7 +757,7 @@ ivas_error ivas_core_dec_fx( IF( st->hTcxDec ) { st->hTcxDec->conNoiseLevelIndex = st->hTcxDec->NoiseLevelIndex_bfi; - move16(); + move16(); #ifdef FIX_844_Q_SYN_INIT st->hTcxDec->q_old_synth = st->Q_syn; move16(); -- GitLab From dbad7a2eaa224f863862603285cde6f9f06d4708 Mon Sep 17 00:00:00 2001 From: Tommy Vaillancourt Date: Fri, 9 Aug 2024 11:24:16 -0400 Subject: [PATCH 3/3] change localisation of the fix --- lib_dec/ivas_core_dec.c | 4 ---- lib_dec/ivas_stereo_switching_dec.c | 5 ++++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 021877f56..603959396 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -758,10 +758,6 @@ ivas_error ivas_core_dec_fx( { st->hTcxDec->conNoiseLevelIndex = st->hTcxDec->NoiseLevelIndex_bfi; move16(); -#ifdef FIX_844_Q_SYN_INIT - st->hTcxDec->q_old_synth = st->Q_syn; - move16(); -#endif } IF( st->hTcxDec ) { diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 82b3b0a66..fe7924ab5 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1693,7 +1693,10 @@ ivas_error stereo_memory_dec_fx( Copy32( tmpF_buff, st->hTcxDec->old_syn_Overl_32, L_FRAME16k / 2 ); Copy_Scale_sig32_16( st->hTcxDec->old_syn_Overl_32, st->hTcxDec->old_syn_Overl, L_FRAME16k / 2, add( st->Q_syn, 5 ) ); //(st->Qsyn - (11 - 16)) } - +#ifdef FIX_844_Q_SYN_INIT + st->hTcxDec->q_old_synth = st->Q_syn; + move16(); +#endif set16_fx( st->hTcxDec->FBTCXdelayBuf, 0, 111 ); set32_fx( st->hTcxDec->FBTCXdelayBuf_32, 0, 111 ); st->hTcxDec->old_synthFB_fx = st->hTcxDec->synth_history_fx + NS2SA_FX2( st->output_Fs, PH_ECU_MEM_NS ); -- GitLab