Commit a4058bdf authored by Jan Kiene's avatar Jan Kiene
Browse files

remove fadeout delay

parent 0f38b815
Loading
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -800,7 +800,6 @@ enum fea_names
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
#define SNS_NPTS                                16 /* Number of downsampled SNS parameters */

#define MDCT_ST_PLC_FADEOUT_START_FRAME         3
#define MDCT_ST_PLC_FADEOUT_MIN_NOISE_NRG       0.001f

typedef enum {
+0 −3
Original line number Diff line number Diff line
@@ -1946,9 +1946,6 @@ void decoder_tcx_invQ(
    const int16_t **prm_sqQ,
    int16_t *nf_seed,
    const int16_t bfi,                                          /* i  : Bad frame indicator                     */
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
    const int16_t isMCT,
#endif
    const int16_t frame_cnt                                     /* i  : frame counter in the super frame        */
);

+0 −25
Original line number Diff line number Diff line
@@ -98,11 +98,7 @@ void decoder_tcx(

    init_tcx_info( st, L_frame_glob, L_frameTCX_glob, frame_cnt, bfi, &tcx_offset, &tcx_offsetFB, &L_frame, &L_frameTCX, &left_rect, &L_spec );

#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
    decoder_tcx_invQ( st, prm, A, Aind, L_spec, L_frame, L_frameTCX, &x[0], &gainlpc2[0], &xn_buf[0], &fUseTns, &tnsData, &gain_tcx, &prm_sqQ, &nf_seed, bfi, 0, /* <- isMCT */ frame_cnt );
#else
    decoder_tcx_invQ( st, prm, A, Aind, L_spec, L_frame, L_frameTCX, &x[0], &gainlpc2[0], &xn_buf[0], &fUseTns, &tnsData, &gain_tcx, &prm_sqQ, &nf_seed, bfi, frame_cnt );
#endif

#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
    decoder_tcx_noisefilling( st, NULL, A, L_frameTCX_glob, L_spec, L_frame, L_frameTCX, &x[0], &gainlpc2[0], &tmp_concealment_method, gain_tcx, prm_sqQ, nf_seed, bfi, 0, frame_cnt );
@@ -696,9 +692,6 @@ void decoder_tcx_invQ(
    const int16_t **prm_sqQ1,
    int16_t *nf_seed,
    const int16_t bfi, /* i  : Bad frame indicator                     */
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
    const int16_t isMCT,
#endif
    const int16_t frame_cnt /* i  : frame counter in the super frame        */
)
{
@@ -913,25 +906,7 @@ void decoder_tcx_invQ(

            hTcxDec->damping = 1;
        }
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
        else if ( st->element_mode == IVAS_CPE_MDCT && !isMCT  )
        {
            if ( st->nbLostCmpt >= MDCT_ST_PLC_FADEOUT_START_FRAME )
            {
                *gain_tcx = hTcxDec->old_gaintcx_bfi;
                hTcxDec->damping = Damping_fact( st->coder_type, st->nbLostCmpt - MDCT_ST_PLC_FADEOUT_START_FRAME, st->last_good, st->stab_fac, &( st->lp_gainp ), st->last_core );
            }
        else
            {

                *gain_tcx = hTcxDec->old_gaintcx_bfi;
                hTcxDec->damping = 1.0f;
            }
        }
        else if ( st->element_mode != IVAS_CPE_MDCT || isMCT )
#else
        else
#endif
        {
            *gain_tcx = hTcxDec->old_gaintcx_bfi;
            hTcxDec->damping = Damping_fact( st->coder_type, st->nbLostCmpt, st->last_good, st->stab_fac, &( st->lp_gainp ), st->last_core );
+0 −24
Original line number Diff line number Diff line
@@ -280,19 +280,7 @@ void con_tcx(
        st->bpf_gain_param = 0;

        /* PLC: calculate damping factor */
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
        alpha = 1.0f;
        if ( st->element_mode == IVAS_CPE_MDCT && st->nbLostCmpt >= MDCT_ST_PLC_FADEOUT_START_FRAME && A_cng != NULL )
        {
            alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt - MDCT_ST_PLC_FADEOUT_START_FRAME, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
        }
        else if ( A_cng == NULL )
        {
        alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
        }
#else
        alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
#endif

        if ( st->nbLostCmpt == 1 )
        {
@@ -351,20 +339,8 @@ void con_tcx(
        set_f( pitch_buf, (float) L_SUBFR, st->nb_subfr );

        /* PLC: calculate damping factor */
#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
        alpha = 1.0f;
        if ( st->element_mode == IVAS_CPE_MDCT && st->nbLostCmpt >= MDCT_ST_PLC_FADEOUT_START_FRAME && A_cng != NULL )
        {
            alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt - MDCT_ST_PLC_FADEOUT_START_FRAME, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
        }
        else if ( A_cng == NULL )
        {
        alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
    }
#else
        alpha = Damping_fact( st->core_ext_mode, st->nbLostCmpt, st->last_good, st->stab_fac, &( st->lp_gainp ), 0 );
#endif
    }

    /*-----------------------------------------------------------------*
     * Construct the random part of excitation
+0 −4
Original line number Diff line number Diff line
@@ -728,11 +728,7 @@ void ivas_mdct_core_invQ(
                }
                nf_seed = 0;

#ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE
                decoder_tcx_invQ( st, prm[ch], Aq[ch], Aind[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], x[ch][k], NULL, xn_buf, &fUseTns[ch][k], &tnsData[ch][k], &gain_tcx, &prm_sqQ, &nf_seed, bfi, isMCT, k );
#else
                decoder_tcx_invQ( st, prm[ch], Aq[ch], Aind[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], x[ch][k], NULL, xn_buf, &fUseTns[ch][k], &tnsData[ch][k], &gain_tcx, &prm_sqQ, &nf_seed, bfi, k );
#endif

                mvr2r( x[ch][k], x_0[ch][k], L_frameTCX[ch] );