Loading lib_com/ivas_prot.h +9 −5 Original line number Diff line number Diff line Loading @@ -5196,20 +5196,17 @@ void ivas_combined_format_brate_sanity( int16_t *diff_nBits /* o : number of differential bits */ ); ISM_MODE ivas_omasa_ism_mode_select( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t nchan_ism /* i : number of input ISM's */ ); #ifdef MASA_AND_OBJECTS void ivas_set_omasa_TC( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of input ISMs */ int16_t *nSCE, /* o : number of SCEs */ int16_t *nCPE /* o : number of CPEs */ ); #endif void ivas_merge_masa_transports( float data_in_f1[][L_FRAME48k], /* i : Transport audio signals 1 */ Loading @@ -5219,15 +5216,22 @@ void ivas_merge_masa_transports( const int16_t num_transport_channels /* i : Number of transport audio signals */ ); ivas_error ivas_omasa_ism_metadata_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int32_t ism_total_brate, /* i : ISM total bitrate */ int16_t *nchan_ism, /* o : number of ISM separated channels */ int16_t *nchan_transport_ism, /* o : number of ISM TCs */ const int16_t dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ int16_t nb_bits_metadata[] /* o : number of ISM metadata bits */ ); ivas_error ivas_masa_ism_data_open( Decoder_Struct* st_ivas /* i/o: IVAS decoder handle */ ); #ifdef MASA_AND_OBJECTS void ivas_masa_ism_data_close( MASA_ISM_DATA_HANDLE *hMasaIsmData /* i/o: MASA_ISM rendering handle */ ); #endif void preProcessStereoTransportsForMovedObjects( Decoder_Struct* st_ivas, Loading lib_dec/ivas_dec.c +12 −66 Original line number Diff line number Diff line Loading @@ -404,23 +404,21 @@ ivas_error ivas_dec( #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { int16_t dirac_bs_md_write_idx = 0; int16_t nchan_ism, nchan_transport_ism; int16_t dirac_bs_md_write_idx, dirac_read_idx; st = st_ivas->hCPE[0]->hCoreCoder[0]; nb_bits_metadata[0] = 0; set_s( nb_bits_metadata, 0, MAX_SCE + 1 ); /* Set the number of objects for the parametric rendering */ dirac_bs_md_write_idx = 0; if ( st_ivas->hDirAC != NULL ) { st_ivas->hDirAC->numIsmDirections = 0; if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) { st_ivas->hDirAC->numIsmDirections = st_ivas->nchan_ism; } else { st_ivas->hDirAC->numIsmDirections = 0; } dirac_bs_md_write_idx = st_ivas->hDirAC->dirac_bs_md_write_idx; /* Store the write-index for this frame */ } Loading @@ -436,66 +434,12 @@ ivas_error ivas_dec( st->bit_stream = &( st_ivas->bit_stream[( ism_total_brate / FRAMES_PER_SEC )] ); //VE: !!!!! /* set ISM parameters */ int16_t nchan_ism, nchan_transport_ism; nchan_ism = st_ivas->nchan_ism; nchan_transport_ism = st_ivas->nchan_ism; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { nchan_ism = 1; nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { nchan_ism = 0; nchan_transport_ism = 1; } /* decode ISM metadata */ if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { int16_t azimuth_ism; int16_t elevation_ism; int16_t block; int16_t meta_write_index; /* decode ISM metadata */ if ( ( error = ivas_ism_metadata_dec( ism_total_brate, nchan_ism, &nchan_transport_ism, st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, &nb_bits_metadata[1], st_ivas->ism_mode, st_ivas->hISMDTX, NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt ) ) != IVAS_ERR_OK ) /* set ISM parameters and decode ISM metadata in OMASA format */ if ( ( error = ivas_omasa_ism_metadata_dec( st_ivas, ism_total_brate, &nchan_ism, &nchan_transport_ism, dirac_bs_md_write_idx, &nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; } // VE: move the following updates into ivas_ism_metadata_dec() if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_ism[n][meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_ism[n][meta_write_index] = elevation_ism; } } } else /* ISM_MASA_MODE_MASA_ONE_OBJ */ { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = elevation_ism; } } } /* decode ISM channels */ for ( n = 0; n < nchan_transport_ism; n++ ) { Loading Loading @@ -569,18 +513,20 @@ ivas_error ivas_dec( { if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { //ivas_omasa_rend( st_ivas, output ); float data_separated_objects[MAX_NUM_OBJECTS][L_FRAME48k]; int16_t dirac_read_idx; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { mvr2r( output[2], data_separated_objects[0], output_frame ); // mvr2r( output[2], data_separated_objects[0], output_frame ); } else { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { mvr2r( output[n + 2], data_separated_objects[n], output_frame ); // mvr2r( output[n + 2], data_separated_objects[n], output_frame ); } } Loading lib_dec/ivas_omasa_dec.c +76 −0 Original line number Diff line number Diff line Loading @@ -392,4 +392,80 @@ void ivas_set_surplus_brate_dec( return; } /*--------------------------------------------------------------------------* * ivas_omasa_ism_metadata_dec() * * decode ISM metadata in OMASA format *--------------------------------------------------------------------------*/ ivas_error ivas_omasa_ism_metadata_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int32_t ism_total_brate, /* i : ISM total bitrate */ int16_t *nchan_ism, /* o : number of ISM separated channels */ int16_t *nchan_transport_ism, /* o : number of ISM TCs */ const int16_t dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ int16_t nb_bits_metadata[] /* o : number of ISM metadata bits */ ) { int16_t n, block; int16_t azimuth_ism, elevation_ism, meta_write_index; ivas_error error; /* set ISM parameters */ *nchan_ism = st_ivas->nchan_ism; *nchan_transport_ism = st_ivas->nchan_ism; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { *nchan_ism = 1; *nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { *nchan_ism = 0; *nchan_transport_ism = 1; } if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { /* decode ISM metadata */ if ( ( error = ivas_ism_metadata_dec( ism_total_brate, *nchan_ism, nchan_transport_ism, st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt ) ) != IVAS_ERR_OK ) { return error; } if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_ism[n][meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_ism[n][meta_write_index] = elevation_ism; } } } else /* ISM_MASA_MODE_MASA_ONE_OBJ */ { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = elevation_ism; } } } return IVAS_ERR_OK; } #endif lib_enc/ivas_enc.c +6 −3 Original line number Diff line number Diff line Loading @@ -348,8 +348,11 @@ ivas_error ivas_enc( } /* Encode MASA parameters and write MASA metadata bitstream */ ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp ); if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp ) ) != IVAS_ERR_OK ) { return error; } /* Configuration of combined-format bit-budget distribution */ #ifdef DEBUG_MODE_INFO Loading @@ -368,7 +371,7 @@ ivas_error ivas_enc( else if ( ivas_format == MC_FORMAT ) { /* select MC format mode; write MC LS setup; reconfigure the MC format encoder */ if ( ( ivas_mc_enc_config( st_ivas ) ) != IVAS_ERR_OK ) if ( ( error = ivas_mc_enc_config( st_ivas ) ) != IVAS_ERR_OK ) { return error; } Loading Loading
lib_com/ivas_prot.h +9 −5 Original line number Diff line number Diff line Loading @@ -5196,20 +5196,17 @@ void ivas_combined_format_brate_sanity( int16_t *diff_nBits /* o : number of differential bits */ ); ISM_MODE ivas_omasa_ism_mode_select( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t nchan_ism /* i : number of input ISM's */ ); #ifdef MASA_AND_OBJECTS void ivas_set_omasa_TC( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of input ISMs */ int16_t *nSCE, /* o : number of SCEs */ int16_t *nCPE /* o : number of CPEs */ ); #endif void ivas_merge_masa_transports( float data_in_f1[][L_FRAME48k], /* i : Transport audio signals 1 */ Loading @@ -5219,15 +5216,22 @@ void ivas_merge_masa_transports( const int16_t num_transport_channels /* i : Number of transport audio signals */ ); ivas_error ivas_omasa_ism_metadata_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int32_t ism_total_brate, /* i : ISM total bitrate */ int16_t *nchan_ism, /* o : number of ISM separated channels */ int16_t *nchan_transport_ism, /* o : number of ISM TCs */ const int16_t dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ int16_t nb_bits_metadata[] /* o : number of ISM metadata bits */ ); ivas_error ivas_masa_ism_data_open( Decoder_Struct* st_ivas /* i/o: IVAS decoder handle */ ); #ifdef MASA_AND_OBJECTS void ivas_masa_ism_data_close( MASA_ISM_DATA_HANDLE *hMasaIsmData /* i/o: MASA_ISM rendering handle */ ); #endif void preProcessStereoTransportsForMovedObjects( Decoder_Struct* st_ivas, Loading
lib_dec/ivas_dec.c +12 −66 Original line number Diff line number Diff line Loading @@ -404,23 +404,21 @@ ivas_error ivas_dec( #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { int16_t dirac_bs_md_write_idx = 0; int16_t nchan_ism, nchan_transport_ism; int16_t dirac_bs_md_write_idx, dirac_read_idx; st = st_ivas->hCPE[0]->hCoreCoder[0]; nb_bits_metadata[0] = 0; set_s( nb_bits_metadata, 0, MAX_SCE + 1 ); /* Set the number of objects for the parametric rendering */ dirac_bs_md_write_idx = 0; if ( st_ivas->hDirAC != NULL ) { st_ivas->hDirAC->numIsmDirections = 0; if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) { st_ivas->hDirAC->numIsmDirections = st_ivas->nchan_ism; } else { st_ivas->hDirAC->numIsmDirections = 0; } dirac_bs_md_write_idx = st_ivas->hDirAC->dirac_bs_md_write_idx; /* Store the write-index for this frame */ } Loading @@ -436,66 +434,12 @@ ivas_error ivas_dec( st->bit_stream = &( st_ivas->bit_stream[( ism_total_brate / FRAMES_PER_SEC )] ); //VE: !!!!! /* set ISM parameters */ int16_t nchan_ism, nchan_transport_ism; nchan_ism = st_ivas->nchan_ism; nchan_transport_ism = st_ivas->nchan_ism; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { nchan_ism = 1; nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { nchan_ism = 0; nchan_transport_ism = 1; } /* decode ISM metadata */ if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { int16_t azimuth_ism; int16_t elevation_ism; int16_t block; int16_t meta_write_index; /* decode ISM metadata */ if ( ( error = ivas_ism_metadata_dec( ism_total_brate, nchan_ism, &nchan_transport_ism, st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, &nb_bits_metadata[1], st_ivas->ism_mode, st_ivas->hISMDTX, NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt ) ) != IVAS_ERR_OK ) /* set ISM parameters and decode ISM metadata in OMASA format */ if ( ( error = ivas_omasa_ism_metadata_dec( st_ivas, ism_total_brate, &nchan_ism, &nchan_transport_ism, dirac_bs_md_write_idx, &nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; } // VE: move the following updates into ivas_ism_metadata_dec() if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_ism[n][meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_ism[n][meta_write_index] = elevation_ism; } } } else /* ISM_MASA_MODE_MASA_ONE_OBJ */ { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = elevation_ism; } } } /* decode ISM channels */ for ( n = 0; n < nchan_transport_ism; n++ ) { Loading Loading @@ -569,18 +513,20 @@ ivas_error ivas_dec( { if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { //ivas_omasa_rend( st_ivas, output ); float data_separated_objects[MAX_NUM_OBJECTS][L_FRAME48k]; int16_t dirac_read_idx; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { mvr2r( output[2], data_separated_objects[0], output_frame ); // mvr2r( output[2], data_separated_objects[0], output_frame ); } else { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { mvr2r( output[n + 2], data_separated_objects[n], output_frame ); // mvr2r( output[n + 2], data_separated_objects[n], output_frame ); } } Loading
lib_dec/ivas_omasa_dec.c +76 −0 Original line number Diff line number Diff line Loading @@ -392,4 +392,80 @@ void ivas_set_surplus_brate_dec( return; } /*--------------------------------------------------------------------------* * ivas_omasa_ism_metadata_dec() * * decode ISM metadata in OMASA format *--------------------------------------------------------------------------*/ ivas_error ivas_omasa_ism_metadata_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int32_t ism_total_brate, /* i : ISM total bitrate */ int16_t *nchan_ism, /* o : number of ISM separated channels */ int16_t *nchan_transport_ism, /* o : number of ISM TCs */ const int16_t dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ int16_t nb_bits_metadata[] /* o : number of ISM metadata bits */ ) { int16_t n, block; int16_t azimuth_ism, elevation_ism, meta_write_index; ivas_error error; /* set ISM parameters */ *nchan_ism = st_ivas->nchan_ism; *nchan_transport_ism = st_ivas->nchan_ism; if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { *nchan_ism = 1; *nchan_transport_ism = 1; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) { *nchan_ism = 0; *nchan_transport_ism = 1; } if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) { /* decode ISM metadata */ if ( ( error = ivas_ism_metadata_dec( ism_total_brate, *nchan_ism, nchan_transport_ism, st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt ) ) != IVAS_ERR_OK ) { return error; } if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { for ( n = 0; n < st_ivas->nchan_ism; n++ ) { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[n]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_ism[n][meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_ism[n][meta_write_index] = elevation_ism; } } } else /* ISM_MASA_MODE_MASA_ONE_OBJ */ { azimuth_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->azimuth + 0.5f ); elevation_ism = (int16_t) ( st_ivas->hIsmMetaData[0]->elevation + 0.5f ); for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { meta_write_index = ( dirac_bs_md_write_idx + block ) % st_ivas->hDirAC->dirac_md_buffer_length; st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = azimuth_ism; st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = elevation_ism; } } } return IVAS_ERR_OK; } #endif
lib_enc/ivas_enc.c +6 −3 Original line number Diff line number Diff line Loading @@ -348,8 +348,11 @@ ivas_error ivas_enc( } /* Encode MASA parameters and write MASA metadata bitstream */ ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp ); if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, nb_bits_metadata, st_ivas->nchan_transport, ivas_format, ivas_total_brate, st_ivas->hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1, st_ivas->ism_mode, hEncoderConfig->nchan_ism, st_ivas->hIsmMetaData, idx_separated_object, st_ivas->hOMasa, st_ivas->hIsmMetaData[0]->ism_imp ) ) != IVAS_ERR_OK ) { return error; } /* Configuration of combined-format bit-budget distribution */ #ifdef DEBUG_MODE_INFO Loading @@ -368,7 +371,7 @@ ivas_error ivas_enc( else if ( ivas_format == MC_FORMAT ) { /* select MC format mode; write MC LS setup; reconfigure the MC format encoder */ if ( ( ivas_mc_enc_config( st_ivas ) ) != IVAS_ERR_OK ) if ( ( error = ivas_mc_enc_config( st_ivas ) ) != IVAS_ERR_OK ) { return error; } Loading