diff --git a/lib_com/options.h b/lib_com/options.h index 17a42db2b4e483a0c5c961e07303593004f46450..5dc02362a431488412c4fac70e9b9ab5a5c31af8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,6 +151,7 @@ #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 */ #define FIX_SBA_CLEAN_UP_OPT /* Fix for tickets #6, #10, #17 and #20 */ +#define FIX_28_SBA_LS_RENDER /* FhG: fix for discontinuities in SBA LS renderer */ #define SIMPLIFY_SBA_RENDERING_LOGIC /* SBA rendering maintenance related to ticket #45 */ #define SBA_CLEANING /* SBA maintenance related to ticket #45 */ diff --git a/lib_dec/ivas_spar_foa_dec.c b/lib_dec/ivas_spar_foa_dec.c index 70426f276e576b6f2c578e988a096974157b3bb6..55460493c6742fe085487660a4e9fcae0ffedd07 100644 --- a/lib_dec/ivas_spar_foa_dec.c +++ b/lib_dec/ivas_spar_foa_dec.c @@ -1282,7 +1282,11 @@ void ivas_spar_dec_upmixer( { if ( ( st_ivas->hOutSetup.num_lfe > 0 ) && ( st_ivas->hOutSetup.index_lfe[idx_lfe] == ch ) ) { +#ifdef FIX_28_SBA_LS_RENDER + set_zero( &( output[ch][i_sf * MAX_PARAM_SPATIAL_SUBFRAMES * num_cldfb_bands] ), MAX_PARAM_SPATIAL_SUBFRAMES * num_cldfb_bands ); +#else set_zero( &( output[ch][0] ), CLDFB_NO_COL_MAX * num_cldfb_bands ); +#endif if ( idx_lfe < ( st_ivas->hDirAC->hOutSetup.num_lfe - 1 ) ) {