Commit 704aa8c1 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

EVS bitexactness issue fix

parent a06314c5
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1314,7 +1314,7 @@ ivas_error init_encoder_ivas_fx(
            return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" );
        }

        noise_est_init_fx( st->hNoiseEst );
        noise_est_init_ivas_fx( st->hNoiseEst );
    }
    ELSE
    {
+1 −1
Original line number Diff line number Diff line
@@ -618,7 +618,7 @@ ivas_error front_vad_create_fx(
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" ) );
    }
    noise_est_init_fx( hFrontVad->hNoiseEst );
    noise_est_init_ivas_fx( hFrontVad->hNoiseEst );

    IF( ( hFrontVad->hVAD = (VAD_HANDLE) malloc( sizeof( VAD_DATA ) ) ) == NULL )
    {
+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ static ivas_error allocate_CoreCoder_enc_fx(
            return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" ) );
        }
#ifdef IVAS_FLOAT_FIXED
        noise_est_init_fx( st->hNoiseEst );
        noise_est_init_ivas_fx( st->hNoiseEst );
#endif
        noise_est_init( st->hNoiseEst );
    }
+109 −0
Original line number Diff line number Diff line
@@ -166,6 +166,115 @@ void noise_est_init_fx(
{
    Word16 i;

    FOR( i = 0; i < NB_BANDS; i++ )
    {
        hNoiseEst->fr_bands1_fx[i] = 1;
        move32(); /*1e-5f; */
        hNoiseEst->fr_bands2_fx[i] = 1;
        move32(); /*1e-5f; */
        hNoiseEst->ave_enr2_fx[i] = E_MIN_FX;
        move32(); /*Q7//E_MIN; */
        hNoiseEst->enrO_fx[i] = E_MIN_FX;
        move32();
        hNoiseEst->bckr_fx[i] = E_MIN_FX;
        move32();
        hNoiseEst->ave_enr_fx[i] = E_MIN_FX;
        move32();
    }
    move16();
    hNoiseEst->totalNoise_fx = 0;
    move16();
    hNoiseEst->first_noise_updt = 0;
    // hNoiseEst->first_noise_updt_cnt_fx = 0;  IVAS_CODE ??
    move16();

    hNoiseEst->aEn = 6;
    // hNoiseEst->aEn_inac_cnt = 0;  IVAS_CODE
    move16();

    hNoiseEst->harm_cor_cnt = 0;
    move16();
    hNoiseEst->bg_cnt = 0;
    move16();

    hNoiseEst->lt_tn_track_fx = 6554; /*.20 in Q15*/
    move16();
    hNoiseEst->lt_tn_dist_fx = 0;
    move16();
    hNoiseEst->lt_Ellp_dist_fx = 0;
    move16();
    hNoiseEst->lt_haco_ev_fx = 13107; /*.40 in Q15*/
    move16();
    hNoiseEst->low_tn_track_cnt = 0;
    move16();

    hNoiseEst->Etot_st_est_fx = 5120;    /* 20.0f in Q8 */
    hNoiseEst->Etot_sq_st_est_fx = 1600; /* 400 in Q2 */
                                         //###

    hNoiseEst->epsP_0_2_lp_fx = 4096; /*1.0 Q12*/
    move16();
    hNoiseEst->epsP_0_2_ad_lp_fx = 0;
    move16();
    hNoiseEst->epsP_2_16_lp_fx = 4096;
    move16();
    hNoiseEst->epsP_2_16_lp2_fx = 4096;
    move16();
    hNoiseEst->epsP_2_16_dlp_lp2_fx = 0;
    move16();
    hNoiseEst->lt_aEn_zero_fx = 0;
    move16();
    hNoiseEst->Etot_h_32fx = 0;
    move32();
    hNoiseEst->Etot_l_32fx = 0;
    move32();
    hNoiseEst->Etot_l_lp_32fx = 0;
    move32();
    hNoiseEst->Etot_last_32fx = 0;
    move32();
    hNoiseEst->Etot_v_h2_32fx = 0;
    move32();
    hNoiseEst->Etot_lp_32fx = 0;
    move32();
    hNoiseEst->sign_dyn_lp_32fx = 0;
    move32();
    /* Tonal detector */
    FOR( i = 0; i < L_FFT / 2; i++ )
    {
        hNoiseEst->old_S_fx[i] = 1;
        move16();
    }
    set16_fx( hNoiseEst->cor_map_fx, 0, L_FFT / 2 );
    hNoiseEst->act_pred_fx = 32767;
    move16();
    hNoiseEst->noise_char_fx = 0;
    move16();
    hNoiseEst->multi_harm_limit_fx = THR_CORR_INIT_FX;

    hNoiseEst->Etot_lp_fx = 0;
    hNoiseEst->Etot_h_fx = 0;
    hNoiseEst->Etot_l_fx = 0;
    hNoiseEst->Etot_l_lp_fx = 0;
    hNoiseEst->Etot_last_fx = 0;
    hNoiseEst->Etot_v_h2_fx = 0;
    hNoiseEst->sign_dyn_lp_fx = 0;
    move16();
    move16();
    move16();
    move16();
    move16();
    move16();
    move16();

    return;
}

void noise_est_init_ivas_fx(
    NOISE_EST_HANDLE hNoiseEst /* i/o: Noise estimation handle */
)
{
    Word16 i;

    FOR( i = 0; i < NB_BANDS; i++ )
    {
        hNoiseEst->fr_bands1_fx[i] = 1;
+4 −0
Original line number Diff line number Diff line
@@ -3938,6 +3938,10 @@ void noise_est_init_fx(
    NOISE_EST_HANDLE hNoiseEst /* i/o: Noise estimation handle */
);

void noise_est_init_ivas_fx(
    NOISE_EST_HANDLE hNoiseEst /* i/o: Noise estimation handle */
);

void InitSWBencBuffer_fx(
    Encoder_State *st_fx /* i/o: SHB encoder structure */
);