From 9039f6d1ac56ba7d2b18ff658190bc8b61cb1ea4 Mon Sep 17 00:00:00 2001 From: vaclav Date: Sun, 21 Jun 2026 12:24:56 +0200 Subject: [PATCH 1/3] FIX_2649_RESET_ISM_METADATA --- lib_com/ivas_ism_com_fx.c | 11 ++++++++--- lib_com/ivas_prot_fx.h | 5 +++-- lib_com/options.h | 1 + lib_dec/ivas_ism_metadata_dec_fx.c | 2 +- lib_enc/ivas_ism_metadata_enc_fx.c | 6 ++++++ lib_enc/lib_enc_fx.c | 6 ++++++ 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c index 43cdf441f..76e5e0010 100644 --- a/lib_com/ivas_ism_com_fx.c +++ b/lib_com/ivas_ism_com_fx.c @@ -438,17 +438,17 @@ ivas_error ivas_ism_config_fx( bitbudget_to_brate( bits_CoreCoder, total_brate, n_ISms ); } - return error; } + /*-------------------------------------------------------------------* * ivas_ism_reset_metadata() * * Reset ISM metadata parameters *-------------------------------------------------------------------*/ -void ivas_ism_reset_metadata( +void ivas_ism_reset_metadata_fx( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handle */ ) { @@ -488,6 +488,7 @@ void ivas_ism_reset_metadata( return; } +#ifndef FIX_2649_RESET_ISM_METADATA void ivas_ism_reset_metadata_enc( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handle */ ) @@ -509,7 +510,7 @@ void ivas_ism_reset_metadata_enc( return; } - +#endif /*-------------------------------------------------------------------* * ivas_ism_reset_metadata_API() @@ -521,7 +522,11 @@ void ivas_ism_reset_metadata_API( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handle */ ) { +#ifdef FIX_2649_RESET_ISM_METADATA + ivas_ism_reset_metadata_fx( hIsmMeta ); +#else ivas_ism_reset_metadata_enc( hIsmMeta ); +#endif return; } diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h index f329d1343..3b590b958 100644 --- a/lib_com/ivas_prot_fx.h +++ b/lib_com/ivas_prot_fx.h @@ -5926,14 +5926,15 @@ void bitbudget_to_brate( const Word16 N /* i : number of entries to be converted */ ); -void ivas_ism_reset_metadata( +void ivas_ism_reset_metadata_fx( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ ); +#ifndef FIX_2649_RESET_ISM_METADATA void ivas_ism_reset_metadata_enc( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handle */ ); - +#endif void ivas_ism_reset_metadata_API( ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ ); diff --git a/lib_com/options.h b/lib_com/options.h index 708911c0f..03ee045cb 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -87,6 +87,7 @@ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ #define HARMONIZE_2502_GENERATE_COMFORT_NOISE_DEC /* FhG: harmonize generate_comfort_noise_dec_fx() and generate_comfort_noise_dec_ivas_fx() */ +#define FIX_2649_RESET_ISM_METADATA /* VA: basop issue 2649: harmonize ISM metadata reset */ /* #################### End BE switches ################################## */ diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c index 4e9fe4154..163d6216a 100644 --- a/lib_dec/ivas_ism_metadata_dec_fx.c +++ b/lib_dec/ivas_ism_metadata_dec_fx.c @@ -817,7 +817,7 @@ void ivas_ism_reset_metadata_handle_dec_fx( hIsmMeta->ism_md_lowrate_flag = 0; move16(); - ivas_ism_reset_metadata( hIsmMeta ); + ivas_ism_reset_metadata_fx( hIsmMeta ); return; } diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c index ff8a47f5e..ca1a22e56 100644 --- a/lib_enc/ivas_ism_metadata_enc_fx.c +++ b/lib_enc/ivas_ism_metadata_enc_fx.c @@ -982,7 +982,11 @@ ivas_error ivas_ism_metadata_enc_create_fx( st_ivas->hIsmMetaData[ch]->q_elevation_old_fx = 0; move16(); +#ifdef FIX_2649_RESET_ISM_METADATA + ivas_ism_reset_metadata_fx( st_ivas->hIsmMetaData[ch] ); +#else ivas_ism_reset_metadata_enc( st_ivas->hIsmMetaData[ch] ); +#endif st_ivas->hIsmMetaData[ch]->last_azimuth_fx = 0; // Q22 move32(); @@ -1031,11 +1035,13 @@ ivas_error ivas_ism_metadata_enc_create_fx( return IVAS_ERR_OK; } + /*------------------------------------------------------------------------- * encode_radius() * * Radius index encoding *-------------------------------------------------------------------------*/ + static void encode_radius_fx( BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ Word16 *last_radius_idx, /* i/o: last radius index */ diff --git a/lib_enc/lib_enc_fx.c b/lib_enc/lib_enc_fx.c index 057bde7d9..e165d25c6 100644 --- a/lib_enc/lib_enc_fx.c +++ b/lib_enc/lib_enc_fx.c @@ -1335,7 +1335,13 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( return error; } +#ifdef FIX_2649_RESET_ISM_METADATA + test(); + test(); + IF( EQ_32( hEncoderConfig->ivas_format, ISM_FORMAT ) || EQ_32( hEncoderConfig->ivas_format, MASA_ISM_FORMAT ) || EQ_32( hEncoderConfig->ivas_format, SBA_ISM_FORMAT ) ) +#else IF( EQ_32( hEncoderConfig->ivas_format, ISM_FORMAT ) ) +#endif { FOR( i = 0; i < hEncoderConfig->nchan_inp; ++i ) { -- GitLab From 21aa3c1f35ef3821860f84441e3587e147c12ec4 Mon Sep 17 00:00:00 2001 From: vaclav Date: Mon, 22 Jun 2026 10:33:54 +0200 Subject: [PATCH 2/3] move define --- lib_com/options.h | 2 +- lib_enc/lib_enc_fx.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 03ee045cb..eb06d7fa6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -87,7 +87,6 @@ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ #define HARMONIZE_2502_GENERATE_COMFORT_NOISE_DEC /* FhG: harmonize generate_comfort_noise_dec_fx() and generate_comfort_noise_dec_ivas_fx() */ -#define FIX_2649_RESET_ISM_METADATA /* VA: basop issue 2649: harmonize ISM metadata reset */ /* #################### End BE switches ################################## */ @@ -117,6 +116,7 @@ #define NONBE_FIX_2493_EXTRACT_L_swb_tbe_enc_fx /* FhG: Fix extract_l overflow inside swb_tbe_enc_fx() */ #define NONBE_FIX_2493_EXTRACT_L_bw_detect_fx /* FhG: Fix extract_l overflow inside bw_detect_fx(). Saturation, not a optimal fix. */ #define FIX_2493_CHECK_EXTRACT_L_FIX_INSTRUMENTATION /* FhG: Fix instrumentation related to extract_l. */ +#define FIX_2649_RESET_ISM_METADATA /* VA: basop issue 2649: harmonize ISM metadata reset */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/lib_enc_fx.c b/lib_enc/lib_enc_fx.c index e165d25c6..678fbf192 100644 --- a/lib_enc/lib_enc_fx.c +++ b/lib_enc/lib_enc_fx.c @@ -1343,7 +1343,11 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( IF( EQ_32( hEncoderConfig->ivas_format, ISM_FORMAT ) ) #endif { +#ifdef FIX_2649_RESET_ISM_METADATA + FOR( i = 0; i < hEncoderConfig->nchan_ism; ++i ) +#else FOR( i = 0; i < hEncoderConfig->nchan_inp; ++i ) +#endif { IF( !hIvasEnc->ismMetadataProvided[i] ) { -- GitLab From 0e8a19bac18a9d2773d3ddadda3e7070f28dcf38 Mon Sep 17 00:00:00 2001 From: vaclav Date: Mon, 22 Jun 2026 10:37:07 +0200 Subject: [PATCH 3/3] clang-format --- lib_enc/ivas_ism_metadata_enc_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c index ca1a22e56..d22f1e1c3 100644 --- a/lib_enc/ivas_ism_metadata_enc_fx.c +++ b/lib_enc/ivas_ism_metadata_enc_fx.c @@ -984,7 +984,7 @@ ivas_error ivas_ism_metadata_enc_create_fx( #ifdef FIX_2649_RESET_ISM_METADATA ivas_ism_reset_metadata_fx( st_ivas->hIsmMetaData[ch] ); -#else +#else ivas_ism_reset_metadata_enc( st_ivas->hIsmMetaData[ch] ); #endif -- GitLab