diff --git a/lib_com/options.h b/lib_com/options.h index a5263a49211ffedee314a98108f9e2301f19e86d..8fce6a1925593b3b10fe42174de39b4d070309ff 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -89,6 +89,7 @@ #define HARMONIZE_2502_GENERATE_COMFORT_NOISE_DEC /* FhG: harmonize generate_comfort_noise_dec_fx() and generate_comfort_noise_dec_ivas_fx() */ #define FIX_BASOP_2650_DEC_PRM_TCX /* FhG: Simplify calculation of st->bits_frame_core in dec_prm_tcx(), align function name to float */ #define FIX_2648_IVAS_ISM_DEC_DIGEST_TC /* FhG: improvements on ivas_ism_dec_digest_tc_fx() */ +#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 2eba6449ae75c2662fdd5d2cd683f50f7a08552c..a498ed0986f20703275f9b49034a60ff4c656703 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->inputsIsm[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsIsm[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->inputsMc[i].splitTdRendWrappers ) / sizeof( *hIvasRend->inputsMc[i].splitTdRendWrappers ) ); ++j ) +#else FOR( j = 0; j < MAX_HEAD_ROT_POSES - 1; ++j ) +#endif { hIvasRend->inputsMc[i].splitTdRendWrappers[j].hBinRendererTd = NULL; move32();