diff --git a/lib_com/options.h b/lib_com/options.h index db4ab9dcdd1a425595566c79423219d10053669a..942b28011d4fcf2add37060e7a4c30dcae6b78b4 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -210,7 +210,7 @@ #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_798_OSBA_MC_DEC_CRASH - +#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 a566f5a83af3284e41a75431200e000625620eec..41da10691a20c74b675d6e9af08ac80575596d23 100644 --- a/lib_enc/ivas_omasa_enc.c +++ b/lib_enc/ivas_omasa_enc.c @@ -578,6 +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 ) { @@ -585,9 +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 );