From fe339ad84dcb61c99062ed964e33e3aeb736d536 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 8 Apr 2026 15:21:54 +0200 Subject: [PATCH 1/3] BASOP issue #2511: Fix reference power computation in protoSignalComputation_shd_fx() --- lib_com/options.h | 1 + lib_rend/ivas_dirac_rend_fx.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index e628cf13d..0ce134b56 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -122,6 +122,7 @@ #define FIX_BASOP_2497_MCMASA_LFE_WRONG_SF_INDEX /* Nokia: BASOP 2497: Fix wrong subframe index in McMASA LFE synth. */ #define FIX_BASOP_2496_OMASA_OBJ_EDIT_WRONG_ASSIGN /* Nokia: BASOP 2496: Fix wrong assignment in OMASA object edit code */ #define FIX_2495_Q_ALIGN_OSBA_RENDERER /* FhG: Basop issue #2495: Corrected exponent scaling of outAudio.data_fx before buffer accumulation in renderSbaToBinaural(). */ +#define FIX_BASOP_2511_PROTO_REF_POWER_FIX /* FhG: BASOP 2511; Fix reference power computation in protoSignalComputation_shd_fx() */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index 67ded0b8b..53caa1890 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -1482,7 +1482,11 @@ void protoSignalComputation_shd_fx( move32(); *p_k_fx[k] = L_shl( *p_k_fx[k], Q1 ); // left shift is done to maintain constant Q factor Q(q_cldfb+min_q_shift) move32(); +#ifdef FIX_BASOP_2511_PROTO_REF_POWER_FIX + reference_power_fx[idx1] = Madd_32_32( reference_power_fx[idx1], Mpy_32_32( *p_k_fx[k], *p_k_fx[k] ) ); // Q(2*(q_cldfb + min_q_shift)-31) +#else reference_power_fx[idx1] = Mpy_32_32( *p_k_fx[k], *p_k_fx[k] ); // Q(2*(q_cldfb + min_q_shift)-31) +#endif move32(); p_k_fx[k]++; -- GitLab From 943105403e438a4ca954197731c45934c81a64b6 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 8 Apr 2026 15:38:41 +0200 Subject: [PATCH 2/3] fix compilation --- lib_rend/ivas_dirac_rend_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index 53caa1890..2d7004b35 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -1483,7 +1483,7 @@ void protoSignalComputation_shd_fx( *p_k_fx[k] = L_shl( *p_k_fx[k], Q1 ); // left shift is done to maintain constant Q factor Q(q_cldfb+min_q_shift) move32(); #ifdef FIX_BASOP_2511_PROTO_REF_POWER_FIX - reference_power_fx[idx1] = Madd_32_32( reference_power_fx[idx1], Mpy_32_32( *p_k_fx[k], *p_k_fx[k] ) ); // Q(2*(q_cldfb + min_q_shift)-31) + reference_power_fx[idx1] = Madd_32_32( reference_power_fx[idx1], *p_k_fx[k], *p_k_fx[k] ); // Q(2*(q_cldfb + min_q_shift)-31) #else reference_power_fx[idx1] = Mpy_32_32( *p_k_fx[k], *p_k_fx[k] ); // Q(2*(q_cldfb + min_q_shift)-31) #endif -- GitLab From fc64602e024677ff18bac3fefed55e74e7301ecc Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 8 Apr 2026 16:54:22 +0200 Subject: [PATCH 3/3] empty commit -- GitLab