From 58cac4c72a5b636343a57def4b78d84ffbe07e62 Mon Sep 17 00:00:00 2001 From: Sandesh Venkatesh Date: Mon, 9 Dec 2024 09:37:37 +0530 Subject: [PATCH] Fix for 3GPP issue 1070: Assertion in McMASA encoder when computing LFE energy link #1070 --- lib_enc/ivas_mcmasa_enc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index d37ac8df0..b2be23e73 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -2255,15 +2255,15 @@ static void computeLfeEnergy_fx( Copy32( &( hMcMasa->delay_buffer_lfe[1][0] ), &( delayedInputSignal[1][0] ), hMcMasa->num_slots_delay_comp * l_ts ); Copy32( data_fx[separateChannelIndex] + hMcMasa->offset_comp, &( delayedInputSignal[1][hMcMasa->num_slots_delay_comp * l_ts] ), ( MDFT_NO_COL_MAX - hMcMasa->num_slots_delay_comp ) * l_ts ); - lowpassCoef = L_shl( div_w( 1, (Word32) hMcMasa->ringBufferSize ), Q7 ); // Q.38 + lowpassCoef = L_shl( div_w( 1, (Word32) hMcMasa->ringBufferSize ), Q6 ); // Q.37(31+6) FOR( i = 0; i < input_frame; i++ ) { FOR( j = 0; j < 2; j++ ) { Word32 temp1, temp2; - temp1 = Mpy_32_32( delayedInputSignal[j][i], lowpassCoef ); // Q(q_inp+7-gb) - temp2 = Mpy_32_32( hMcMasa->lfeAnaRingBuffer[j][hMcMasa->ringBufferPointer], lowpassCoef ); // Q(q_inp+7-gb) + temp1 = Mpy_32_32( delayedInputSignal[j][i], lowpassCoef ); // Q(q_inp+6) + temp2 = Mpy_32_32( hMcMasa->lfeAnaRingBuffer[j][hMcMasa->ringBufferPointer], lowpassCoef ); // Q(q_inp+6) hMcMasa->lowpassSum[j] = L_add( hMcMasa->lowpassSum[j], L_sub( temp1, temp2 ) ); move32(); lowPassSignal[j][i] = hMcMasa->lowpassSum[j]; @@ -2279,7 +2279,7 @@ static void computeLfeEnergy_fx( hMcMasa->ringBufferPointer = sub( hMcMasa->ringBufferSize, 1 ); } } - lowPassSignal_q = add( q_inp, Q7 ); + lowPassSignal_q = add( q_inp, Q6 ); FOR( block_m_idx = 0; block_m_idx < MAX_PARAM_SPATIAL_SUBFRAMES; block_m_idx++ ) { mrange[0] = i_mult( hMcMasa->block_grouping[block_m_idx], l_ts ); -- GitLab