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

Merge branch...

Merge branch '26-mdct-stereo-kernel-switching-can-crash-the-decoder-in-combination-with-plc-and-rate-switching' into 'main'

[non-BE] Fix #26 MDCT-Stereo kernel swithcing crashing the decoder with PLC and rate switching

See merge request !14
parents 349c80bb 09b4e61d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@

#define FIX_1_CUSTOM_LS                                   /* fix bug 1-ivas-internal-error-in-decoder-for-custom-loudspeaker-format-with-sba-input-at-24-4kbps */
#define FIX_TDREND_STANDALONE                           /* Fix for TD standalone renderer (broken after update of hHrtfTD pointer and addition of hRenderConfig */
#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 */
+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