Loading lib_com/ivas_prot.h +6 −1 Original line number Diff line number Diff line Loading @@ -2051,7 +2051,12 @@ void decoder_tcx_IGF_stereo( const int16_t L_frame, /* i : frame length */ const int16_t left_rect, /* i : left part is rectangular */ const int16_t k, /* i : Subframe index */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : bad frame indicator */ const int16_t is_mct /* i : flag to signal MCT or SMDCT */ #else const int16_t bfi /* i : bad frame indicator */ #endif ); void ms_processing( Loading Loading @@ -2086,7 +2091,7 @@ void IGFDecApplyStereo( const int16_t restrict_hopsize, #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ const int16_t element_mode /* i : decoder element mode */ const int16_t apply_damping_bfi /* i : decoder element mode */ #else const int16_t bfi /* i : frame loss == 1, frame good == 0 */ #endif Loading lib_dec/dec_tcx.c +7 −2 Original line number Diff line number Diff line Loading @@ -1927,7 +1927,12 @@ void decoder_tcx_IGF_stereo( const int16_t L_frame, /* i : frame length */ const int16_t left_rect, /* i : left part is rectangular */ const int16_t k, /* i : Subframe index */ const int16_t bfi /* i : bad frame indicator */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : bad frame indicator */ const int16_t is_mct /* i : flag to signal MCT or SMDCT */ #else const int16_t bfi, /* i : bad frame indicator */ #endif ) { int16_t coreMsMask[N_MAX]; Loading Loading @@ -1981,7 +1986,7 @@ void decoder_tcx_IGF_stereo( } #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi, sts[0]->element_mode ); IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi, is_mct ); #else IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi ); #endif Loading lib_dec/igf_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -1253,7 +1253,7 @@ void IGFDecApplyStereo( const int16_t restrict_hopsize, #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ const int16_t element_mode const int16_t apply_damping_bfi #else const int16_t bfi /* i : frame loss == 1, frame good == 0 */ #endif Loading Loading @@ -1354,8 +1354,8 @@ void IGFDecApplyStereo( IGF_calc( hPrivateDataL, igfGridIdx, spectrumL, igf_specL ); IGF_calc( hPrivateDataR, igfGridIdx, spectrumR, igf_specR ); #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse, element_mode != IVAS_CPE_MDCT ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse, element_mode != IVAS_CPE_MDCT ); IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse, apply_damping_bfi ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse, apply_damping_bfi ); #else IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse ); Loading lib_dec/ivas_mct_dec_mct.c +4 −0 Original line number Diff line number Diff line Loading @@ -283,7 +283,11 @@ void mctStereoIGF_dec( /* stereo IGF decoding */ assert( ( sts[0]->core == sts[1]->core ) || ( hMCT->hBlockData[b]->hStereoMdct->mdct_stereo_mode[0] == SMDCT_DUAL_MONO ) ); #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE decoder_tcx_IGF_stereo( sts, hMCT->hBlockData[b]->hStereoMdct, hMCT->hBlockData[b]->mask, p_x, L_frame[0], left_rect[0], k, bfi, 1 /* <- is_mct */ ); #else decoder_tcx_IGF_stereo( sts, hMCT->hBlockData[b]->hStereoMdct, hMCT->hBlockData[b]->mask, p_x, L_frame[0], left_rect[0], k, bfi ); #endif } else { Loading lib_dec/ivas_stereo_mdct_core_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -299,7 +299,11 @@ void stereo_mdct_core_dec( assert( ( sts[0]->core == sts[1]->core ) || ( hCPE->hStereoMdct->mdct_stereo_mode[0] == SMDCT_DUAL_MONO ) ); /* stereo IGF decoding */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE decoder_tcx_IGF_stereo( sts, hCPE->hStereoMdct, ms_mask, x, L_frame[0], left_rect[0], k, bfi, 0 /* <- is_mct */ ); #else decoder_tcx_IGF_stereo( sts, hCPE->hStereoMdct, ms_mask, x, L_frame[0], left_rect[0], k, bfi ); #endif } else { Loading Loading
lib_com/ivas_prot.h +6 −1 Original line number Diff line number Diff line Loading @@ -2051,7 +2051,12 @@ void decoder_tcx_IGF_stereo( const int16_t L_frame, /* i : frame length */ const int16_t left_rect, /* i : left part is rectangular */ const int16_t k, /* i : Subframe index */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : bad frame indicator */ const int16_t is_mct /* i : flag to signal MCT or SMDCT */ #else const int16_t bfi /* i : bad frame indicator */ #endif ); void ms_processing( Loading Loading @@ -2086,7 +2091,7 @@ void IGFDecApplyStereo( const int16_t restrict_hopsize, #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ const int16_t element_mode /* i : decoder element mode */ const int16_t apply_damping_bfi /* i : decoder element mode */ #else const int16_t bfi /* i : frame loss == 1, frame good == 0 */ #endif Loading
lib_dec/dec_tcx.c +7 −2 Original line number Diff line number Diff line Loading @@ -1927,7 +1927,12 @@ void decoder_tcx_IGF_stereo( const int16_t L_frame, /* i : frame length */ const int16_t left_rect, /* i : left part is rectangular */ const int16_t k, /* i : Subframe index */ const int16_t bfi /* i : bad frame indicator */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : bad frame indicator */ const int16_t is_mct /* i : flag to signal MCT or SMDCT */ #else const int16_t bfi, /* i : bad frame indicator */ #endif ) { int16_t coreMsMask[N_MAX]; Loading Loading @@ -1981,7 +1986,7 @@ void decoder_tcx_IGF_stereo( } #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi, sts[0]->element_mode ); IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi, is_mct ); #else IGFDecApplyStereo( sts[0]->hIGFDec, sts[1]->hIGFDec, x[0][k], x[1][k], igfGridIdx, coreMsMask, hStereoMdct->IGFStereoMode[k] == SMDCT_BW_MS, bfi ); #endif Loading
lib_dec/igf_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -1253,7 +1253,7 @@ void IGFDecApplyStereo( const int16_t restrict_hopsize, #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ const int16_t element_mode const int16_t apply_damping_bfi #else const int16_t bfi /* i : frame loss == 1, frame good == 0 */ #endif Loading Loading @@ -1354,8 +1354,8 @@ void IGFDecApplyStereo( IGF_calc( hPrivateDataL, igfGridIdx, spectrumL, igf_specL ); IGF_calc( hPrivateDataR, igfGridIdx, spectrumR, igf_specR ); #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse, element_mode != IVAS_CPE_MDCT ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse, element_mode != IVAS_CPE_MDCT ); IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse, apply_damping_bfi ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse, apply_damping_bfi ); #else IGF_appl( hPrivateDataL, igfGridIdx, spectrumL, igf_specL, hIGFDecL->virtualSpec, hIGFDecL->flag_sparse ); IGF_appl( hPrivateDataR, igfGridIdx, spectrumR, igf_specR, hIGFDecR->virtualSpec, hIGFDecR->flag_sparse ); Loading
lib_dec/ivas_mct_dec_mct.c +4 −0 Original line number Diff line number Diff line Loading @@ -283,7 +283,11 @@ void mctStereoIGF_dec( /* stereo IGF decoding */ assert( ( sts[0]->core == sts[1]->core ) || ( hMCT->hBlockData[b]->hStereoMdct->mdct_stereo_mode[0] == SMDCT_DUAL_MONO ) ); #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE decoder_tcx_IGF_stereo( sts, hMCT->hBlockData[b]->hStereoMdct, hMCT->hBlockData[b]->mask, p_x, L_frame[0], left_rect[0], k, bfi, 1 /* <- is_mct */ ); #else decoder_tcx_IGF_stereo( sts, hMCT->hBlockData[b]->hStereoMdct, hMCT->hBlockData[b]->mask, p_x, L_frame[0], left_rect[0], k, bfi ); #endif } else { Loading
lib_dec/ivas_stereo_mdct_core_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -299,7 +299,11 @@ void stereo_mdct_core_dec( assert( ( sts[0]->core == sts[1]->core ) || ( hCPE->hStereoMdct->mdct_stereo_mode[0] == SMDCT_DUAL_MONO ) ); /* stereo IGF decoding */ #ifdef MDCT_STEREO_PLC_FADE_2_BG_NOISE decoder_tcx_IGF_stereo( sts, hCPE->hStereoMdct, ms_mask, x, L_frame[0], left_rect[0], k, bfi, 0 /* <- is_mct */ ); #else decoder_tcx_IGF_stereo( sts, hCPE->hStereoMdct, ms_mask, x, L_frame[0], left_rect[0], k, bfi ); #endif } else { Loading