diff --git a/lib_com/options.h b/lib_com/options.h index c510962fe45e9c22d85ee7bfa1b306ccebc00da0..3b121658ba85f5728ea49086b95562c745481f13 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -177,6 +177,7 @@ #define PARAM_ISM_REFACTOR /* FhG: Issue 768: Refactoring to decouple hDirAC and hParamISM */ #define FIX_678_ISM_SBA_ASAN /* FhG: Issue 678: ASAN in ISM to SBA conversion in JBM */ #define FIX_676_JBM_USAN /* FhG: Issue 676: USAN in JBM */ +#define FIX_796_MCT_MODE_DIFF_JBM /* FhG: Issue 796: fix differences between JBM and non-JBM fOR MC */ /* #################### End BE switches ################################## */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 6ddb8bb48c4371c3b8540765008a85d81036709f..a396feb52a4cf497e24311f2203bd59c581ccdbb 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -412,11 +412,12 @@ ivas_error ivas_jbm_dec_tc( if ( st_ivas->mc_mode == MC_MODE_MCT ) { +#ifndef FIX_796_MCT_MODE_DIFF_JBM if ( st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg == NULL ) // ToDo: this is missing in ivas_dec() -> TBV { st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg; } - +#endif /* LFE channel decoder */ ivas_lfe_dec( st_ivas->hLFE, st, output_frame, st_ivas->bfi, p_output[LFE_CHANNEL] ); @@ -436,7 +437,7 @@ ivas_error ivas_jbm_dec_tc( if ( st_ivas->transport_config != st_ivas->intern_config && ( st_ivas->intern_config == IVAS_AUDIO_CONFIG_FOA || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA2 || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA3 ) ) { - if ( ( st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe ) >= ( st_ivas->hIntSetup.nchan_out_woLFE + st_ivas->hIntSetup.num_lfe ) ) // ToDo: this is missing in ivas_dec() -> TBV + if ( ( st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe ) >= ( st_ivas->hIntSetup.nchan_out_woLFE + st_ivas->hIntSetup.num_lfe ) ) { ivas_mc2sba( st_ivas->hTransSetup, p_output, p_output, output_frame, st_ivas->hIntSetup.ambisonics_order, GAIN_LFE ); }