From 23a1066ce85c6be79c42c020fb6b492f6dff0fd3 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Fri, 9 Jan 2026 13:25:47 +0100 Subject: [PATCH 1/3] init pointer array regardless of having samples to flush or not --- lib_com/options.h | 1 + lib_dec/ivas_jbm_dec_fx.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 6a07f86b9..31079e8db 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -113,6 +113,7 @@ #define FIX_1872_REMOVE_UNUSED_PSNOISEGEN_ISAR /* Dolby: Remove unused psNoiseGen from ISAR */ #define FIX_1478_UNINIT_ON_BFI /* VA: Fix issue 1478 where a vector is partly un-initialized during bfi */ #define FIX_1487_ACCESS_OF_UNINIT_VAL_FROM_ARR_ISM_DTX /* FhG/VA: init nb_bits_metadata to zero */ +#define FIX_1486_INIT_OUTPUT_POINTERS /* FhG: always initialize pointers in renderer flush */ /* #################### End BE switches ################################## */ diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c index 093dc841f..0bac13b87 100644 --- a/lib_dec/ivas_jbm_dec_fx.c +++ b/lib_dec/ivas_jbm_dec_fx.c @@ -2461,12 +2461,23 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( DECODER_TC_BUFFER_HANDLE hTcBuffer; Word32 *p_output_fx[MAX_LS_CHANNELS + MAX_NUM_OBJECTS]; Word16 nchan_in, nchan_out; +#ifdef FIX_1486_INIT_OUTPUT_POINTERS + int16_t ch_idx; +#endif + IF( !st_ivas->hDecoderConfig->Opt_tsm ) { return IVAS_ERR_OK; } +#ifdef FIX_1486_INIT_OUTPUT_POINTERS + FOR( ch_idx = 0; ch_idx < ( MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS ); ch_idx++ ) + { + p_output_fx[ch_idx] = st_ivas->p_output_fx[ch_idx]; + } +#endif + *nSamplesRendered = 0; move16(); hTcBuffer = st_ivas->hTcBuffer; @@ -2492,7 +2503,9 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( IF( n_slots_still_available ) { +#ifndef FIX_1486_INIT_OUTPUT_POINTERS Word16 ch_idx; +#endif /* render available full slots (with new lower granularity) */ FOR( ch_idx = 0; ch_idx < s_max( hTcBuffer->nchan_transport_rend, hTcBuffer->nchan_buffer_full ); ch_idx++ ) @@ -2522,10 +2535,12 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( move16(); move16(); +#ifndef FIX_1486_INIT_OUTPUT_POINTERS FOR( ch_idx = 0; ch_idx < ( MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS ); ch_idx++ ) { p_output_fx[ch_idx] = st_ivas->p_output_fx[ch_idx]; } +#endif test(); IF( EQ_16( st_ivas->ivas_format, ISM_FORMAT ) ) -- GitLab From 13acea3976fbd4b6baeb66e36a31b6277fb78ebe Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Mon, 12 Jan 2026 11:59:51 +0100 Subject: [PATCH 2/3] fix variable type and wanring on windows --- lib_dec/ivas_jbm_dec_fx.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c index 0bac13b87..8b1ba5062 100644 --- a/lib_dec/ivas_jbm_dec_fx.c +++ b/lib_dec/ivas_jbm_dec_fx.c @@ -2462,7 +2462,7 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( Word32 *p_output_fx[MAX_LS_CHANNELS + MAX_NUM_OBJECTS]; Word16 nchan_in, nchan_out; #ifdef FIX_1486_INIT_OUTPUT_POINTERS - int16_t ch_idx; + Word16 ch_idx; #endif @@ -2791,7 +2791,11 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( IF( NE_16( st_ivas->ivas_format, MONO_FORMAT ) ) { #ifndef DISABLE_LIMITER +#ifndef FIX_1486_INIT_OUTPUT_POINTERS Word16 ch_idx, exp = 11; +#else + Word16 exp = 11; +#endif move16(); FOR( ch_idx = 0; ch_idx < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) { -- GitLab From e6d8e757c0594682a15a752656ce1e72277ef719 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Mon, 12 Jan 2026 12:01:56 +0100 Subject: [PATCH 3/3] revert accidental change to cI setup --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1de5e5538..3f84bc99f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ variables: # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information - IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF branch + IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF main # If you need to set some config variable only in a local branch, then add an overwrite here # One example is DISABLE_HRTF - this will be set on a branch which is about to be merged and will be removed in a subsequent second MR # this is more easily done directly here in the child repo -- GitLab