Loading lib_com/ivas_prot.h +0 −4 Original line number Diff line number Diff line Loading @@ -1996,10 +1996,6 @@ void decoder_tcx_tns( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t whitenedDomain #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /* i : EVS mono flag */ #endif ); void decoder_tcx_imdct( Loading lib_com/prot.h +1 −6 Original line number Diff line number Diff line Loading @@ -7137,8 +7137,7 @@ void lsf_weight_2st( const float *lsfq, float *w, const int16_t mode, const int32_t sr_core ); const int32_t sr_core ); void mdct_window_sine( float *window, Loading Loading @@ -7886,10 +7885,6 @@ void decoder_tcx( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super_frame */ const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ); void decoder_tcx_post( Loading lib_dec/dec_LPD.c +2 −12 Original line number Diff line number Diff line Loading @@ -595,12 +595,7 @@ void decoder_LPD( } /* TCX decoder */ decoder_tcx( st, prm, Aq, Aind, &synth[0], &synthFB[0], bfi, 0, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 1 #endif ); decoder_tcx( st, prm, Aq, Aind, &synth[0], &synthFB[0], bfi, 0, 0 ); } /*--------------------------------------------------------------------------------* Loading @@ -626,12 +621,7 @@ void decoder_LPD( IGFDecRestoreTCX10SubFrameData( st->hIGFDec, k ); /* TCX decoder */ decoder_tcx( st, prm, Aq, Aind, &synth[k * L_frame / 2], &synthFB[k * L_frameTCX / 2], bfi, k, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 1 #endif ); decoder_tcx( st, prm, Aq, Aind, &synth[k * L_frame / 2], &synthFB[k * L_frameTCX / 2], bfi, k, 0 ); } } Loading lib_dec/dec_tcx.c +3 −17 Original line number Diff line number Diff line Loading @@ -68,10 +68,6 @@ void decoder_tcx( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ) { float x[N_MAX]; Loading Loading @@ -112,12 +108,7 @@ void decoder_tcx( decoder_tcx_noiseshaping_igf( st, L_spec, L_frame, L_frameTCX, left_rect, &x[0], &gainlpc2[0], &tmp_concealment_method, bfi ); decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , isEvsMono #endif ); decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 ); decoder_tcx_imdct( st, L_frame_glob, L_frameTCX_glob, L_spec, tcx_offset, tcx_offsetFB, L_frame, L_frameTCX, left_rect, &x[0], &xn_buf[0], MDCT_IV, fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, 0, sba_dirac_stereo_flag ); Loading Loading @@ -1497,12 +1488,7 @@ void decoder_tcx_tns( STnsData *tnsData, const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t whitenedDomain #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ) const int16_t whitenedDomain ) { int16_t index, isTCX5, L; TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg; Loading Loading @@ -1573,7 +1559,7 @@ void decoder_tcx_tns( #ifndef FIX_I13_TCX_TNS_ISSUE tcx5TnsUngrouping( L_frameTCX >> 1, hTcxCfg->tnsConfig[0][0].iFilterBorders[0] >> 1, x, DEC ); #else if ( isEvsMono ) /*tbc: this is temporary to maintain EVS BE, this is a bug and should be fixed also for EVS (see issue 13) */ if ( st->element_mode == EVS_MONO ) /* TBC: this is temporary to maintain EVS BE, this is a bug and should be fixed also for EVS (see issue 13) */ { tcx5TnsUngrouping( L_frameTCX >> 1, hTcxCfg->tnsConfig[0][0].iFilterBorders[0] >> 1, x, DEC ); } Loading lib_dec/ivas_mdct_core_dec.c +2 −12 Original line number Diff line number Diff line Loading @@ -1112,23 +1112,13 @@ void ivas_mdct_core_tns_ns( } decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 1 #ifdef FIX_I13_TCX_TNS_ISSUE , 0 #endif ); fUseTns[ch][k], &tnsData[ch][k], bfi, k, 1 ); sns_shape_spectrum( x[ch][k], st->hTcxCfg->psychParamsCurrent, &sns_int_scf[0], st->hTcxCfg->psychParamsCurrent->nBins ); v_multc( x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, sns_int_scf[FDNS_NPTS - 1], x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, L_spec[ch] - st->hTcxCfg->psychParamsCurrent->nBins ); decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 0 #endif ); fUseTns[ch][k], &tnsData[ch][k], bfi, k, 0 ); } if ( bfi && st->tonal_mdct_plc_active ) Loading Loading
lib_com/ivas_prot.h +0 −4 Original line number Diff line number Diff line Loading @@ -1996,10 +1996,6 @@ void decoder_tcx_tns( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t whitenedDomain #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /* i : EVS mono flag */ #endif ); void decoder_tcx_imdct( Loading
lib_com/prot.h +1 −6 Original line number Diff line number Diff line Loading @@ -7137,8 +7137,7 @@ void lsf_weight_2st( const float *lsfq, float *w, const int16_t mode, const int32_t sr_core ); const int32_t sr_core ); void mdct_window_sine( float *window, Loading Loading @@ -7886,10 +7885,6 @@ void decoder_tcx( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super_frame */ const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ); void decoder_tcx_post( Loading
lib_dec/dec_LPD.c +2 −12 Original line number Diff line number Diff line Loading @@ -595,12 +595,7 @@ void decoder_LPD( } /* TCX decoder */ decoder_tcx( st, prm, Aq, Aind, &synth[0], &synthFB[0], bfi, 0, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 1 #endif ); decoder_tcx( st, prm, Aq, Aind, &synth[0], &synthFB[0], bfi, 0, 0 ); } /*--------------------------------------------------------------------------------* Loading @@ -626,12 +621,7 @@ void decoder_LPD( IGFDecRestoreTCX10SubFrameData( st->hIGFDec, k ); /* TCX decoder */ decoder_tcx( st, prm, Aq, Aind, &synth[k * L_frame / 2], &synthFB[k * L_frameTCX / 2], bfi, k, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 1 #endif ); decoder_tcx( st, prm, Aq, Aind, &synth[k * L_frame / 2], &synthFB[k * L_frameTCX / 2], bfi, k, 0 ); } } Loading
lib_dec/dec_tcx.c +3 −17 Original line number Diff line number Diff line Loading @@ -68,10 +68,6 @@ void decoder_tcx( const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ) { float x[N_MAX]; Loading Loading @@ -112,12 +108,7 @@ void decoder_tcx( decoder_tcx_noiseshaping_igf( st, L_spec, L_frame, L_frameTCX, left_rect, &x[0], &gainlpc2[0], &tmp_concealment_method, bfi ); decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , isEvsMono #endif ); decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 ); decoder_tcx_imdct( st, L_frame_glob, L_frameTCX_glob, L_spec, tcx_offset, tcx_offsetFB, L_frame, L_frameTCX, left_rect, &x[0], &xn_buf[0], MDCT_IV, fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, 0, sba_dirac_stereo_flag ); Loading Loading @@ -1497,12 +1488,7 @@ void decoder_tcx_tns( STnsData *tnsData, const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super frame */ const int16_t whitenedDomain #ifdef FIX_I13_TCX_TNS_ISSUE , const int16_t isEvsMono /*i: EVS mono flag */ #endif ) const int16_t whitenedDomain ) { int16_t index, isTCX5, L; TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg; Loading Loading @@ -1573,7 +1559,7 @@ void decoder_tcx_tns( #ifndef FIX_I13_TCX_TNS_ISSUE tcx5TnsUngrouping( L_frameTCX >> 1, hTcxCfg->tnsConfig[0][0].iFilterBorders[0] >> 1, x, DEC ); #else if ( isEvsMono ) /*tbc: this is temporary to maintain EVS BE, this is a bug and should be fixed also for EVS (see issue 13) */ if ( st->element_mode == EVS_MONO ) /* TBC: this is temporary to maintain EVS BE, this is a bug and should be fixed also for EVS (see issue 13) */ { tcx5TnsUngrouping( L_frameTCX >> 1, hTcxCfg->tnsConfig[0][0].iFilterBorders[0] >> 1, x, DEC ); } Loading
lib_dec/ivas_mdct_core_dec.c +2 −12 Original line number Diff line number Diff line Loading @@ -1112,23 +1112,13 @@ void ivas_mdct_core_tns_ns( } decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 1 #ifdef FIX_I13_TCX_TNS_ISSUE , 0 #endif ); fUseTns[ch][k], &tnsData[ch][k], bfi, k, 1 ); sns_shape_spectrum( x[ch][k], st->hTcxCfg->psychParamsCurrent, &sns_int_scf[0], st->hTcxCfg->psychParamsCurrent->nBins ); v_multc( x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, sns_int_scf[FDNS_NPTS - 1], x[ch][k] + st->hTcxCfg->psychParamsCurrent->nBins, L_spec[ch] - st->hTcxCfg->psychParamsCurrent->nBins ); decoder_tcx_tns( st, L_frame_global[ch], L_spec[ch], L_frame[ch], L_frameTCX[ch], &x[ch][k][0], fUseTns[ch][k], &tnsData[ch][k], bfi, k, 0 #ifdef FIX_I13_TCX_TNS_ISSUE , 0 #endif ); fUseTns[ch][k], &tnsData[ch][k], bfi, k, 0 ); } if ( bfi && st->tonal_mdct_plc_active ) Loading