Commit 1da67e09 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch '3gpp_issue_886_fix' into 'main'

Fix for 3GPP issue 886 - Crash in stereo_dft_generate_comfort_noise_fx at 24k4

See merge request !596
parents fffa564c e51b3544
Loading
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1047,10 +1047,13 @@ static void stereo_dft_generate_comfort_noise_fx(
        {
            ptr_cng = cngNoiseLevel_hist + hFdCngCom->startBand;
            ptr_tmp = cngNoiseLevel_upd + hFdCngCom->startBand;
            Word32 temppp;
            Word16 shift_g = shr( find_guarded_bits_fx( shr( sub( st->last_L_frame, hFdCngCom->startBand ), 1 ) ), 1 );
            FOR( i = 0; i < shr( sub( st->last_L_frame, hFdCngCom->startBand ), 1 ); i++ )
            {
                E0 = W_add( E0, *ptr_cng++ );
                E1 = W_mac_32_32( E1, ( *ptr_tmp ), ( *ptr_tmp ) );
                temppp = L_shr( ( *ptr_tmp ), shift_g );
                E1 = W_mac_32_32( E1, temppp, temppp );
                ptr_tmp++;
            }
            E0_e = W_norm( E0 );
@@ -1058,7 +1061,7 @@ static void stereo_dft_generate_comfort_noise_fx(
            E0_e = add( sub( st->hFdCngDec->bandNoiseShape_exp, E0_e ), 32 );
            E1_e = W_norm( E1 );
            E1 = W_shl( E1, E1_e );
            E1_e = sub( 63, add( E1_e, add( shl( q_cngNoiseLevel_upd, 1 ), 1 ) ) );
            E1_e = sub( 63, add( E1_e, add( shl( sub( q_cngNoiseLevel_upd, shift_g ), 1 ), 1 ) ) );

            IF( BASOP_Util_Cmp_Mant32Exp( W_extract_h( E0 ), E0_e, W_extract_h( E1 ), E1_e ) < 0 )
            {