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

move buffer update to same place as other updates

parent 6d8d514d
Loading
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -565,12 +565,30 @@ void updateBuffersForDmxMdctStereo(
    sts[0] = hCPE->hCoreCoder[0];
    sts[1] = hCPE->hCoreCoder[1];

#ifdef NONBE_FIX_MDCT_STEREO_DTX_MONO_OUT
    if ( is_DTXrate( hCPE->last_element_brate ) )
    {
        /* synch output buffers for inactive frames, but not for transition frames */
        mvr2r( output[0], output[1], output_frame );
        mvr2r( synth[0], synth[1], output_frame );
        
        /* synchronize previous synthesis buffer in first active frame to avoid discontinuities in TCX LTP filtering (performed in synchro_synthesis()) */
        if ( !is_DTXrate( hCPE->element_brate ) )
        {
            int16_t delay_comp_TD;

            delay_comp_TD = NS2SA( sts[0]->output_Fs, IVAS_DEC_DELAY_NS - DELAY_CLDFB_NS );
            mvr2r( sts[0]->prev_synth_buffer, sts[1]->prev_synth_buffer, delay_comp_TD );
        }
    }
#else
    /* synch buffers for inactive frames, but not for transition frames */
    if ( hCPE->last_element_brate <= IVAS_SID_5k2 )
    {
        mvr2r( output[0], output[1], output_frame );
        mvr2r( synth[0], synth[1], output_frame );
    }
#endif

    if ( hCPE->element_brate == IVAS_SID_5k2 && hCPE->last_element_brate > IVAS_SID_5k2 )
    {
+0 −7
Original line number Diff line number Diff line
@@ -1302,13 +1302,6 @@ void synchro_synthesis(
            }
        }

#ifdef NONBE_FIX_MDCT_STEREO_DTX_MONO_OUT
        if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && !is_DTXrate( hCPE->element_brate ) && is_DTXrate( hCPE->last_element_brate ) )
        {
            mvr2r( sts[0]->prev_synth_buffer, sts[1]->prev_synth_buffer, delay_comp_DFT + delay_diff );
        }
#endif

        nChannels = ( hCPE->element_mode == IVAS_CPE_MDCT ) ? 2 : hCPE->nchan_out;
        for ( n = 0; n < nChannels; n++ )
        {