From e385ff6c0702086b3fd334efbaa1d99851639d63 Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja Date: Tue, 10 Mar 2026 13:59:13 +0200 Subject: [PATCH] Fix BASOP issue 2475 by adding additional check agains max_band_decorr. --- 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 8db1debfc..3de61f4d6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -92,6 +92,7 @@ #define HARM_2454_TCX_RES_Q_SPEC /* FhG: harmonization of tcx_res_Q_spec_fx() and tcx_res_Q_spec_ivas_fx() */ #define FIX_FLOAT_1535_ARI_RES_Q_CLEANUP /* FhG: remove dead code from tcx_ari_res_Q_spec() */ #define FIX_2467_RENAME_GSC_FUNCTION /* VA: basop issue 2467: Removal of unused function/table and renaming of _ivas_fx versions to default ones. */ +#define FIX_BASOP_2475_ASSERT_IN_MASA2_REND_TO_MONO /* Nokia: basop issue 2475: Fix MASA2 to MONO rendering within IVAS_rend */ /* #################### End BE switches ################################## */ diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index e121b5929..5df8bbbb1 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -11340,7 +11340,11 @@ static void intermidiate_ext_dirac_render( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] ); move16(); } +#ifdef FIX_BASOP_2475_ASSERT_IN_MASA2_REND_TO_MONO + IF( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_fx != NULL && GT_16( hDirACRend->h_output_synthesis_psd_params.max_band_decorr, 0 ) ) +#else IF( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_fx != NULL ) +#endif { tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_len ); @@ -11349,7 +11353,11 @@ static void intermidiate_ext_dirac_render( move16(); } +#ifdef FIX_BASOP_2475_ASSERT_IN_MASA2_REND_TO_MONO + IF( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_fx != NULL && GT_16( hDirACRend->h_output_synthesis_psd_params.max_band_decorr, 0 ) ) +#else IF( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_fx != NULL ) +#endif { tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_len ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_diff_smooth_prev_q + tmp) */ -- GitLab