From fe1ff93d8c41d70bcde9caa791d79af31449c07a Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Mon, 9 Dec 2024 09:07:33 +0530 Subject: [PATCH] Fix for 3GPP issue 1058: BASOP asserts in Stereo fx encoder for +10dB selection test inputs [x] Fix for bitrates 13.2 - 64 kbps for encoding with file dm1aa1s05_48.10dB.wav link #1058 --- lib_enc/ivas_stereo_classifier.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index 621a63524..c2e4f350c 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -1192,6 +1192,7 @@ void xtalk_classifier_dft_fx( Word16 edge_0_1, wedge; Word32 ratio_m1_m2, m2_m2, d_itd2, itd1_flip; Word32 scr_min, scr_max; + Word64 W_tmp; hStereoClassif = hCPE->hStereoClassif; hItd = ( hCPE->hStereoDft != NULL ) ? hCPE->hStereoDft->hItd : hCPE->hStereoMdct->hItd; @@ -1271,8 +1272,8 @@ void xtalk_classifier_dft_fx( set32_fx( fvn, -ONE_IN_Q29, SSC_MAX_NFEA ); /* calcualte raw score based on LR */ - score = XTALK_INTERCEPT_DFT_Q27; - move32(); + W_tmp = XTALK_INTERCEPT_DFT_Q27; + move64(); FOR( i = 0; i < SIZE_XTALK_ISEL_DFT; i++ ) { ind = xtalk_isel_dft[i]; @@ -1287,16 +1288,16 @@ void xtalk_classifier_dft_fx( /* LR */ // score += fvn[i] * xtalk_coef_dft[i]; - score = L_add( score, L_shr( Mpy_32_32( fvn[i], xtalk_coef_dft_q30[i] ), 1 ) ); // Q27 + W_tmp = W_add( W_tmp, L_shr( Mpy_32_32( fvn[i], xtalk_coef_dft_q30[i] ), 1 ) ); // Q27 } /* normalize score to -1:+1 */ - IF( GT_32( score, XTALK_SCORE_THR_DFT_Q27 ) ) + IF( GT_64( W_tmp, XTALK_SCORE_THR_DFT_Q27 ) ) { score = MAX_32; // Q31 move32(); } - ELSE IF( LT_32( score, -XTALK_SCORE_THR_DFT_Q27 ) ) + ELSE IF( LT_64( W_tmp, -XTALK_SCORE_THR_DFT_Q27 ) ) { score = MIN_32; // Q31 move32(); @@ -1304,7 +1305,7 @@ void xtalk_classifier_dft_fx( ELSE { // score /= XTALK_SCORE_THR_DFT; - score = L_shl_sat( score, 2 ); // Q27->Q31/XTALK_SCORE_THR_DFT + score = L_shl_sat( W_extract_l( W_tmp ), 2 ); // Q27->Q31/XTALK_SCORE_THR_DFT } /* raw score */ -- GitLab