From 8a9a897d101df64d75a7e902c2942c68d49c8b4d Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 8 Jul 2025 09:54:28 +0200 Subject: [PATCH 1/2] Port NONBE_FIX_1045_ISM_BITRATE_SWITCHING --- lib_com/options.h | 1 + lib_dec/ivas_ism_dec.c | 9 +++++++++ lib_dec/ivas_mct_dec.c | 4 ++++ lib_dec/ivas_omasa_dec.c | 10 ++++++++-- lib_dec/ivas_sba_dec.c | 4 ++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a3e08cd32..b2cc98922 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -194,6 +194,7 @@ #define NONBE_FIX_1034_DRY_MASA_RATIOS /* Nokia: Fix issue 1034, use of wrong numDir state. */ #define NONBE_FIX_1021_ISM_BRIR_RS_FLUSH /* FhG: issue #1021: fix ISM with JBM and RS renderer flushing*/ #define FIX_1035_HT_OSBA /* Dlb: issue 1035: Issue with headtracking in OSBA*/ +#define NONBE_FIX_1045_ISM_BITRATE_SWITCHING /* Eri: Difference between ROM/File HRTF in ISM bitrate switching */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_ism_dec.c b/lib_dec/ivas_ism_dec.c index 0f138fd94..f0aea76f5 100644 --- a/lib_dec/ivas_ism_dec.c +++ b/lib_dec/ivas_ism_dec.c @@ -254,6 +254,14 @@ static ivas_error ivas_ism_bitrate_switching_dec( } /* Close the TD Binaural renderer */ +#ifdef NONBE_FIX_1045_ISM_BITRATE_SWITCHING + ivas_td_binaural_close( &st_ivas->hBinRendererTd ); + + if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) + { + ivas_reverb_close( &st_ivas->hReverb ); + } +#else if ( st_ivas->hBinRendererTd->HrFiltSet_p->ModelParams.modelROM == TRUE ) { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); @@ -264,6 +272,7 @@ static ivas_error ivas_ism_bitrate_switching_dec( ivas_reverb_close( &st_ivas->hReverb ); } } +#endif } else { diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 1f5ab85dd..f05e449a6 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1198,11 +1198,15 @@ static ivas_error ivas_mc_dec_reconfig( if ( st_ivas->hBinRendererTd != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) ) { +#ifdef NONBE_FIX_1045_ISM_BITRATE_SWITCHING + ivas_td_binaural_close( &st_ivas->hBinRendererTd ); +#else if ( st_ivas->hBinRendererTd->HrFiltSet_p->ModelParams.modelROM == TRUE ) { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); st_ivas->hHrtfTD = NULL; } +#endif } if ( st_ivas->hDiracDecBin[0] != NULL ) diff --git a/lib_dec/ivas_omasa_dec.c b/lib_dec/ivas_omasa_dec.c index 766635ac4..552637205 100644 --- a/lib_dec/ivas_omasa_dec.c +++ b/lib_dec/ivas_omasa_dec.c @@ -329,14 +329,20 @@ ivas_error ivas_omasa_dec_config( } else { - /* TD renderer handle */ +#ifdef NONBE_FIX_1045_ISM_BITRATE_SWITCHING + if ( st_ivas->hBinRendererTd != NULL ) + { + /* TD renderer handle */ + ivas_td_binaural_close( &st_ivas->hBinRendererTd ); + } +#else if ( st_ivas->hBinRendererTd != NULL && st_ivas->hBinRendererTd->HrFiltSet_p->ModelParams.modelROM == TRUE ) { /* TD renderer handle */ ivas_td_binaural_close( &st_ivas->hBinRendererTd ); st_ivas->hHrtfTD = NULL; } - +#endif /* ISM renderer handle + ISM data handle */ ivas_omasa_separate_object_renderer_close( st_ivas ); } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index cff1eef75..a40043745 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -506,11 +506,15 @@ ivas_error ivas_sba_dec_reconfigure( /* Time Domain binaural renderer handle */ if ( st_ivas->hBinRendererTd != NULL ) { +#ifdef NONBE_FIX_1045_ISM_BITRATE_SWITCHING + ivas_td_binaural_close( &st_ivas->hBinRendererTd ); +#else if ( st_ivas->hBinRendererTd->HrFiltSet_p->ModelParams.modelROM == TRUE ) { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); st_ivas->hHrtfTD = NULL; } +#endif } nchan_transport_old += st_ivas->nchan_ism; st_ivas->ism_mode = ISM_MODE_NONE; -- GitLab From ce641ae80fcd87557213a7846a640b291c5c41e5 Mon Sep 17 00:00:00 2001 From: Charles Kinuthia Date: Mon, 4 Aug 2025 13:29:37 +0200 Subject: [PATCH 2/2] dummy commit to trigger CI -- GitLab