Loading lib_com/ivas_prot.h +3 −3 Original line number Diff line number Diff line Loading @@ -1009,7 +1009,7 @@ ivas_error ivas_ism_metadata_enc( const int16_t ism_extended_metadata_flag /* i : Extended metadata flag */ #ifdef MASA_AND_OBJECTS , const float lp_noise_CPE, /* i : LP filterend total noise estimation */ const float lp_noise_CPE, /* i : LP filtered total noise estimation */ const int16_t flag_omasa_ener_brate, /* i : less bitrate for objects in OMASA flag */ int16_t *omasa_stereo_sw_cnt #endif Loading Loading @@ -5861,11 +5861,11 @@ void ivas_omasa_separate_object_render( float output_f[][L_FRAME48k], /* i/o: output signals */ const int16_t output_frame /* i : output frame length per channel */ ); #ifndef FIX__657_REMOVE_EDITING void ivas_omasa_set_edited_objects( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif void ivas_omasa_encode_masa_to_total( IVAS_QMETADATA_HANDLE hQMetaData, BSTR_ENC_HANDLE hMetaData, Loading lib_com/options.h +2 −2 Original line number Diff line number Diff line Loading @@ -230,7 +230,7 @@ #define FIX_663_PARAM_ISM_EXT /* FhG: Issue 663: ParamISM EXT output improvement */ #define FIX_673_OMASA_OBJ_MD_SYNC /* Nokia: Fix issue 673 by updating metadata in the third subframe to account for audio delay. */ #define PARAMUPMIX_BINAURAL_UPDATES /* Dlb : issue 652, MC ParamUpmix Binaural Updates */ #define FIX_657_REMOVE_EDITING /* Nokia: Remove remaining unused coded related to object editing */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dec.c +2 −1 Original line number Diff line number Diff line Loading @@ -597,9 +597,10 @@ ivas_error ivas_dec( hp20( output[n], output_frame, st_ivas->mem_hp20_out[n], output_Fs ); } #ifndef FIX_657_REMOVE_EDITING /* Set edited object positions, if editing enabled */ ivas_omasa_set_edited_objects( st_ivas ); #endif /* Rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { Loading lib_dec/ivas_ism_renderer.c +7 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,13 @@ ivas_error ivas_ism_renderer_open( init_interpolator_length = (uint16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ); interpolator_length = init_interpolator_length; } st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length ); if ( ( st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISM renderer interpolator\n" ) ); } for ( i = 0; i < interpolator_length; i++ ) { st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length - 1 ); Loading lib_dec/ivas_masa_dec.c +10 −4 Original line number Diff line number Diff line Loading @@ -799,6 +799,7 @@ static ivas_error ivas_masa_dec_config( ivas_masa_set_coding_config( &( hMasa->config ), hMasa->data.band_mapping, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ); #endif #ifdef MASA_AND_OBJECTS if ( ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT ) && st_ivas->hDecoderConfig->ivas_total_brate == IVAS_512k ) #else Loading @@ -806,10 +807,14 @@ static ivas_error ivas_masa_dec_config( #endif { hMasa->config.mergeRatiosOverSubframes = 0; /* initialize spherical grid */ if ( hMasa->data.sph_grid16 == NULL ) { hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ); if ( ( hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA data handle\n" ) ); } generate_gridEq( hMasa->data.sph_grid16 ); } } Loading Loading @@ -2358,7 +2363,7 @@ static int16_t ivas_decode_masaism_metadata( nb_bits_read = *next_bit_pos; nbands = hQMetaData->q_direction->cfg.nbands; nblocks = hQMetaData->q_direction->cfg.nblocks; /* To do: what if other value than 4? */ nblocks = hQMetaData->q_direction->cfg.nblocks; /* Read MASA-to-total energy ratios */ ivas_omasa_decode_masa_to_total( bit_stream, next_bit_pos, hQMetaData->masa_to_total_energy_ratio, nbands, nblocks ); Loading Loading @@ -2481,7 +2486,7 @@ static int16_t ivas_decode_masaism_metadata( return ( nb_bits_read - *next_bit_pos ); } #ifndef FIX_657_REMOVE_EDITING /*-------------------------------------------------------------------* * ivas_omasa_set_edited_objects() * Loading @@ -2492,11 +2497,11 @@ void ivas_omasa_set_edited_objects( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { int16_t dir, sf; MASA_ISM_DATA_HANDLE hMasaIsmData; hMasaIsmData = st_ivas->hMasaIsmData; /* Set positions of the edited objects */ if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { Loading Loading @@ -2548,3 +2553,4 @@ void ivas_omasa_set_edited_objects( return; } #endif #endif Loading
lib_com/ivas_prot.h +3 −3 Original line number Diff line number Diff line Loading @@ -1009,7 +1009,7 @@ ivas_error ivas_ism_metadata_enc( const int16_t ism_extended_metadata_flag /* i : Extended metadata flag */ #ifdef MASA_AND_OBJECTS , const float lp_noise_CPE, /* i : LP filterend total noise estimation */ const float lp_noise_CPE, /* i : LP filtered total noise estimation */ const int16_t flag_omasa_ener_brate, /* i : less bitrate for objects in OMASA flag */ int16_t *omasa_stereo_sw_cnt #endif Loading Loading @@ -5861,11 +5861,11 @@ void ivas_omasa_separate_object_render( float output_f[][L_FRAME48k], /* i/o: output signals */ const int16_t output_frame /* i : output frame length per channel */ ); #ifndef FIX__657_REMOVE_EDITING void ivas_omasa_set_edited_objects( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif void ivas_omasa_encode_masa_to_total( IVAS_QMETADATA_HANDLE hQMetaData, BSTR_ENC_HANDLE hMetaData, Loading
lib_com/options.h +2 −2 Original line number Diff line number Diff line Loading @@ -230,7 +230,7 @@ #define FIX_663_PARAM_ISM_EXT /* FhG: Issue 663: ParamISM EXT output improvement */ #define FIX_673_OMASA_OBJ_MD_SYNC /* Nokia: Fix issue 673 by updating metadata in the third subframe to account for audio delay. */ #define PARAMUPMIX_BINAURAL_UPDATES /* Dlb : issue 652, MC ParamUpmix Binaural Updates */ #define FIX_657_REMOVE_EDITING /* Nokia: Remove remaining unused coded related to object editing */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dec.c +2 −1 Original line number Diff line number Diff line Loading @@ -597,9 +597,10 @@ ivas_error ivas_dec( hp20( output[n], output_frame, st_ivas->mem_hp20_out[n], output_Fs ); } #ifndef FIX_657_REMOVE_EDITING /* Set edited object positions, if editing enabled */ ivas_omasa_set_edited_objects( st_ivas ); #endif /* Rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { Loading
lib_dec/ivas_ism_renderer.c +7 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,13 @@ ivas_error ivas_ism_renderer_open( init_interpolator_length = (uint16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ); interpolator_length = init_interpolator_length; } st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length ); if ( ( st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISM renderer interpolator\n" ) ); } for ( i = 0; i < interpolator_length; i++ ) { st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length - 1 ); Loading
lib_dec/ivas_masa_dec.c +10 −4 Original line number Diff line number Diff line Loading @@ -799,6 +799,7 @@ static ivas_error ivas_masa_dec_config( ivas_masa_set_coding_config( &( hMasa->config ), hMasa->data.band_mapping, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ); #endif #ifdef MASA_AND_OBJECTS if ( ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT ) && st_ivas->hDecoderConfig->ivas_total_brate == IVAS_512k ) #else Loading @@ -806,10 +807,14 @@ static ivas_error ivas_masa_dec_config( #endif { hMasa->config.mergeRatiosOverSubframes = 0; /* initialize spherical grid */ if ( hMasa->data.sph_grid16 == NULL ) { hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ); if ( ( hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA data handle\n" ) ); } generate_gridEq( hMasa->data.sph_grid16 ); } } Loading Loading @@ -2358,7 +2363,7 @@ static int16_t ivas_decode_masaism_metadata( nb_bits_read = *next_bit_pos; nbands = hQMetaData->q_direction->cfg.nbands; nblocks = hQMetaData->q_direction->cfg.nblocks; /* To do: what if other value than 4? */ nblocks = hQMetaData->q_direction->cfg.nblocks; /* Read MASA-to-total energy ratios */ ivas_omasa_decode_masa_to_total( bit_stream, next_bit_pos, hQMetaData->masa_to_total_energy_ratio, nbands, nblocks ); Loading Loading @@ -2481,7 +2486,7 @@ static int16_t ivas_decode_masaism_metadata( return ( nb_bits_read - *next_bit_pos ); } #ifndef FIX_657_REMOVE_EDITING /*-------------------------------------------------------------------* * ivas_omasa_set_edited_objects() * Loading @@ -2492,11 +2497,11 @@ void ivas_omasa_set_edited_objects( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { int16_t dir, sf; MASA_ISM_DATA_HANDLE hMasaIsmData; hMasaIsmData = st_ivas->hMasaIsmData; /* Set positions of the edited objects */ if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { Loading Loading @@ -2548,3 +2553,4 @@ void ivas_omasa_set_edited_objects( return; } #endif #endif