| # Copyright (c) 2023, Alliance for Open Media. All rights reserved |
| # |
| # This source code is subject to the terms of the BSD 3-Clause Clear License |
| # and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear |
| # License was not distributed with this source code in the LICENSE file, you |
| # can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the |
| # Alliance for Open Media Patent License 1.0 was not distributed with this |
| # source code in the PATENTS file, you can obtain it at |
| # www.aomedia.org/license/patent. |
| |
| # proto-file: iamf/cli/proto/user_metadata.proto |
| # proto-message: UserMetadata |
| |
| test_vector_metadata { |
| human_readable_description: |
| "A 2-layer IAMF stream encoded using Opus with the last layer " |
| "being 5.1.0 with Demixing Parameter Block OBUs." |
| file_name_prefix: "test_000061" |
| is_valid: true |
| is_valid_to_decode: true |
| validate_user_loudness: true |
| mp4_fixed_timestamp: "2023-06-20 00:00:00" |
| test_repository_tags: [ |
| "github/aomediacodec/libiamf/main", |
| "github/aomediacodec/libiamf/v1.0.0-errata" |
| ] |
| primary_tested_spec_sections: [ |
| "3.6.1/param_definition_mode", |
| "3.6.1/parameter_rate", |
| "3.6.2/channel_audio_layer_config", |
| "3.8/demixing_info_parameter_data", |
| "3.8.2/Demixing Info Parameter Data Syntax and Semantics", |
| "7/IAMF Processing", |
| "7.2/demixing", |
| "7.2.2/De-mixer", |
| "7.3.2/Rendering an Audio Element", |
| "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers" |
| ] |
| base_test: "test_000056" |
| output_wav_file_bit_depth_override: 16 |
| } |
| |
| encoder_control_metadata { |
| add_build_information_tag: false |
| } |
| |
| ia_sequence_header_metadata { |
| primary_profile: PROFILE_VERSION_SIMPLE |
| additional_profile: PROFILE_VERSION_SIMPLE |
| } |
| |
| codec_config_metadata { |
| codec_config_id: 200 |
| codec_config { |
| codec_id: CODEC_ID_OPUS |
| num_samples_per_frame: 960 |
| audio_roll_distance: -4 |
| decoder_config_opus { |
| version: 1 |
| pre_skip: 312 |
| input_sample_rate: 48000 |
| opus_encoder_metadata { |
| target_bitrate_per_channel: 48000 |
| application: APPLICATION_AUDIO |
| use_float_api: false |
| } |
| } |
| } |
| } |
| |
| audio_element_metadata { |
| audio_element_id: 300 |
| audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED |
| reserved: 0 |
| codec_config_id: 200 |
| num_substreams: 4 |
| audio_substream_ids: [0, 1, 2, 3] |
| num_parameters: 2 |
| audio_element_params { |
| param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING |
| demixing_param: { |
| param_definition { |
| parameter_id: 102 |
| parameter_rate: 48000 |
| param_definition_mode: 0 |
| reserved: 0 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| } |
| default_demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| default_w: 0 |
| } |
| } |
| audio_element_params { |
| param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN |
| recon_gain_param { |
| param_definition { |
| parameter_id: 999 # Non-existent; default will be used |
| parameter_rate: 48000 |
| param_definition_mode: 0 |
| reserved: 0 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| } |
| } |
| } |
| scalable_channel_layout_config { |
| num_layers: 2 |
| reserved: 0 |
| channel_audio_layer_configs: [ |
| { |
| loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO |
| output_gain_is_present_flag: 0 |
| recon_gain_is_present_flag: 0 |
| reserved_a: 0 |
| substream_count: 1 |
| coupled_substream_count: 1 |
| }, |
| { |
| loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH |
| output_gain_is_present_flag: 0 |
| recon_gain_is_present_flag: 1 |
| reserved_a: 0 |
| substream_count: 3 |
| coupled_substream_count: 1 |
| } |
| ] |
| } |
| } |
| |
| mix_presentation_metadata { |
| mix_presentation_id: 42 |
| count_label: 1 |
| annotations_language: ["en-us"] |
| localized_presentation_annotations: ["test_mix_pres"] |
| num_sub_mixes: 1 |
| sub_mixes { |
| num_audio_elements: 1 |
| audio_elements { |
| audio_element_id: 300 |
| localized_element_annotations: ["test_sub_mix_0_audio_element_0"] |
| rendering_config { |
| headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO |
| } |
| element_mix_gain { |
| param_definition { |
| parameter_id: 100 |
| parameter_rate: 48000 |
| param_definition_mode: 1 |
| reserved: 0 |
| } |
| default_mix_gain: 0 |
| } |
| } |
| output_mix_gain { |
| param_definition { |
| parameter_id: 100 |
| parameter_rate: 48000 |
| param_definition_mode: 1 |
| reserved: 0 |
| } |
| default_mix_gain: 0 |
| } |
| num_layouts: 2 |
| layouts { |
| loudness_layout { |
| layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION |
| ss_layout { |
| sound_system: SOUND_SYSTEM_A_0_2_0 |
| reserved: 0 |
| } |
| } |
| loudness { |
| info_type_bit_masks: [] |
| integrated_loudness: -5273 |
| digital_peak: -2197 |
| } |
| } |
| layouts { |
| loudness_layout { |
| layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION |
| ss_layout { |
| sound_system: SOUND_SYSTEM_B_0_5_0 |
| reserved: 0 |
| } |
| } |
| loudness { |
| info_type_bit_masks: [] |
| integrated_loudness: -5886 |
| digital_peak: -2845 |
| } |
| } |
| } |
| } |
| |
| audio_frame_metadata { |
| # Not using every channel in the input wav file. |
| wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_0.5s.wav" |
| samples_to_trim_at_end: 648 |
| samples_to_trim_at_start: 312 |
| audio_element_id: 300 |
| channel_metadatas: [ |
| { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 }, |
| { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 }, |
| { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, |
| { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, |
| { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 }, |
| { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 100 |
| start_timestamp: 0 |
| duration: 24960 |
| num_subblocks: 1 |
| constant_subblock_duration: 24960 |
| subblocks: [ |
| { |
| mix_gain_parameter_data { |
| animation_type: ANIMATE_STEP |
| param_data { |
| step { |
| start_point_value: 0 |
| } |
| } |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 0 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 960 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 1920 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 2880 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 3840 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 4800 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 5760 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 6720 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 7680 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 8640 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 9600 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 10560 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 11520 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 12480 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 13440 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 14400 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 15360 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 16320 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 17280 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 18240 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 19200 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 20160 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 21120 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 22080 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 23040 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| parameter_block_metadata { |
| parameter_id: 102 |
| start_timestamp: 24000 |
| duration: 960 |
| num_subblocks: 1 |
| constant_subblock_duration: 960 |
| subblocks: [ |
| { |
| demixing_info_parameter_data: { |
| dmixp_mode: DMIXP_MODE_2 |
| } |
| } |
| ] |
| } |
| |
| temporal_delimiter_metadata { |
| enable_temporal_delimiters: false |
| } |