From 030ac1b88becc534c6ebe32572780ac286840219 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Wed, 13 Nov 2024 13:34:19 +0530 Subject: [PATCH] Fix for 3GPP issue 1006: Very high MLD for 7_1_4, 160kbps, -26LKFS input, with deterministic packet loss pattern link #1006 --- lib_dec/ivas_lfe_plc_fx.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c index efd158caf..52b94b46f 100644 --- a/lib_dec/ivas_lfe_plc_fx.c +++ b/lib_dec/ivas_lfe_plc_fx.c @@ -1201,7 +1201,7 @@ static void recover_samples_fx( Word16 d_r_q_fx[LFE_PLC_LPCORD + 1], d_a_q_fx[LFE_PLC_LPCORD + 1]; Word32 d_r_fx[LFE_PLC_LPCORD + 1], zeroes_fx[LFE_PLC_RECLEN]; Word32 delta_fx, fac_fx, att_fx, temp; - Word16 delta_q_fx, fac_q_fx, att_q_fx, temp_q, exp1, exp2; + Word16 delta_q_fx, fac_q_fx, temp_q, exp1, exp2; Copy32( outbuf_fx, d_outbuf_fx, LFE_PLC_BUFLEN ); @@ -1229,17 +1229,14 @@ static void recover_samples_fx( fac_q_fx = Q29; move16(); } - att_fx = ONE_IN_Q30; + att_fx = ONE_IN_Q31; move32(); - att_q_fx = Q30; - move16(); IF( GE_16( bfi_count, LFE_PLC_MUTE_THR ) ) { att_fx = LFE_PLC_BURST_ATT_Q31; move32(); fac_fx = Mpy_32_32( fac_fx, att_fx ); - fac_q_fx = sub( add( fac_q_fx, att_q_fx ), 31 ); } FOR( i = 1; i <= LFE_PLC_LPCORD; i++ ) @@ -1265,10 +1262,9 @@ static void recover_samples_fx( temp_q = Q30; move16(); } - exp1 = norm_l( att_fx ); exp2 = norm_l( temp ); - temp = Mpy_32_32( L_shl( att_fx, exp1 ), L_shl( temp, exp2 ) ); - temp_q = sub( add( add( att_q_fx, exp1 ), add( temp_q, exp2 ) ), 31 ); + temp = Mpy_32_32( att_fx, L_shl( temp, exp2 ) ); + temp_q = add( temp_q, exp2 ); exp1 = norm_l( fac_fx ); exp2 = norm_l( temp ); -- GitLab