Commit 0c6523f5 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'float_dependencies_cleanup_3' into 'main'

Core decoder float structure elements cleanup.

See merge request !268
parents 24b88201 18a3e38c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1054,8 +1054,9 @@ void SynthesisSTFT_fx(
    preemph_ivas_fx( buf_fx + 1, PREEMPH_FAC, M + hFdCngCom->frameSize, &tmp_fx );
    // residu(hFdCngCom->A_cng_flt, M, buf + 1 + M, hFdCngCom->exc_cng_flt, hFdCngCom->frameSize);

    floatToFixed_arr( hFdCngCom->A_cng_flt, hFdCngCom->A_cng, Q13, M + 1 );
    residu_ivas_fx( hFdCngCom->A_cng, Q13, M, buf_fx + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    //floatToFixed_arr( hFdCngCom->A_cng_flt, hFdCngCom->A_cng, Q13, M + 1 );
    //residu_ivas_fx( hFdCngCom->A_cng, Q13, M, buf_fx + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    residu_ivas_fx( hFdCngCom->A_cng, ( 15 - norm_s( hFdCngCom->A_cng[0] - 1 ) ), M, buf_fx + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    for ( i = 0; i < hFdCngCom->frameSize; i++ )
    {
        hFdCngCom->exc_cng_flt[i] = fix_to_float( hFdCngCom->exc_cng_32fx[i], Q_in - 9 );
@@ -1190,7 +1191,8 @@ void SynthesisSTFT_dirac_fx(
    v_multc_fixed(olapBuffer + (hFdCngCom->frameSize / 4) - (M + 1), fftScale, buf, M + 1 + hFdCngCom->frameSize);
    tmp = buf[0];
    preemph_ivas_fx( buf + 1, PREEMPH_FAC, M + hFdCngCom->frameSize, &tmp );
    residu_ivas_fx( hFdCngCom->A_cng, Q13, M, buf + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    //residu_ivas_fx( hFdCngCom->A_cng, Q13, M, buf + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    residu_ivas_fx( hFdCngCom->A_cng, 15 - norm_s( hFdCngCom->A_cng[0] - 1 ), M, buf + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );

    /* update and window olapBuf if we have a output frame that is shorter than the default frame size...*/
    IF ( LT_16(samples_out, hFdCngCom->frameSize ))
+38 −31
Original line number Diff line number Diff line
@@ -319,7 +319,8 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed(
                st->hTcxDec->L_frameTCX = extract_l( Mult_32_16( st->output_Fs, 0x0290 ) );
                //st->hTcxDec->tcxltp_last_gain_unmodified = (Word16) floatToFixed( st->hTcxDec->tcxltp_last_gain_unmodified_float, 15 );
                st->output_frame_fx = st->hTcxDec->L_frameTCX;
                st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->conCngLevelBackgroundTrace = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->conceal_eof_gain = (Word16) floatToFixed( st->hTcxDec->conceal_eof_gain_float, 14 );
            }
            IF( st->hHQ_core )
@@ -361,11 +362,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed(


            st->last_gain_syn_deemph = 0;
            IF( hBWE_TD )
            {
                Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
                floatToFixed_arr( hBWE_TD->syn_overlap, hBWE_TD->syn_overlap_fx, Q_syn_overlap, 20 );
            }
            //IF( hBWE_TD )
            //{
            //    Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
            //    floatToFixed_arr( hBWE_TD->syn_overlap, hBWE_TD->syn_overlap_fx, Q_syn_overlap, 20 );
            //}
        }
        else
        {
@@ -392,11 +393,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed(
            }
            //st->TcxBandwidth_float = fixedToFloat( st->TcxBandwidth, 15 );

            IF( st->hBWE_TD != NULL )
            {
                Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
                fixedToFloat_arr( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap, Q_syn_overlap, 20 );
            }
            //IF( st->hBWE_TD != NULL )
            //{
            //    Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
            //    fixedToFloat_arr( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap, Q_syn_overlap, 20 );
            //}
            IF( st->hTcxDec )
            {
                Q_old_synth = Q_syn;
@@ -411,7 +412,8 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed(
                //fixedToFloat_arr( st->hTcxDec->synth_history_fx, st->hTcxDec->synth_history, Q_synth_history, L_PROT48k + L_FRAME_MAX );
                //st->hTcxDec->q_synth_history_fx = Q_synth_history;
                //st->hTcxDec->conceal_eof_gain_float = fixedToFloat( st->hTcxDec->conceal_eof_gain, 14 );
                st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, 15 );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, 15 );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix16_to_float( st->hTcxDec->conCngLevelBackgroundTrace,15-st->hTcxDec->conCngLevelBackgroundTrace_e );
            }

            IF( st->hHQ_core )
@@ -540,7 +542,8 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2(
                st->hTcxDec->L_frameTCX = extract_l( Mult_32_16( st->output_Fs, 0x0290 ) );
                //st->hTcxDec->tcxltp_last_gain_unmodified = (Word16) floatToFixed( st->hTcxDec->tcxltp_last_gain_unmodified_float, 15 );
                st->output_frame_fx = st->hTcxDec->L_frameTCX;
                st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->conCngLevelBackgroundTrace = floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, 15 );
                //st->hTcxDec->conceal_eof_gain = (Word16) floatToFixed( st->hTcxDec->conceal_eof_gain_float, 14 );
            }
            IF( st->hHQ_core )
@@ -581,11 +584,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2(


            st->last_gain_syn_deemph = 0;
            IF( hBWE_TD )
            {
                Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
                floatToFixed_arr( hBWE_TD->syn_overlap, hBWE_TD->syn_overlap_fx, Q_syn_overlap, 20 );
            }
            //IF( hBWE_TD )
            //{
            //    Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
            //    floatToFixed_arr( hBWE_TD->syn_overlap, hBWE_TD->syn_overlap_fx, Q_syn_overlap, 20 );
            //}
        }
        else
        {
@@ -612,11 +615,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2(
                //st->hIGFDec->igfData.pSpecFlat_float = &st->hIGFDec->igfData.pSpecFlatBuf[0];
                //st->hIGFDec->igfData.igfInfo.nfSeed = &st->hIGFDec->igfData.igfInfo.nfSeedBuf[0];
            }
            IF( st->hBWE_TD != NULL )
            {
                Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
                fixedToFloat_arr( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap, Q_syn_overlap, 20 );
            }
            //IF( st->hBWE_TD != NULL )
            //{
            //    Q_syn_overlap = Q_factor_arr( hBWE_TD->syn_overlap, 20 );
            //    fixedToFloat_arr( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap, Q_syn_overlap, 20 );
            //}
            IF( st->hTcxDec )
            {
                Q_old_synth = Q_syn;
@@ -631,9 +634,10 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2(
                //fixedToFloat_arr( st->hTcxDec->synth_history_fx, st->hTcxDec->synth_history, Q_synth_history, L_PROT48k + L_FRAME_MAX );
                //st->hTcxDec->q_synth_history_fx = Q_synth_history;
                //st->hTcxDec->conceal_eof_gain_float = fixedToFloat( st->hTcxDec->conceal_eof_gain, 14 );
                st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, 15 );
                st->hTcxDec->conCngLevelBackgroundTrace = (Word16) st->hTcxDec->CngLevelBackgroundTrace_bfi_fx;
                st->hTcxDec->conCngLevelBackgroundTrace_e = 0;
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix16_to_float( st->hTcxDec->conCngLevelBackgroundTrace,15 - st->hTcxDec->conCngLevelBackgroundTrace_e);
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, 15 );
                //st->hTcxDec->conCngLevelBackgroundTrace = (Word16) st->hTcxDec->CngLevelBackgroundTrace_bfi_fx;
                st->hTcxDec->conNoiseLevelIndex = st->hTcxDec->NoiseLevelIndex_bfi;
                st->hTcxDec->conCurrLevelIndex = st->hTcxDec->CurrLevelIndex_bfi;
                st->hTcxDec->conLastFrameLevel = st->hTcxDec->LastFrameLevel_bfi_fx;
@@ -709,7 +713,7 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2(
        //}
        st->prev_Q_syn = st->Q_syn;
        //st->hTcxDec->conceal_eof_gain = (Word16) floatToFixed( st->hTcxDec->conceal_eof_gain_float, Q14 );
        st->hTcxDec->conCngLevelBackgroundTrace = (Word16) floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, Q15 - st->hTcxDec->conCngLevelBackgroundTrace_e );
        //st->hTcxDec->conCngLevelBackgroundTrace = (Word16) floatToFixed( st->hTcxDec->CngLevelBackgroundTrace_bfi, Q15 - st->hTcxDec->conCngLevelBackgroundTrace_e );
        if ( st->hTcxDec->conNoiseLevelMemory_e[0] < 0 )
        {
            set16_fx( st->hTcxDec->conNoiseLevelMemory_e, 0, PLC_MIN_STAT_BUFF_SIZE );
@@ -823,7 +827,7 @@ void fixed_to_float_stereo_tcx_core_dec(

    //st->hTcxDec->conceal_eof_gain_float = fixedToFloat( st->hTcxDec->conceal_eof_gain, Q14 );

    st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat( st->hTcxDec->conCngLevelBackgroundTrace, 15 - st->hTcxDec->conCngLevelBackgroundTrace_e );
    //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix16_to_float( st->hTcxDec->conCngLevelBackgroundTrace, 15 - st->hTcxDec->conCngLevelBackgroundTrace_e );

    //fixedToFloat_arr( hTcxDec->old_synth, hTcxDec->old_synth_float, 0, hTcxDec->old_synth_len );
    //fixedToFloat_arr( hTcxDec->synth_history_fx, hTcxDec->synth_history, 0, NS2SA_fx2( st->output_Fs, PH_ECU_MEM_NS ) );
@@ -854,7 +858,8 @@ void fixed_to_float_stereo_tcx_core_dec(
                                                             ( ( st->element_mode == IVAS_CPE_TD || st->element_mode == IVAS_CPE_DFT ) && ( st->hFdCngDec->hFdCngCom->active_frame_counter > 0 ) ) || ( ( st->bfi == 1 ) && ( st->nbLostCmpt == 1 ) ) ) ) ||
                 ( st->m_frame_type == ZERO_FRAME ) )
            {
                st->hTcxDec->CngLevelBackgroundTrace_bfi = fix_to_float( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, ( 31 - st->hTcxDec->CngLevelBackgroundTrace_bfi_exp ) );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix_to_float( st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, ( 31 - st->hTcxDec->CngLevelBackgroundTrace_bfi_exp ) );
                //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix16_to_float( st->hTcxDec->conCngLevelBackgroundTrace, ( 15 - st->hTcxDec->conCngLevelBackgroundTrace_e) );
                //st->cngTDLevel_float = fixedToFloat( st->cngTDLevel, ( 15 - st->cngTDLevel_e ) );
                //for ( int p = 0; p < st->hFdCngDec->hFdCngCom->fftlen; p++ )
                //{
@@ -884,14 +889,16 @@ void fixed_to_float_stereo_tcx_core_dec(
                    st->hFdCngDec->q_smoothed_psd = sub( 31 , st->hFdCngDec->msNoiseEst_exp );
                }

                int A_cng_q = 14;
                //int A_cng_q = 14;
                if ( st->element_mode != IVAS_CPE_MDCT || st->core == ACELP_CORE )
                {
                    A_cng_q = 15 - norm_s( st->hFdCngDec->hFdCngCom->A_cng[0] );
                    //A_cng_q = 15 - norm_s( st->hFdCngDec->hFdCngCom->A_cng[0] );
                }
                //Scale_sig(st->hFdCngDec->hFdCngCom->A_cng, M + 1, A_cng_q - norm_s(st->hFdCngDec->hFdCngCom->A_cng[0] - 1));

                for ( int p = 0; p < M; p++ )
                {
                    st->hFdCngDec->hFdCngCom->A_cng_flt[p] = ( (float) st->hFdCngDec->hFdCngCom->A_cng[p] / ( 1u << A_cng_q ) );
                    //st->hFdCngDec->hFdCngCom->A_cng_flt[p] = ( (float) st->hFdCngDec->hFdCngCom->A_cng[p] / ( 1u << A_cng_q ) );
                }
            }
        }
+11 −9
Original line number Diff line number Diff line
@@ -2631,11 +2631,11 @@ void acelp_decoder_state_float2fix(Decoder_State *st, STEREO_CNG_DEC_HANDLE hSte
        //floatToFixed_arrL( st->hFdCngDec->hFdCngCom->sidNoiseEstLp_flt, st->hFdCngDec->hFdCngCom->sidNoiseEstLp, Q31 - st->hFdCngDec->hFdCngCom->sidNoiseEstExp, NPART );
        st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = Q31 - 4;
        floatToFixed_arrL(st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt, st->hFdCngDec->hFdCngCom->cngNoiseLevel, Q31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp, FFTCLDFBLEN);
        floatToFixed_arr(st->hFdCngDec->hFdCngCom->A_cng_flt, st->hFdCngDec->hFdCngCom->A_cng, Q12, M + 1);
        st->hFdCngDec->hFdCngCom->A_cng[0] = 4096;
        floatToFixed_arr(st->hFdCngDec->hFdCngCom->exc_cng_flt, st->hFdCngDec->hFdCngCom->exc_cng, st->Q_exc_cng, L_FRAME16k);
        //floatToFixed_arr(st->hFdCngDec->hFdCngCom->A_cng_flt, st->hFdCngDec->hFdCngCom->A_cng, Q12, M + 1);
        //st->hFdCngDec->hFdCngCom->A_cng[0] = 4096;
        //floatToFixed_arr(st->hFdCngDec->hFdCngCom->exc_cng_flt, st->hFdCngDec->hFdCngCom->exc_cng, st->Q_exc_cng, L_FRAME16k);
        
        floatToFixed_arr(st->hFdCngDec->hFdCngCom->olapBufferSynth2_flt, st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->fftlenShift, FFTLEN);
        //floatToFixed_arr(st->hFdCngDec->hFdCngCom->olapBufferSynth2_flt, st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->fftlenShift, FFTLEN);
        //st->hFdCngDec->hFdCngCom->likelihood_noisy_speech = float_to_fix16(st->hFdCngDec->hFdCngCom->likelihood_noisy_speech_flt, Q15);
        //floatToFixed_arrL( st->hFdCngDec->bandNoiseShape_float, st->hFdCngDec->bandNoiseShape, Q31 - st->hFdCngDec->bandNoiseShape_exp, FFTLEN2);
        /*CNA: ApplyFdCng*/
@@ -2645,7 +2645,8 @@ void acelp_decoder_state_float2fix(Decoder_State *st, STEREO_CNG_DEC_HANDLE hSte
            {
                if (st->element_mode != IVAS_CPE_TD && !st->cng_ism_flag)
                {
                    st->hFdCngDec->hFdCngCom->fftBuffer_exp = /*st->hFdCngDec->msNoiseEst_exp = */Q31 - Q4; //st->hFdCngDec->hFdCngCom->periodog_exp = st->hFdCngDec->msPsd_exp_fft = st->hFdCngDec->msPeriodog_exp = st->hFdCngDec->msPeriodog_ST_exp = 31 - Q4; Q4
                    //st->hFdCngDec->hFdCngCom->fftBuffer_exp = /*st->hFdCngDec->msNoiseEst_exp = */Q31 - Q4; //st->hFdCngDec->hFdCngCom->periodog_exp = st->hFdCngDec->msPsd_exp_fft = st->hFdCngDec->msPeriodog_exp = st->hFdCngDec->msPeriodog_ST_exp = 31 - Q4; Q4

                     //floatToFixed_arrL(st->hFdCngDec->hFdCngCom->fftBuffer_flt, st->hFdCngDec->hFdCngCom->fftBuffer, Q31 - st->hFdCngDec->hFdCngCom->fftBuffer_exp, st->hFdCngDec->hFdCngCom->fftlen);
                    //floatToFixed_arrL(st->hFdCngDec->msNoiseEst_float, st->hFdCngDec->msNoiseEst, Q31 - st->hFdCngDec->msNoiseEst_exp, st->hFdCngDec->npart_shaping);

@@ -2696,9 +2697,9 @@ void acelp_decoder_state_fix2float(Decoder_State *st, STEREO_CNG_DEC_HANDLE hSte
    {
        //fixedToFloat_arrL(st->hFdCngDec->hFdCngCom->sidNoiseEstLp, st->hFdCngDec->hFdCngCom->sidNoiseEstLp_flt, Q31 - st->hFdCngDec->hFdCngCom->sidNoiseEstExp, NPART);
        fixedToFloat_arrL( st->hFdCngDec->hFdCngCom->cngNoiseLevel, st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt, Q31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp, FFTCLDFBLEN );
        fixedToFloat_arr( st->hFdCngDec->hFdCngCom->A_cng, st->hFdCngDec->hFdCngCom->A_cng_flt, Q12, M + 1 );
        fixedToFloat_arr(st->hFdCngDec->hFdCngCom->exc_cng, st->hFdCngDec->hFdCngCom->exc_cng_flt, st->Q_exc_cng, L_FRAME16k);
         fixedToFloat_arr(st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->olapBufferSynth2_flt, st->hFdCngDec->hFdCngCom->fftlenShift, FFTLEN);
        //fixedToFloat_arr( st->hFdCngDec->hFdCngCom->A_cng, st->hFdCngDec->hFdCngCom->A_cng_flt, Q12, M + 1 );
        //fixedToFloat_arr(st->hFdCngDec->hFdCngCom->exc_cng, st->hFdCngDec->hFdCngCom->exc_cng_flt, st->Q_exc_cng, L_FRAME16k);
         //fixedToFloat_arr(st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->olapBufferSynth2_flt, st->hFdCngDec->hFdCngCom->fftlenShift, FFTLEN);
        //st->hFdCngDec->hFdCngCom->likelihood_noisy_speech_flt = fixedToFloat(st->hFdCngDec->hFdCngCom->likelihood_noisy_speech, Q15);
        //fixedToFloat_arrL(st->hFdCngDec->bandNoiseShape, st->hFdCngDec->bandNoiseShape_float, Q31 - st->hFdCngDec->bandNoiseShape_exp, FFTLEN2);
        //fixedToFloat_arrL(st->hFdCngDec->partNoiseShape, st->hFdCngDec->partNoiseShape_float, Q31 - st->hFdCngDec->partNoiseShape_exp, NPART);
@@ -2731,7 +2732,8 @@ void acelp_decoder_state_fix2float(Decoder_State *st, STEREO_CNG_DEC_HANDLE hSte
                        //}
                        if (!((st->element_mode == IVAS_CPE_TD || st->element_mode == IVAS_CPE_DFT) && (st->hFdCngDec->hFdCngCom->active_frame_counter > 0)))
                        {
                            st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat(st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, (31 - st->hTcxDec->CngLevelBackgroundTrace_bfi_exp));
                            //st->hTcxDec->CngLevelBackgroundTrace_bfi = fixedToFloat(st->hTcxDec->CngLevelBackgroundTrace_bfi_fx, (31 - st->hTcxDec->CngLevelBackgroundTrace_bfi_exp));
                            //st->hTcxDec->CngLevelBackgroundTrace_bfi = fix16_to_float(st->hTcxDec->conCngLevelBackgroundTrace, (15 - st->hTcxDec->conCngLevelBackgroundTrace_e));
                        }
                    }
                }
+1 −1
Original line number Diff line number Diff line
@@ -608,10 +608,10 @@ void open_decoder_LPD_flt(

		if (is_init || MCT_flag || !(st->element_mode == IVAS_CPE_MDCT && st->element_mode == last_element_mode))
		{
			st->hTcxDec->CngLevelBackgroundTrace_bfi = PLC_MIN_CNG_LEV_FLT;
			st->hTcxDec->NoiseLevelIndex_bfi = PLC_MIN_STAT_BUFF_SIZE - 1;
			st->hTcxDec->CurrLevelIndex_bfi = 0;
#if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED)
			st->hTcxDec->CngLevelBackgroundTrace_bfi = PLC_MIN_CNG_LEV_FLT;
			st->hTcxDec->LastFrameLevel_bfi = PLC_MIN_CNG_LEV_FLT;
			set_f(st->hTcxDec->NoiseLevelMemory_bfi, PLC_MIN_CNG_LEV_FLT, PLC_MIN_STAT_BUFF_SIZE);

+2 −2
Original line number Diff line number Diff line
@@ -1689,8 +1689,8 @@ void open_decoder_LPD_ivas_fx(

        IF( is_init || MCT_flag || !( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && EQ_16( st->element_mode, last_element_mode ) ) )
        {
            st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = PLC_MIN_CNG_LEV;
            st->hTcxDec->CngLevelBackgroundTrace_bfi_exp = 16;
            //st->hTcxDec->CngLevelBackgroundTrace_bfi_fx = PLC_MIN_CNG_LEV;
            //st->hTcxDec->CngLevelBackgroundTrace_bfi_exp = 16;
            st->hTcxDec->NoiseLevelIndex_bfi = PLC_MIN_STAT_BUFF_SIZE - 1;
            st->hTcxDec->CurrLevelIndex_bfi = 0;
            st->hTcxDec->LastFrameLevel_bfi_fx = PLC_MIN_CNG_LEV;
Loading