Commit 98e2b9d0 authored by Jan Kiene's avatar Jan Kiene
Browse files

force MDCT kernel for TRANSITION frames in decoder

parent aea93062
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -147,6 +147,8 @@
/*#define FIX_IVAS_180_PLC_SIGNAL_LAST_OVLP_IN_TCX10*/  /* IVAS-180 write last overlap mode in TCX10 frames to allow for correct TCX10/TCX5 subframe decomposition in TCX10 frames after a lost frame */
/*#define FIX_I1_113*/                                  /* under review : MCT bit distribution optimization for SBA high bitrates*/

#define FIX_MDCT_KERNEL_RATE_SWITCHING_PLC              /* force kernel that can handle ACELP -> TCX transition frame lengths for transition frames in decoder */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
#endif
+5 −1
Original line number Diff line number Diff line
@@ -872,7 +872,11 @@ void ivas_mdct_core_reconstruct(
                {
                    decoder_tcx_imdct( st, L_frame_global[ch], L_frame_globalTCX[ch], L_spec[ch], tcx_offset[ch],
                                       tcx_offsetFB[ch], L_frame[ch], L_frameTCX[ch], left_rect[ch], &x[ch][k][0], xn_buf,
                                       ( st->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && st->hTcxDec->kernel_type[k] == MDST_IV ) ? MDCT_IV : st->hTcxDec->kernel_type[k],
#ifdef FIX_MDCT_KERNEL_RATE_SWITCHING_PLC
                                       (( hCPE->nchan_out == 1 && st->hTcxDec->kernel_type[k] == MDST_IV ) || st->hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) ? MDCT_IV : st->hTcxDec->kernel_type[k],
#else
                                       ( hCPE->nchan_out == 1 && st->hTcxDec->kernel_type[k] == MDST_IV ) ? MDCT_IV : st->hTcxDec->kernel_type[k],
#endif
                                       fUseTns[ch][k], &synth[k * L_frame[ch]], &synthFB[k * L_frameTCX[ch]], bfi, k, isLFE, 0 );
                }
                else