From 824d802d5902ebd43224418e77ea4772e350f7d6 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 16 May 2023 16:50:05 +0200 Subject: [PATCH 1/2] fix synthesis config for DirAC LS output at high bitrates --- lib_com/options.h | 2 ++ lib_dec/ivas_dirac_dec.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index f7ee9e9c7c..ffde84d5d3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -214,6 +214,8 @@ #define FIX_STEREO_474 /* FhG fix for issue 574, crash with SBA to stereo output at 512 kbps */ +#define FIX_DIRAC_LS_SYNTHESIS_CONFIG_479 /* FhG: fix for issue 479, broken LS output with DirAC at high BRs */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index c5485119ba..fa3e5b4a3e 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -526,7 +526,11 @@ ivas_error ivas_dirac_dec_config( } - if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC ) + if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC +#ifdef FIX_DIRAC_LS_SYNTHESIS_CONFIG + && !ivas_get_hodirac_flag( ivas_total_brate, st_ivas->sba_analysis_order ) +#endif + ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; hDirAC->panningConf = DIRAC_PANNING_VBAP; -- GitLab From 93e57c84b5ec598763a41c6899ff69a327b905b6 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 16 May 2023 17:15:53 +0200 Subject: [PATCH 2/2] fix formatting --- lib_dec/ivas_dirac_dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index fa3e5b4a3e..2801c9c146 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -529,8 +529,8 @@ ivas_error ivas_dirac_dec_config( if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC #ifdef FIX_DIRAC_LS_SYNTHESIS_CONFIG && !ivas_get_hodirac_flag( ivas_total_brate, st_ivas->sba_analysis_order ) -#endif - ) +#endif + ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; hDirAC->panningConf = DIRAC_PANNING_VBAP; -- GitLab