Loading lib_com/ivas_prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -5219,7 +5219,9 @@ void ivas_omasa_set_config( void ivas_omasa_enc( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ #ifndef OMASA_DIFFUSE_ISM_MERGE IVAS_QMETADATA_HANDLE hQMeta, /* i/o: Qmetadata handle */ #endif MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder handle */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handle */ float data_in_f[][L_FRAME48k], /* i/o: Input / transport audio signals */ Loading lib_enc/ivas_enc.c +5 −1 Original line number Diff line number Diff line Loading @@ -357,7 +357,11 @@ ivas_error ivas_enc( if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC ) { /* Estimate MASA parameters for the objects */ ivas_omasa_enc( st_ivas->hOMasa, st_ivas->hQMetaData, st_ivas->hMasa, st_ivas->hIsmMetaData, data_f, input_frame, st_ivas->nchan_transport, hEncoderConfig->nchan_ism, st_ivas->ism_mode, data_separated_object, &idx_separated_object ); ivas_omasa_enc( st_ivas->hOMasa, #ifndef OMASA_DIFFUSE_ISM_MERGE st_ivas->hQMetaData, #endif st_ivas->hMasa, st_ivas->hIsmMetaData, data_f, input_frame, st_ivas->nchan_transport, hEncoderConfig->nchan_ism, st_ivas->ism_mode, data_separated_object, &idx_separated_object ); } /* Encode ISMs transport channels */ Loading lib_enc/ivas_masa_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -2130,7 +2130,7 @@ static void ivas_merge_masa_metadatas( /* target is original MASA diffuseness */ total_diff_nrg = eneBand * hMeta->common_meta.diffuse_to_total_ratio[sf][band]; /* criterion is mean of ISM ratio and new ratio */ energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.energy_ism[sf][band] ) ) ) / 2.0 * hMasa->data.energy_ism[sf][band]; energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.energy_ism[sf][band] ) ) ) / 2.0f * hMasa->data.energy_ism[sf][band]; /* Determine combined metadata based on the weights */ merge_dest = -1; Loading lib_enc/ivas_omasa_enc.c +3 −1 Original line number Diff line number Diff line Loading @@ -310,7 +310,9 @@ void ivas_omasa_set_config( void ivas_omasa_enc( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ #ifndef OMASA_DIFFUSE_ISM_MERGE IVAS_QMETADATA_HANDLE hQMeta, /* i/o: Qmetadata handle */ #endif MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder handle */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handle */ float data_in_f[][L_FRAME48k], /* i/o: Input / transport audio signals */ Loading Loading @@ -358,7 +360,7 @@ void ivas_omasa_enc( ivas_masa_combine_directions( hMasa ); hMasa->config.numCodingBands = n_bands_orig; hMasa->config.numCodingBands = (int8_t)n_bands_orig; } // force computation into high resolution Loading Loading
lib_com/ivas_prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -5219,7 +5219,9 @@ void ivas_omasa_set_config( void ivas_omasa_enc( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ #ifndef OMASA_DIFFUSE_ISM_MERGE IVAS_QMETADATA_HANDLE hQMeta, /* i/o: Qmetadata handle */ #endif MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder handle */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handle */ float data_in_f[][L_FRAME48k], /* i/o: Input / transport audio signals */ Loading
lib_enc/ivas_enc.c +5 −1 Original line number Diff line number Diff line Loading @@ -357,7 +357,11 @@ ivas_error ivas_enc( if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC ) { /* Estimate MASA parameters for the objects */ ivas_omasa_enc( st_ivas->hOMasa, st_ivas->hQMetaData, st_ivas->hMasa, st_ivas->hIsmMetaData, data_f, input_frame, st_ivas->nchan_transport, hEncoderConfig->nchan_ism, st_ivas->ism_mode, data_separated_object, &idx_separated_object ); ivas_omasa_enc( st_ivas->hOMasa, #ifndef OMASA_DIFFUSE_ISM_MERGE st_ivas->hQMetaData, #endif st_ivas->hMasa, st_ivas->hIsmMetaData, data_f, input_frame, st_ivas->nchan_transport, hEncoderConfig->nchan_ism, st_ivas->ism_mode, data_separated_object, &idx_separated_object ); } /* Encode ISMs transport channels */ Loading
lib_enc/ivas_masa_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -2130,7 +2130,7 @@ static void ivas_merge_masa_metadatas( /* target is original MASA diffuseness */ total_diff_nrg = eneBand * hMeta->common_meta.diffuse_to_total_ratio[sf][band]; /* criterion is mean of ISM ratio and new ratio */ energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.energy_ism[sf][band] ) ) ) / 2.0 * hMasa->data.energy_ism[sf][band]; energyTimesRatioISM = ( hOMasaMeta->directional_meta[0].energy_ratio[sf][band] + ( 1.0f - total_diff_nrg / ( EPSILON + eneBand + hMasa->data.energy_ism[sf][band] ) ) ) / 2.0f * hMasa->data.energy_ism[sf][band]; /* Determine combined metadata based on the weights */ merge_dest = -1; Loading
lib_enc/ivas_omasa_enc.c +3 −1 Original line number Diff line number Diff line Loading @@ -310,7 +310,9 @@ void ivas_omasa_set_config( void ivas_omasa_enc( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ #ifndef OMASA_DIFFUSE_ISM_MERGE IVAS_QMETADATA_HANDLE hQMeta, /* i/o: Qmetadata handle */ #endif MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder handle */ ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handle */ float data_in_f[][L_FRAME48k], /* i/o: Input / transport audio signals */ Loading Loading @@ -358,7 +360,7 @@ void ivas_omasa_enc( ivas_masa_combine_directions( hMasa ); hMasa->config.numCodingBands = n_bands_orig; hMasa->config.numCodingBands = (int8_t)n_bands_orig; } // force computation into high resolution Loading