Commit 1072299e authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch '148-crash-with-rate-switching-under-mdct_stereo_plc_fade_2_bg_noise' into 'main'

Resolve "Crash with rate switching under MDCT_STEREO_PLC_FADE_2_BG_NOISE"

See merge request !177
parents 64399db4 d38b65ec
Loading
Loading
Loading
Loading
Loading
+13 −20
Original line number Diff line number Diff line
@@ -201,23 +201,15 @@ ivas_error ivas_core_dec(
        }
#else
        /* PLC: [TCX: Fade-out-recovery] - overlapping part needs to be attenuated for first good frame */
        if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && hMCT == NULL )
        if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) )
        {
            float gain;
            if ( st->hPlcInfo != NULL )
            {
                gain = st->hPlcInfo->recovery_gain;
            }
            else if ( st->hTcxDec != NULL )
            {
                gain = st->hTcxDec->conceal_eof_gain;
            }
            else
            {
                gain = 0.f;
                assert( !"This should never happen." );
            }

            gain = ( st->element_mode == IVAS_CPE_MDCT ) ? st->hTcxDec->conceal_eof_gain :
                   ( st->hPlcInfo != NULL ) ? st->hPlcInfo->recovery_gain : 0.0f;

            if ( ( st->element_mode == IVAS_CPE_MDCT && hMCT == NULL ) || ( st->hPlcInfo != NULL ) )
            {
                v_multc( st->hHQ_core->old_out, gain, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX );
                v_multc( st->hHQ_core->old_outLB, gain, st->hHQ_core->old_outLB, st->L_frame );

@@ -227,6 +219,7 @@ ivas_error ivas_core_dec(
                    v_multc( st->hTcxDec->syn_Overl, gain, st->hTcxDec->syn_Overl, st->hTcxCfg->tcx_mdct_window_length );
                }
            }
        }
#endif 

        set_f( voice_factors[n], 0.f, NB_SUBFR16k );