From bf890991c854fba5059049932cc309578401fcec Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Fri, 19 Jun 2026 09:45:37 +0200 Subject: [PATCH 1/2] Align split rendering init loops in IVAS_REND_Open with the float implementation --- lib_com/options.h | 1 + lib_rend/lib_rend_fx.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 2bd4c88b7..252a3537b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -86,6 +86,7 @@ #define FIX_1990_SANITIZER_IN_REVERB_LOAD /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ +#define BE_FIX_BASOP_2543_MISMATCH_REND_OPEN_FX_FL /* FhG: Aligns implementation of split rendering init loops in IVAS_REND_Open between float and BASOP */ /* #################### End BE switches ################################## */ diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 2eba6449a..18dc38806 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -3918,7 +3918,11 @@ ivas_error IVAS_REND_Open( move32(); hIvasRend->inputsIsm[i].tdRendWrapper.hBinRendererTd = NULL; move32(); +#ifdef BE_FIX_BASOP_2543_MISMATCH_REND_OPEN_FX_FL + FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsMc[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsMc[i].splitTdRendWrappers ) ); ++j ) +#else FOR( j = 0; j < MAX_HEAD_ROT_POSES - 1; ++j ) +#endif { hIvasRend->inputsIsm[i].splitTdRendWrappers[j].hBinRendererTd = NULL; move32(); @@ -3957,7 +3961,11 @@ ivas_error IVAS_REND_Open( move32(); hIvasRend->inputsMc[i].hMcMasa = NULL; move32(); +#ifdef BE_FIX_BASOP_2543_MISMATCH_REND_OPEN_FX_FL + FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsIsm[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsIsm[i].splitTdRendWrappers ) ); ++j ) +#else FOR( j = 0; j < MAX_HEAD_ROT_POSES - 1; ++j ) +#endif { hIvasRend->inputsMc[i].splitTdRendWrappers[j].hBinRendererTd = NULL; move32(); -- GitLab From 80ad490dcbb85038bd0f6b1420217ea7d59eb40d Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Tue, 23 Jun 2026 10:03:48 +0200 Subject: [PATCH 2/2] Fix incorrect member accesses --- lib_rend/lib_rend_fx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 18dc38806..a498ed098 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -3919,7 +3919,7 @@ ivas_error IVAS_REND_Open( hIvasRend->inputsIsm[i].tdRendWrapper.hBinRendererTd = NULL; move32(); #ifdef BE_FIX_BASOP_2543_MISMATCH_REND_OPEN_FX_FL - FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsMc[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsMc[i].splitTdRendWrappers ) ); ++j ) + FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsIsm[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsIsm[i].splitTdRendWrappers ) ); ++j ) #else FOR( j = 0; j < MAX_HEAD_ROT_POSES - 1; ++j ) #endif @@ -3962,7 +3962,7 @@ ivas_error IVAS_REND_Open( hIvasRend->inputsMc[i].hMcMasa = NULL; move32(); #ifdef BE_FIX_BASOP_2543_MISMATCH_REND_OPEN_FX_FL - FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsIsm[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsIsm[i].splitTdRendWrappers ) ); ++j ) + FOR( j = 0; j < (Word16) ( sizeof( hIvasRend->inputsMc[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsMc[i].splitTdRendWrappers ) ); ++j ) #else FOR( j = 0; j < MAX_HEAD_ROT_POSES - 1; ++j ) #endif -- GitLab