From 08d9a3e192508bcefb91c9e4a5e29e8dc4b10145 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Mon, 28 Oct 2024 17:47:12 +0530 Subject: [PATCH] Fix for 3gpp issue 965: Decoder crash for OMASA ISM3_1TC at 24.4 kbps FER in stereo_icBWE_dec_fx() --- lib_dec/ivas_stereo_icbwe_dec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib_dec/ivas_stereo_icbwe_dec.c b/lib_dec/ivas_stereo_icbwe_dec.c index 32751a338..b79d52d7e 100644 --- a/lib_dec/ivas_stereo_icbwe_dec.c +++ b/lib_dec/ivas_stereo_icbwe_dec.c @@ -789,6 +789,7 @@ void stereo_icBWE_dec_fx( } ELSE IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) ) { + Word32 temp; hStereoICBWE->refChanIndx_bwe = L_CH_INDX; move16(); hStereoICBWE->prevSpecMapping_fx = 0; @@ -796,9 +797,9 @@ void stereo_icBWE_dec_fx( prevgsMapping_fx = hStereoICBWE->prevgsMapping_fx; move16(); - temp1_fx = shr( extract_h( hStereoDft->side_gain_fx[2 * STEREO_DFT_BAND_MAX + hStereoDft->nbands - 1] ), 1 ); - icbweM2Ref_fx = add( 16384 /*1.f in Q14*/, temp1_fx ); /* Q14 */ - gsMapping_fx = sub( 16384 /*1.f in Q14*/, temp1_fx ); /* Q14 */ + temp = L_shr( hStereoDft->side_gain_fx[2 * STEREO_DFT_BAND_MAX + hStereoDft->nbands - 1], 1 ); // Q30 + icbweM2Ref_fx = extract_h( L_add( ONE_IN_Q30, temp ) ); // Q14 + gsMapping_fx = extract_h( L_sub( ONE_IN_Q30, temp ) ); // Q14 winLen_fx = extract_l( Mpy_32_16_1( st->output_Fs, 41 ) ); //(int16_t)((SHB_OVERLAP_LEN * st->output_Fs) / 16000); Q0 winSlope_fx = div_s( 1, winLen_fx ); /* Q15 */ -- GitLab