From a6d1f0b270cfd2bb1bd1b6cc3e4a9025cadabf59 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Fri, 30 Aug 2024 17:03:55 +0530 Subject: [PATCH 1/2] Fix for 3GPP issue 863 crash [x] Corrected Q factor in fec_ecu_pitch_ivas_fx --- lib_dec/FEC_HQ_phase_ecu_fx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c index 8070f5d24..2e25a4387 100644 --- a/lib_dec/FEC_HQ_phase_ecu_fx.c +++ b/lib_dec/FEC_HQ_phase_ecu_fx.c @@ -3718,8 +3718,8 @@ static void fec_ecu_pitch_ivas_fx( accCisqrt = Isqrt( accC ); /* Q31 - 3 + tmpQLP*/ - Ryytmp = L_shl( Mult_32_32( accA, accCisqrt ), Q15 ); /*Q 6 -2*tmpQLP + Q31 - 3 + tmpQLP -16 -3 +tmpQLP = Q15*/ - Ryy = extract_h( L_shl( Mult_32_32( Ryytmp, accBisqrt ), 16 ) ); /*Q15 + Q31 - 3 + tmpQLP -15 + 3- tmpQLP = Q31*/ + Ryytmp = L_shl( Mult_32_32( accA, accCisqrt ), sub( Q12, tmpQLP ) ); /*Q 6 -2*tmpQLP + Q31 - 3 + tmpQLP -16 -3 +tmpQLP = Q15*/ + Ryy = extract_h( L_shl( Mult_32_32( Ryytmp, accBisqrt ), sub( Q19, tmpQLP ) ) ); /*Q15 + Q31 - 3 + tmpQLP -15 + 3- tmpQLP = Q31*/ IF( GT_16( Ryy, *min_corr_fx ) ) { -- GitLab From 65596be00c7df95cfa189b5fd05b265e3e0a1690 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Fri, 30 Aug 2024 19:31:27 +0530 Subject: [PATCH 2/2] Changes aligned as per changes in EVS code --- lib_dec/FEC_HQ_phase_ecu_fx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c index 2e25a4387..9bd552452 100644 --- a/lib_dec/FEC_HQ_phase_ecu_fx.c +++ b/lib_dec/FEC_HQ_phase_ecu_fx.c @@ -3718,8 +3718,8 @@ static void fec_ecu_pitch_ivas_fx( accCisqrt = Isqrt( accC ); /* Q31 - 3 + tmpQLP*/ - Ryytmp = L_shl( Mult_32_32( accA, accCisqrt ), sub( Q12, tmpQLP ) ); /*Q 6 -2*tmpQLP + Q31 - 3 + tmpQLP -16 -3 +tmpQLP = Q15*/ - Ryy = extract_h( L_shl( Mult_32_32( Ryytmp, accBisqrt ), sub( Q19, tmpQLP ) ) ); /*Q15 + Q31 - 3 + tmpQLP -15 + 3- tmpQLP = Q31*/ + Ryytmp = L_shl_sat( Mult_32_32( accA, accCisqrt ), Q15 ); /*Q 6 -2*tmpQLP + Q31 - 3 + tmpQLP -16 -3 +tmpQLP = Q15*/ + Ryy = extract_h( L_shl_sat( Mult_32_32( Ryytmp, accBisqrt ), 16 ) ); /*Q15 + Q31 - 3 + tmpQLP -15 + 3- tmpQLP = Q31*/ IF( GT_16( Ryy, *min_corr_fx ) ) { -- GitLab