Commit 68f7be1d authored by Nishant S Kulgod's avatar Nishant S Kulgod
Browse files

commit 1

parent 3c047727
Loading
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -193,12 +193,12 @@ ivas_error acelp_core_dec_ivas_fx(
#endif
            ApplyFdCng_ivas_fx( NULL, 0, NULL, 0, NULL, NULL, NULL, st, 0, 0 );

            IF( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0 )
            /*IF( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0 )
            {
                Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp );
                st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                move16();
            }
            }*/
        }
        ELSE
        {
@@ -696,7 +696,7 @@ ivas_error acelp_core_dec_ivas_fx(
                        move32();
                    }
#endif
                    Word16 new_sidNoiseEstExp = 31 - Q4;
                   /* Word16 new_sidNoiseEstExp = 31 - Q4;
                    move16();
                    Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEstLp, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, new_sidNoiseEstExp ) );
                    Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEst, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, new_sidNoiseEstExp ) );
@@ -706,16 +706,16 @@ ivas_error acelp_core_dec_ivas_fx(
                    move16();
                    Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp - new_cngNoiseLevelExp );
                    st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = new_cngNoiseLevelExp;
                    move16();
                    move16();*/

                    ApplyFdCng_ivas_fx( psyn_fx, st->Q_syn, NULL, 0, realBuffer_fx, imagBuffer_fx, NULL, st, 0, ( st->coder_type == AUDIO && !st->GSC_noisy_speech ) );

                    IF( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0 )
                    /*IF( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0 )
                    {
                        Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp );
                        st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                        move16();
                    }
                    }*/
                }

                IF( !read_sid_info )
@@ -1546,18 +1546,18 @@ ivas_error acelp_core_dec_ivas_fx(
            {
                /*Noise estimate*/

                Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, sub( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp, Q27 ) );
                st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4
                move16();
                //Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, sub( st->hFdCngDec->hFdCngCom->cngNoiseLevelExp, Q27 ) );
                //st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4
                //move16();

                Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEst, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, Q27 ) );
                Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEstLp, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, Q27 ) );
                st->hFdCngDec->hFdCngCom->sidNoiseEstExp = 31 - Q4; // Q4
                move16();
                //Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEst, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, Q27 ) );
                //Scale_sig32( st->hFdCngDec->hFdCngCom->sidNoiseEstLp, NPART, sub( st->hFdCngDec->hFdCngCom->sidNoiseEstExp, Q27 ) );
                //st->hFdCngDec->hFdCngCom->sidNoiseEstExp = 31 - Q4; // Q4
                //move16();
                /*==========================================================*/
                ApplyFdCng_ivas_fx( psyn_fx, st->Q_syn, NULL, 0, realBuffer_fx, imagBuffer_fx, NULL, st, 0, ( st->coder_type == AUDIO && !st->GSC_noisy_speech ) );
                /*==========================================================*/
                IF( st->hFdCngDec->partNoiseShape_exp < 0 )
                /*IF( st->hFdCngDec->partNoiseShape_exp < 0 )
                {
                    Scale_sig32( st->hFdCngDec->partNoiseShape, NPART, st->hFdCngDec->partNoiseShape_exp );
                    st->hFdCngDec->partNoiseShape_exp = 0;
@@ -1568,7 +1568,7 @@ ivas_error acelp_core_dec_ivas_fx(
                    Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp );
                    st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                    move16();
                }
                }*/
            }

            IF( !st->cna_dirac_flag )
@@ -1654,7 +1654,7 @@ ivas_error acelp_core_dec_ivas_fx(
                    IF( ( st->idchan == 0 ) && ( EQ_16( nchan_out, 2 ) || ( st->core_brate != FRAME_NO_DATA && NE_32( st->core_brate, SID_2k40 ) ) ) )
                    {
                        ApplyFdCng_ivas_fx( psyn_fx, st->Q_syn, NULL, 0, realBuffer_fx, imagBuffer_fx, NULL, st, 0, ( st->coder_type == AUDIO && !st->GSC_noisy_speech ) );
                        IF( st->hFdCngDec->partNoiseShape_exp < 0 )
                        /*IF( st->hFdCngDec->partNoiseShape_exp < 0 )
                        {
                            Scale_sig32( st->hFdCngDec->partNoiseShape, NPART, -st->hFdCngDec->partNoiseShape_exp );
                            st->hFdCngDec->partNoiseShape_exp = 0;
@@ -1671,7 +1671,7 @@ ivas_error acelp_core_dec_ivas_fx(
                            Scale_sig32( st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp );
                            st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                            move16();
                        }
                        }*/
                    }
                }
            }
