From 4778a4da7c2b8b5a91320ca48d2c8b78f950ccb1 Mon Sep 17 00:00:00 2001 From: Mikko-Ville Laitinen Date: Thu, 21 Sep 2023 09:29:16 +0300 Subject: [PATCH 1/2] Bug fix for separated object panning into mix with 1sepmasa mode --- lib_enc/ivas_omasa_enc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_enc/ivas_omasa_enc.c b/lib_enc/ivas_omasa_enc.c index a566f5a83a..304f45c7eb 100644 --- a/lib_enc/ivas_omasa_enc.c +++ b/lib_enc/ivas_omasa_enc.c @@ -578,6 +578,9 @@ void ivas_omasa_enc( ivas_omasa_energy_and_ratio_est( hOMasa, hMasa->data.hOmasaData, data_in_f, input_frame, nchan_ism ); } + /* Downmix */ + ivas_omasa_dmx( data_in_f, data_out_f, input_frame, nchan_transport, nchan_ism, hIsmMeta, hOMasa->prev_object_dm_gains, hOMasa->interpolator ); + /* Move the ISM metadata to the first entry for encoding in the MASA_ONE_OBJ mode */ if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { @@ -585,9 +588,6 @@ void ivas_omasa_enc( hIsmMeta[0]->elevation = hIsmMeta[*idx_separated_object]->elevation; } - /* Downmix */ - ivas_omasa_dmx( data_in_f, data_out_f, input_frame, nchan_transport, nchan_ism, hIsmMeta, hOMasa->prev_object_dm_gains, hOMasa->interpolator ); - /* Merge transport signals */ ivas_merge_masa_transports( data_out_f, &( data_in_f[nchan_ism] ), data_in_f, input_frame, nchan_transport ); -- GitLab From 31be2c8ca74eb3c5ddf28dd5777fe2aa9e542f0c Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja Date: Thu, 21 Sep 2023 10:30:38 +0300 Subject: [PATCH 2/2] Add missing define switch --- lib_com/options.h | 2 +- lib_enc/ivas_omasa_enc.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index f00d747592..9a7019d1f3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -204,7 +204,7 @@ #define NONBE_FIX_588_UPDATE_FASTCONV_SD /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */ #define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */ #define NONBE_FIX_797_OMASA_INACTIVE_SEP_OBJ /* VA: issue 797: fix of crash when the separated object is inactive and the MASA metadata is using very few bits */ - +#define NONBE_FIX_806_OMASA_ONE_SEP_TRANSPORT_MIX /* Nokia: issue 806: fix one separated object mode transport mix of the separated object */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/ivas_omasa_enc.c b/lib_enc/ivas_omasa_enc.c index 304f45c7eb..41da10691a 100644 --- a/lib_enc/ivas_omasa_enc.c +++ b/lib_enc/ivas_omasa_enc.c @@ -578,9 +578,11 @@ void ivas_omasa_enc( ivas_omasa_energy_and_ratio_est( hOMasa, hMasa->data.hOmasaData, data_in_f, input_frame, nchan_ism ); } +#ifdef NONBE_FIX_806_OMASA_ONE_SEP_TRANSPORT_MIX /* Downmix */ ivas_omasa_dmx( data_in_f, data_out_f, input_frame, nchan_transport, nchan_ism, hIsmMeta, hOMasa->prev_object_dm_gains, hOMasa->interpolator ); +#endif /* Move the ISM metadata to the first entry for encoding in the MASA_ONE_OBJ mode */ if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { @@ -588,6 +590,11 @@ void ivas_omasa_enc( hIsmMeta[0]->elevation = hIsmMeta[*idx_separated_object]->elevation; } +#ifndef NONBE_FIX_806_OMASA_ONE_SEP_TRANSPORT_MIX + /* Downmix */ + ivas_omasa_dmx( data_in_f, data_out_f, input_frame, nchan_transport, nchan_ism, hIsmMeta, hOMasa->prev_object_dm_gains, hOMasa->interpolator ); + +#endif /* Merge transport signals */ ivas_merge_masa_transports( data_out_f, &( data_in_f[nchan_ism] ), data_in_f, input_frame, nchan_transport ); -- GitLab