From 642d5ebb7852e8cfcebd9c5d7ee84e2ef92a52cd Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Mon, 5 Jan 2026 08:06:50 +0100 Subject: [PATCH 1/2] added some HEADROOMchecks --- lib_com/cldfb_fx.c | 8 ++++++++ lib_com/fft_cldfb_fx.c | 11 +++++++++++ lib_enc/ivas_enc_fx.c | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index 1cfb30d57..aa61cbc2e 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -612,6 +612,14 @@ void cldfbAnalysis_ts_fx_var_q( } } + #define CHECKHR_cldfbAnalysis_ts_fx_var_q_timebuffer +#ifdef CHECKHR_cldfbAnalysis_ts_fx_var_q_timebuffer + for ( int mx = 0; mx < ( ( CLDFB_NO_CHANNELS_MAX * CLDFB_NO_COL_MAX ) + ( 9 * CLDFB_NO_CHANNELS_MAX ) ); mx++ ) + { + //buffer_fx[mx] = MAXVAL_WORD32 >> 4; /*HR 4*/ + assert( ( buffer_fx[mx] != 0 && norm_l( buffer_fx[mx] ) >= 4 ) || ( buffer_fx[mx] == 0 ) ); + } +#endif /* only process needed cols */ IF( GT_16( samplesToProcess, -1 ) ) { diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c index 230dd7ac5..a3ccd5036 100644 --- a/lib_com/fft_cldfb_fx.c +++ b/lib_com/fft_cldfb_fx.c @@ -613,6 +613,17 @@ static void fft30_with_cmplx_data( cmplx *inp /*Qx*/ ) cmplx z[30], y[15], x[15], rs1, rs2, rs3, rs4, t; + #define CHECKHR5_fft30_with_cmplx_data +#ifdef CHECKHR5_fft30_with_cmplx_data + for (int mx=0; mx<30; mx++) + { + assert( ( inp[mx].re != 0 && norm_l( inp[mx].re ) >= 5 ) || inp[mx].re == 0 ); + assert( ( inp[mx].im != 0 && norm_l( inp[mx].im ) >= 5 ) || inp[mx].im == 0 ); + //inp[mx].im = MAXVAL_WORD32>>5; + //inp[mx].re = MAXVAL_WORD32>>5; + } +#endif + /* 1. FFT15 stage */ x[0] = CL_shr( inp[0], SCALEFACTOR30_1 ); diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c index b206d8f8d..6a937582d 100644 --- a/lib_enc/ivas_enc_fx.c +++ b/lib_enc/ivas_enc_fx.c @@ -333,7 +333,7 @@ ivas_error ivas_enc_fx( { /* Scaling data_fx */ { - Word16 norm_data_in = MAX16B; + Word16 norm_data_in = 31; move16(); FOR( i = 0; i < hEncoderConfig->nchan_ism + st_ivas->nchan_transport; i++ ) { -- GitLab From 7c6408865ac7278bc55a5ecac9d7bf8ba25dbf0f Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Mon, 5 Jan 2026 08:33:55 +0100 Subject: [PATCH 2/2] clang patch --- lib_com/cldfb_fx.c | 4 ++-- lib_com/fft_cldfb_fx.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index aa61cbc2e..c681c8e51 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -612,11 +612,11 @@ void cldfbAnalysis_ts_fx_var_q( } } - #define CHECKHR_cldfbAnalysis_ts_fx_var_q_timebuffer +#define CHECKHR_cldfbAnalysis_ts_fx_var_q_timebuffer #ifdef CHECKHR_cldfbAnalysis_ts_fx_var_q_timebuffer for ( int mx = 0; mx < ( ( CLDFB_NO_CHANNELS_MAX * CLDFB_NO_COL_MAX ) + ( 9 * CLDFB_NO_CHANNELS_MAX ) ); mx++ ) { - //buffer_fx[mx] = MAXVAL_WORD32 >> 4; /*HR 4*/ + // buffer_fx[mx] = MAXVAL_WORD32 >> 4; /*HR 4*/ assert( ( buffer_fx[mx] != 0 && norm_l( buffer_fx[mx] ) >= 4 ) || ( buffer_fx[mx] == 0 ) ); } #endif diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c index a3ccd5036..af1207aed 100644 --- a/lib_com/fft_cldfb_fx.c +++ b/lib_com/fft_cldfb_fx.c @@ -613,14 +613,14 @@ static void fft30_with_cmplx_data( cmplx *inp /*Qx*/ ) cmplx z[30], y[15], x[15], rs1, rs2, rs3, rs4, t; - #define CHECKHR5_fft30_with_cmplx_data +#define CHECKHR5_fft30_with_cmplx_data #ifdef CHECKHR5_fft30_with_cmplx_data - for (int mx=0; mx<30; mx++) + for ( int mx = 0; mx < 30; mx++ ) { assert( ( inp[mx].re != 0 && norm_l( inp[mx].re ) >= 5 ) || inp[mx].re == 0 ); assert( ( inp[mx].im != 0 && norm_l( inp[mx].im ) >= 5 ) || inp[mx].im == 0 ); - //inp[mx].im = MAXVAL_WORD32>>5; - //inp[mx].re = MAXVAL_WORD32>>5; + // inp[mx].im = MAXVAL_WORD32>>5; + // inp[mx].re = MAXVAL_WORD32>>5; } #endif -- GitLab