+109 −29
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@


#include <assert.h>
#include <math.h>
#include "typedef.h"
#include <stdint.h>
#include "options.h"
@@ -2410,14 +2411,15 @@ void perform_noise_estimation_dec_ivas_fx(
    Word32 temp, ftemp, delta, L_tmp;
    Word16 e_temp, wght, periodog_exp;
    Word32 enr, enr_tot, enr_tot0;
    Word16 enr_ratio, alpha;
    Word16 enr_e, enr_ratio, alpha;
    Word32 *msPeriodog;
    Word32 *msNoiseEst;
    Word32 *reIter;
    Word32 rescale_fac = 0;
    Word64 W_tmp;
    Word16 tmp_s, tmp_q, min_q = 31;
    Word16 exp_flag = 0;
    Word16 q_shift;
    // Word16 exp_flag = 0;
#ifdef IVAS_CODE_CNG
    PMT( "lots of code related to IVAS needs to be done " )
#endif
@@ -2639,7 +2641,7 @@ void perform_noise_estimation_dec_ivas_fx(
            enr_tot0 = L_add_sat( L_shr( sum32_fx( msNoiseEst, npart ), sub( hFdCngDec->msPeriodog_exp, hFdCngDec->msNoiseEst_exp ) ), 1 );
        }

        test();
        /*test();
        IF( !( NE_16( L_frame, last_L_frame ) || LE_32( last_core_brate, SID_2k40 ) ) )
        {
            IF( GT_16( hFdCngDec->hFdCngCom->periodog_exp, hFdCngDec->msPeriodog_ST_exp ) )
@@ -2652,23 +2654,38 @@ void perform_noise_estimation_dec_ivas_fx(
                exp_flag = 0;
                move16();
            }
        }
        }*/

        /* update short-term periodogram on larger partitions */
        q_shift = sub( hFdCngDec->hFdCngCom->periodog_exp, hFdCngDec->msPeriodog_ST_exp );
        FOR( p = CNA_ACT_DN_LARGE_PARTITION; p < npart; p++ )
        {
            test();
            IF( NE_16( L_frame, last_L_frame ) || LE_32( last_core_brate, SID_2k40 ) )
            {
                /* core Fs has changed or last frame was SID/NO_DATA -> re-initialize short-term periodogram */
                if ( msPeriodog[p] == 0 )
                {
                    hFdCngDec->msPeriodog_ST_fx[p] = 0;
                    move32();
                }
                else if ( LE_16( q_shift, norm_l( msPeriodog[p] ) ) && msPeriodog[p] )
                {
                    hFdCngDec->msPeriodog_ST_fx[p] = L_shl( msPeriodog[p], q_shift );
                    move32();
                }
                else
                {
                    scale_sig32( hFdCngDec->msPeriodog_ST_fx, NPART_SHAPING, negate( q_shift ) );
                    hFdCngDec->msPeriodog_ST_fx[p] = msPeriodog[p];
                    move32();
                    hFdCngDec->msPeriodog_ST_exp = hFdCngDec->hFdCngCom->periodog_exp;
                    move16();
                }
            }
            ELSE
            {
                temp = msPeriodog[p];
                /*temp = msPeriodog[p];
                move32();
                IF( exp_flag )
                {
@@ -2678,16 +2695,36 @@ void perform_noise_estimation_dec_ivas_fx(
                ELSE
                {
                    temp = L_shr( temp, sub( hFdCngDec->msPeriodog_ST_exp, hFdCngDec->hFdCngCom->periodog_exp ) );
                }
                }*/
#ifdef IVAS_ENH32_CADENCE_CHANGES
                hFdCngDec->msPeriodog_ST_fx[p] = Madd_32_16( Mpy_32_16_1( hFdCngDec->msPeriodog_ST_fx[p], ST_PERIODOG_FACT_Q15 ), temp, sub( MAX_16, ST_PERIODOG_FACT_Q15 ) );
                if ( msPeriodog[p] == 0 )
                {
                    temp = 0;
                    move32();
                }
                else if ( LE_16( q_shift, norm_l( msPeriodog[p] ) ) && msPeriodog[p] )
                {
                    temp = L_shr( msPeriodog[p], sub( hFdCngDec->msPeriodog_ST_exp, hFdCngDec->hFdCngCom->periodog_exp ) );
                    move32();
                }
                else
                {
                    scale_sig32( hFdCngDec->msPeriodog_ST_fx, NPART_SHAPING, negate( q_shift ) );
                    hFdCngDec->msPeriodog_ST_exp = hFdCngDec->hFdCngCom->periodog_exp;
                    move16();
                    temp = msPeriodog[p];
                    move32();
                }
                // temp = L_shr(msPeriodog[p], sub( hFdCngDec->msPeriodog_ST_exp, hFdCngDec->hFdCngCom->periodog_exp ) );
                hFdCngDec->msPeriodog_ST_fx[p] = Madd_32_16( Mpy_32_16_1( hFdCngDec->msPeriodog_ST_fx[p], ST_PERIODOG_FACT_Q15 ), temp, MAX_16 - ST_PERIODOG_FACT_Q15 );
#else
                hFdCngDec->msPeriodog_ST_fx[p] = L_add( Mpy_32_16_1( hFdCngDec->msPeriodog_ST_fx[p], ST_PERIODOG_FACT_Q15 ), Mpy_32_16_1( temp, sub( MAX_16, ST_PERIODOG_FACT_Q15 ) ) );
#endif
                move32();
            }
        }
        test();
        // printf( "\n%f ", (float) hFdCngDec->msPeriodog_ST_fx[0] / pow( 2, 31 - hFdCngDec->msPeriodog_ST_exp ) );
        /*test();
        IF( !( NE_16( L_frame, last_L_frame ) || LE_32( last_core_brate, SID_2k40 ) ) )
        {
            IF( exp_flag )
@@ -2695,7 +2732,7 @@ void perform_noise_estimation_dec_ivas_fx(
                hFdCngDec->msPeriodog_ST_exp = hFdCngDec->hFdCngCom->periodog_exp;
                move16();
            }
        }
        }*/

        /* core Fs has changed -> partitions have changed -> re-calculate long-term periodogram */
        /* part L_FRAME16k L_FRAME */
@@ -2755,30 +2792,33 @@ void perform_noise_estimation_dec_ivas_fx(
                IF( NE_16( hFdCngDec->first_cna_noise_update_cnt, 0 ) )
                {
                    alpha = Inv16( add( hFdCngDec->first_cna_noise_update_cnt, 1 ), &e );
                    IF( LT_16( e, 0 ) )
                    {
                        alpha = shr( alpha, negate( e ) ); // Q15
                    }
                    alpha = shl_sat( alpha, e ); // Q15
                    scale_sig32( msNoiseEst, NPART_SHAPING, sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
                    hFdCngDec->msNoiseEst_exp = hFdCngDec->msPeriodog_exp;
                    FOR( p = 0; p < npart; p++ )
                    {
                        temp = msPeriodog[p];
                        move32();
                        temp = L_shr( temp, sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
                        //temp = L_shr( temp, sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
#ifdef IVAS_ENH32_CADENCE_CHANGES
                        msNoiseEst[p] = Madd_32_16( Mpy_32_16_1( msNoiseEst[p], sub( shl_sat( 1, sub( 15, e ) ), alpha ) ), temp, alpha );
                        msNoiseEst[p] = Madd_32_16( Mpy_32_16_1( msNoiseEst[p], sub( MAX_16, alpha ) ), temp, alpha );
#else
                        msNoiseEst[p] = L_add( Mpy_32_16_1( msNoiseEst[p], sub( shl_sat( 1, sub( 15, e ) ), alpha ) ), Mpy_32_16_1( temp, alpha ) );
                        msNoiseEst[p] = L_add( Mpy_32_16_1( msNoiseEst[p], sub( MAX_16, alpha ) ), Mpy_32_16_1( temp, alpha ) );
#endif
                        move32();
                    }
                }
                ELSE
                {
                    FOR( p = 0; p < npart; p++ )
                    Copy32( msPeriodog, msNoiseEst, npart );
                    scale_sig32( &msNoiseEst[npart], sub( NPART_SHAPING, npart ), sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
                    hFdCngDec->msNoiseEst_exp = hFdCngDec->msPeriodog_exp;
                    /*FOR( p = 0; p < npart; p++ )
                    {
                        msNoiseEst[p] = L_shr( msPeriodog[p], sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
                        move32();
                    }
                        hFdCngDec->msNoiseEst_exp = hFdCngDec->msPeriodog_exp;
                    }*/
                }

                /* check, if we reached the required number of first CNA noise update frames */
@@ -2863,7 +2903,7 @@ void perform_noise_estimation_dec_ivas_fx(
                    /* energy significantly decreases in one of the larger partitions during active frames -> downward update */
                    FOR( p = CNA_ACT_DN_LARGE_PARTITION; p < npart; p++ )
                    {
                        L_tmp = L_shr( hFdCngDec->msPeriodog_ST_fx[p], sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_ST_exp ) );
                        L_tmp = L_shr_sat( hFdCngDec->msPeriodog_ST_fx[p], sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_ST_exp ) );
                        IF( LT_32( L_tmp, msNoiseEst[p] ) )
                        {
#ifdef IVAS_ENH32_CADENCE_CHANGES
@@ -2893,13 +2933,17 @@ void perform_noise_estimation_dec_ivas_fx(
                {
                    Word16 i_e = 15;
                    move16();
                    /*enr = msPeriodog[p];
                    move32();*/
                    enr = msPeriodog[p];
                    move32();
                    temp = L_shr( enr, sub( hFdCngDec->msNoiseEst_exp, hFdCngDec->msPeriodog_exp ) );
                    enr_e = hFdCngDec->msPeriodog_exp;
                    move16();
                    alpha = 31130; // 0.95f in Q15
                    move16();
                    /* bandwidth increased -> do fast re-initilization  */
                    test();
                    test();
                    IF( GT_16( hFdCngDec->ms_cnt_bw_up, 0 ) && GT_16( p, 55 ) )
                    {
                        alpha = Inv16( add( hFdCngDec->ms_cnt_bw_up, 1 ), &i_e );
@@ -2908,16 +2952,27 @@ void perform_noise_estimation_dec_ivas_fx(
                            alpha = shr( alpha, negate( i_e ) ); // Q15
                        }
                    }
                    ELSE IF( LT_32( temp, *ptr_per ) && EQ_16( part[p], 1 ) )
                    ELSE IF( ( BASOP_Util_Cmp_Mant32Exp( enr, enr_e, *ptr_per, hFdCngDec->msNoiseEst_exp ) < 0 ) && EQ_16( part[p], 1 ) )
                    {
                        /* faster downward update for single-bin partitions */
                        alpha = 26214; // 0.8f in Q15
                        move16();
                    }
                    ELSE IF( GT_32( temp, L_shl( ( *ptr_per ), 1 ) ) )
                    ELSE IF( BASOP_Util_Cmp_Mant32Exp( enr, enr_e, *ptr_per, add( hFdCngDec->msNoiseEst_exp, 1 ) ) > 0 )
                    {
                        /* prevent abrupt upward updates */
                        temp = L_shl( ( *ptr_per ), 1 );
                        test();
                        if ( (norm_l( *ptr_per ) == 0) && *ptr_per)
                        {
                            enr = *ptr_per;
                            scale_sig32( msNoiseEst, NPART_SHAPING, -1 );
                            hFdCngDec->msNoiseEst_exp = add( hFdCngDec->msNoiseEst_exp, 1 );
                        }
                        else
                        {
                            enr = L_shl( *ptr_per, 1 );
                        }
                        enr_e = hFdCngDec->msNoiseEst_exp;
                    }

                    /* IIR smoothing */
@@ -2938,9 +2993,27 @@ void perform_noise_estimation_dec_ivas_fx(
                        move32();
                    }
#ifdef IVAS_ENH32_CADENCE_CHANGES
                    *ptr_per = Madd_32_16( ( *ptr_per ), temp, sub( MAX_16, alpha ) );
                    q_shift = sub( enr_e, hFdCngDec->msNoiseEst_exp );
                    tmp_q = norm_l( enr );
                    if ( enr == 0 )
                    {
                    }
                    else if ( LE_16( q_shift, tmp_q ) && enr )
                    {
                        enr = L_shl( enr, q_shift );
                        move32();
                    }
                    else
                    {
                        enr_e = sub( enr_e, tmp_q );
                        enr = L_shl( enr, tmp_q );
                        scale_sig32( msNoiseEst, NPART_SHAPING, sub( tmp_q, q_shift ) );
                        hFdCngDec->msNoiseEst_exp = sub( hFdCngDec->msNoiseEst_exp, sub( tmp_q, q_shift ) );
                        move16();
                    }
                    *ptr_per = Madd_32_16( ( *ptr_per ), enr, sub( MAX_16, alpha ) );
#else
                    *ptr_per = L_add( ( *ptr_per ), Mpy_32_16_1( temp, sub( MAX_16, alpha ) ) );
                    *ptr_per = L_add( ( *ptr_per ), Mpy_32_16_1( enr, sub( MAX_16, alpha ) ) );
#endif
                    ptr_per++;
                }
@@ -2951,6 +3024,13 @@ void perform_noise_estimation_dec_ivas_fx(
                }
            }
        }
        Word32 max_l;
        maximum_l(msNoiseEst, NPART_SHAPING, &max_l);
        if (max_l) {
            q_shift = sub(norm_l(max_l), 2);
            scale_sig32(msNoiseEst, NPART_SHAPING, q_shift);
            hFdCngDec->msNoiseEst_exp = sub(hFdCngDec->msNoiseEst_exp, q_shift);
        }

        Copy32( msNoiseEst, hFdCngDec->msPsd_fx, npart );
        hFdCngDec->msPsd_exp_fft = hFdCngDec->msNoiseEst_exp;
+6 −6
Original line number Diff line number Diff line
@@ -527,8 +527,8 @@ ivas_error ivas_core_dec_fx(

            IF( st->hFdCngDec != NULL )
            {
                Scale_sig32( st->hFdCngDec->msNoiseEst, NPART_SHAPING, sub( st->hFdCngDec->msNoiseEst_exp, 27 ) );
                st->hFdCngDec->msNoiseEst_exp = 27;
                //Scale_sig32( st->hFdCngDec->msNoiseEst, NPART_SHAPING, sub( st->hFdCngDec->msNoiseEst_exp, 27 ) );
                //st->hFdCngDec->msNoiseEst_exp = 27;
                move16();

                Scale_sig( st->hFdCngDec->hFdCngCom->A_cng, add( M, 1 ), sub( norm_s( sub( st->hFdCngDec->hFdCngCom->A_cng[0], 1 ) ), 3 ) );
@@ -609,8 +609,8 @@ ivas_error ivas_core_dec_fx(
            /* TCX decoder */
            Scale_sig( st->hPFstat->mem_stp, L_SUBFR, -Qsyn_temp );
            Scale_sig( st->hPFstat->mem_pf_in, L_SUBFR, -Qsyn_temp );
            Scale_sig32( st->hFdCngDec->msNoiseEst, NPART_SHAPING, sub( st->hFdCngDec->msNoiseEst_exp, 27 ) );
            st->hFdCngDec->msNoiseEst_exp = 27;
            //Scale_sig32( st->hFdCngDec->msNoiseEst, NPART_SHAPING, sub( st->hFdCngDec->msNoiseEst_exp, 27 ) );
            //st->hFdCngDec->msNoiseEst_exp = 27;
            move16();
            Scale_sig( st->hHQ_core->old_out_LB_fx, L_FRAME32k, -st->hHQ_core->Q_old_wtda_LB );
            Scale_sig( st->hHQ_core->old_out_fx, L_FRAME48k, -st->hHQ_core->Q_old_wtda );
@@ -825,8 +825,8 @@ ivas_error ivas_core_dec_fx(
            {
                IF( NE_16( sts[n]->last_core_bfi, ACELP_CORE ) )
                {
                    Scale_sig32( sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, sub( sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevelExp, 27 ) );
                    sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 27;
                    //Scale_sig32( sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, sub( sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevelExp, 27 ) );
                    //sts[n]->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 27;
                    move16();

                    TonalMdctConceal_whiten_noise_shape_ivas_fx( sts[n], L_FRAME16k, ON_FIRST_GOOD_FRAME );
+4 −0
Original line number Diff line number Diff line
@@ -814,6 +814,10 @@ ivas_error ivas_cpe_dec_fx(
            }
        }
    }
    //printf( "\n%f ", (float) hCPE->hCoreCoder[0]->hFdCngDec->msNoiseEst[0] / pow( 2, 31 - hCPE->hCoreCoder[0]->hFdCngDec->msNoiseEst_exp ) );
    //printf( "\n%f ", (float) hCPE->hCoreCoder[0]->hFdCngDec->smoothed_psd_fx[2] / pow( 2, hCPE->hCoreCoder[0]->hFdCngDec->q_smoothed_psd) );
    //printf( "\n%f ", (float) hCPE->hCoreCoder[0]->hFdCngDec->hFdCngCom->cngNoiseLevel[0] / pow( 2, 31 - hCPE->hCoreCoder[0]->hFdCngDec->hFdCngCom->cngNoiseLevelExp) );
    //printf( "\n%f ", (float) hCPE->hCoreCoder[0]->hFdCngDec->hFdCngCom->sidNoiseEst[0] / pow( 2, 31 - hCPE->hCoreCoder[0]->hFdCngDec->hFdCngCom->sidNoiseEstExp) );

    /*----------------------------------------------------------------*
     * Update parameters for stereo CNA
+67 −36

File changed.

Preview size limit exceeded, changes collapsed.

Loading