From d81173cca3bfc2db49779c70d3ac65ce9dde0ba2 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 28 May 2025 09:24:12 +0200 Subject: [PATCH 1/2] port float MR 1502 --- lib_com/options.h | 1 + lib_dec/ivas_dirac_dec.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 8e7f23a70..3aa8dcfe1 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -209,6 +209,7 @@ #define FIX_1003_PARAMISM_BINAURAL_RECONFIG_USAN /* FhG: fix for #1003: fix USAN caused by ParamISM reconfig */ #define FIX_1001_ARI_HM_OVERFLOW /* FhG: fix for undef behaviour in in the harmonic TCX model arithmetic coder */ #define NONBE_FIX_1005_MC_RS_TCBUFFER_UPDATE /* FhG: issue #1005: fix TC Buffer update at a MC rate switch */ +#define FIX_1060_USAN_ARRAY_BOUNDS /* FhG: issue 1060: USAN array-bounds errors */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 800b28aac..2e3313031 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -2370,8 +2370,14 @@ void ivas_dirac_dec_render_sf( for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ ) { +#ifdef FIX_1060_USAN_ARRAY_BOUNDS + Cldfb_RealBuffer[j2][k][l] += g * *(tc_re++); + Cldfb_ImagBuffer[j2][k][l] += g * *(tc_im++); +#else + Cldfb_RealBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_re++ ); Cldfb_ImagBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_im++ ); +#endif } w1 += hSpatParamRendCom->num_freq_bands; } -- GitLab From 31cdfbd9abb13e2c8b8addebbe7d13a50d57ea19 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Wed, 28 May 2025 09:24:39 +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 2e3313031..b13cad2f8 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -2371,8 +2371,8 @@ void ivas_dirac_dec_render_sf( for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ ) { #ifdef FIX_1060_USAN_ARRAY_BOUNDS - Cldfb_RealBuffer[j2][k][l] += g * *(tc_re++); - Cldfb_ImagBuffer[j2][k][l] += g * *(tc_im++); + Cldfb_RealBuffer[j2][k][l] += g * *( tc_re++ ); + Cldfb_ImagBuffer[j2][k][l] += g * *( tc_im++ ); #else Cldfb_RealBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_re++ ); -- GitLab