Commit bbd68d06 authored by malenov's avatar malenov
Browse files

do not restrict the fix to MDCT stereo only

parent 1cf4379b
Loading
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -1551,6 +1551,11 @@ void stereo_switching_dec(
        mvr2r( sts[0]->old_exc, sts[1]->old_exc, L_EXC_MEM_DEC );
        mvr2r( sts[0]->lsf_old, sts[1]->lsf_old, M );
        mvr2r( sts[0]->lsp_old, sts[1]->lsp_old, M );

#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
        sts[1]->last_core_brate = sts[0]->last_core_brate;
#endif

        if ( hCPE->element_mode == IVAS_CPE_MDCT )
        {
            sts[1]->last_core = sts[0]->last_core;
@@ -1580,16 +1585,16 @@ void stereo_switching_dec(
        sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain;
    }

#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
    /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */
    if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD )
    {
        if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 )
        {
            sts[1]->last_core_brate = sts[0]->last_core_brate;
        }
    }
#endif
    //if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD )
    //{
    //    if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 )
    //    {
    //        sts[1]->last_core_brate = sts[0]->last_core_brate;
    //    }
    //}
//#endif

    return;
}
+14 −10
Original line number Diff line number Diff line
@@ -801,6 +801,10 @@ void stereo_switching_enc(
        mvr2r( sts[0]->lsf_old1, sts[1]->lsf_old1, M );
        mvr2r( sts[0]->lsp_old1, sts[1]->lsp_old1, M );

#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
        sts[1]->last_core_brate = sts[0]->last_core_brate;
#endif

        sts[1]->GSC_noisy_speech = 0;
        if ( hCPE->element_mode == IVAS_CPE_MDCT )
        {
@@ -832,16 +836,16 @@ void stereo_switching_enc(
        sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode;
    }

#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
    /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */
    if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD )
    {
        if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 )
        {
            sts[1]->last_core_brate = sts[0]->last_core_brate;
        }
    }
#endif
//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING
//    /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */
//    if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD )
//    {
//        if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 )
//        {
//            sts[1]->last_core_brate = sts[0]->last_core_brate;
//        }
//    }
//#endif

    return;
}