Loading lib_com/bitstream.c +10 −4 Original line number Diff line number Diff line Loading @@ -1979,17 +1979,22 @@ ivas_error preview_indices( else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ #ifdef OMASA_UPDATES st_ivas->nchan_transport = 2; /* always 2 MASA transport channels */ st_ivas->nchan_ism = 0; #else st_ivas->nchan_transport = 0; #endif if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) { #ifdef OMASA_UPDATES st_ivas->nchan_ism = 2 * bit_stream[total_brate / FRAMES_PER_SEC - 1] + bit_stream[total_brate / FRAMES_PER_SEC - 2] + 1; #endif st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); #ifdef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) #else #ifndef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ ) #endif { st_ivas->nchan_transport = 0; } Loading @@ -2004,6 +2009,7 @@ ivas_error preview_indices( st_ivas->nchan_transport++; k--; } #endif } } #endif Loading lib_dec/ivas_masa_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2462,6 +2462,10 @@ void ivas_masa_ism_set_edited_objects( { hMasaIsmData->azimuth_ism[st_ivas->index_of_edited_ism] = st_ivas->azimuth_edited; hMasaIsmData->elevation_ism[st_ivas->index_of_edited_ism] = st_ivas->elevation_edited; #ifdef OMASA_UPDATES st_ivas->hIsmMetaData[st_ivas->index_of_edited_ism]->azimuth = st_ivas->azimuth_edited; st_ivas->hIsmMetaData[st_ivas->index_of_edited_ism]->elevation = st_ivas->elevation_edited; #endif } } #ifdef OMASA_UPDATES Loading lib_dec/lib_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2026,7 +2026,11 @@ static ivas_error printConfigInfo_dec( #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { #ifdef OMASA_UPDATES fprintf( stdout, "Input configuration: combined ISM and MASA (%i ISM stream(s)) \n", st_ivas->nchan_ism ); #else fprintf( stdout, "Input configuration: combined ISM and MASA (%i separated ISM stream(s)) \n", st_ivas->nchan_transport ); #endif } #endif } Loading lib_rend/ivas_dirac_dec_binaural_functions.c +11 −6 Original line number Diff line number Diff line Loading @@ -467,6 +467,10 @@ static void ivas_dirac_dec_binaural_internal( { numInChannels++; } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && ( st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { numInChannels += (uint8_t) st_ivas->nchan_ism; } #else if ( st_ivas->hOutSetup.separateChannelEnabled || ( st_ivas->ivas_format == MASA_ISM_FORMAT && ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) ) ) { Loading Loading @@ -1220,6 +1224,13 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( } #endif } #ifdef OMASA_UPDATES else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && ( st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { separateCenterChannelRendering = 1; nchanSeparateChannels = (uint8_t) st_ivas->nchan_ism; } #endif #else separateCenterChannelRendering = st_ivas->hOutSetup.separateChannelEnabled; #endif Loading Loading @@ -1386,11 +1397,6 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( { if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { #ifdef OMASA_UPDATES aziDeg = st_ivas->hMasaIsmData->azimuth_separated_ism; eleDeg = st_ivas->hMasaIsmData->elevation_separated_ism; instantChange = 1; #else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { aziDeg = st_ivas->hMasaIsmData->azimuth_ism[chB]; Loading @@ -1402,7 +1408,6 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( eleDeg = st_ivas->hMasaIsmData->elevation_separated_ism; instantChange = 1; } #endif } for ( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading Loading
lib_com/bitstream.c +10 −4 Original line number Diff line number Diff line Loading @@ -1979,17 +1979,22 @@ ivas_error preview_indices( else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ #ifdef OMASA_UPDATES st_ivas->nchan_transport = 2; /* always 2 MASA transport channels */ st_ivas->nchan_ism = 0; #else st_ivas->nchan_transport = 0; #endif if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) { #ifdef OMASA_UPDATES st_ivas->nchan_ism = 2 * bit_stream[total_brate / FRAMES_PER_SEC - 1] + bit_stream[total_brate / FRAMES_PER_SEC - 2] + 1; #endif st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); #ifdef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) #else #ifndef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ ) #endif { st_ivas->nchan_transport = 0; } Loading @@ -2004,6 +2009,7 @@ ivas_error preview_indices( st_ivas->nchan_transport++; k--; } #endif } } #endif Loading
lib_dec/ivas_masa_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2462,6 +2462,10 @@ void ivas_masa_ism_set_edited_objects( { hMasaIsmData->azimuth_ism[st_ivas->index_of_edited_ism] = st_ivas->azimuth_edited; hMasaIsmData->elevation_ism[st_ivas->index_of_edited_ism] = st_ivas->elevation_edited; #ifdef OMASA_UPDATES st_ivas->hIsmMetaData[st_ivas->index_of_edited_ism]->azimuth = st_ivas->azimuth_edited; st_ivas->hIsmMetaData[st_ivas->index_of_edited_ism]->elevation = st_ivas->elevation_edited; #endif } } #ifdef OMASA_UPDATES Loading
lib_dec/lib_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2026,7 +2026,11 @@ static ivas_error printConfigInfo_dec( #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { #ifdef OMASA_UPDATES fprintf( stdout, "Input configuration: combined ISM and MASA (%i ISM stream(s)) \n", st_ivas->nchan_ism ); #else fprintf( stdout, "Input configuration: combined ISM and MASA (%i separated ISM stream(s)) \n", st_ivas->nchan_transport ); #endif } #endif } Loading
lib_rend/ivas_dirac_dec_binaural_functions.c +11 −6 Original line number Diff line number Diff line Loading @@ -467,6 +467,10 @@ static void ivas_dirac_dec_binaural_internal( { numInChannels++; } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && ( st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { numInChannels += (uint8_t) st_ivas->nchan_ism; } #else if ( st_ivas->hOutSetup.separateChannelEnabled || ( st_ivas->ivas_format == MASA_ISM_FORMAT && ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) ) ) { Loading Loading @@ -1220,6 +1224,13 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( } #endif } #ifdef OMASA_UPDATES else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->ism_mode == ISM_MASA_MODE_DISC && ( st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { separateCenterChannelRendering = 1; nchanSeparateChannels = (uint8_t) st_ivas->nchan_ism; } #endif #else separateCenterChannelRendering = st_ivas->hOutSetup.separateChannelEnabled; #endif Loading Loading @@ -1386,11 +1397,6 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( { if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { #ifdef OMASA_UPDATES aziDeg = st_ivas->hMasaIsmData->azimuth_separated_ism; eleDeg = st_ivas->hMasaIsmData->elevation_separated_ism; instantChange = 1; #else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { aziDeg = st_ivas->hMasaIsmData->azimuth_ism[chB]; Loading @@ -1402,7 +1408,6 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices( eleDeg = st_ivas->hMasaIsmData->elevation_separated_ism; instantChange = 1; } #endif } for ( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) Loading