1# Copyright (c) 2023, Alliance for Open Media. All rights reserved 2# 3# This source code is subject to the terms of the BSD 3-Clause Clear License 4# and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear 5# License was not distributed with this source code in the LICENSE file, you 6# can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the 7# Alliance for Open Media Patent License 1.0 was not distributed with this 8# source code in the PATENTS file, you can obtain it at 9# www.aomedia.org/license/patent. 10 11# proto-file: iamf/cli/proto/user_metadata.proto 12# proto-message: UserMetadata 13 14test_vector_metadata { 15 human_readable_description: 16 "A simple example of a stereo + stereo base profile IAMF stream has two " 17 "subblocks in the parameter block." 18 file_name_prefix: "test_000408" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-06-27 00:00:00" 23 test_repository_tags: [ 24 "github/aomediacodec/libiamf/main", 25 "github/aomediacodec/libiamf/v1.0.0-errata" 26 ] 27 primary_tested_spec_sections: [ 28 "3.6.1/Parameter Definition Syntax and Semantics", 29 "3.6.1/parameter_id", 30 "3.8/num_subblocks", 31 "3.8.1/Mix Gain Parameter Data Syntax and Semantics", 32 "3.8.1/animation_type == LINEAR", 33 "7/IAMF Processing", 34 "7.4/animation_type == LINEAR" 35 ] 36 base_test: "test_000400" 37} 38 39encoder_control_metadata { 40 add_build_information_tag: false 41} 42 43ia_sequence_header_metadata { 44 primary_profile: PROFILE_VERSION_BASE 45 additional_profile: PROFILE_VERSION_BASE 46} 47 48codec_config_metadata { 49 codec_config_id: 200 50 codec_config { 51 codec_id: CODEC_ID_LPCM 52 num_samples_per_frame: 1024 53 audio_roll_distance: 0 54 decoder_config_lpcm { 55 sample_format_flags: LPCM_LITTLE_ENDIAN 56 sample_size: 16 57 sample_rate: 48000 58 } 59 } 60} 61 62audio_element_metadata: [ 63 { 64 audio_element_id: 300 65 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 66 reserved: 0 67 codec_config_id: 200 68 num_substreams: 1 69 audio_substream_ids: [0] 70 num_parameters: 0 71 scalable_channel_layout_config { 72 num_layers: 1 73 reserved: 0 74 channel_audio_layer_configs: [ 75 { 76 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 77 output_gain_is_present_flag: 0 78 recon_gain_is_present_flag: 0 79 reserved_a: 0 80 substream_count: 1 81 coupled_substream_count: 1 82 } 83 ] 84 } 85 }, 86 { 87 audio_element_id: 301 88 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 89 reserved: 0 90 codec_config_id: 200 91 num_substreams: 1 92 audio_substream_ids: [1] 93 num_parameters: 0 94 scalable_channel_layout_config { 95 num_layers: 1 96 reserved: 0 97 channel_audio_layer_configs: [ 98 { 99 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 100 output_gain_is_present_flag: 0 101 recon_gain_is_present_flag: 0 102 reserved_a: 0 103 substream_count: 1 104 coupled_substream_count: 1 105 } 106 ] 107 } 108 } 109] 110 111mix_presentation_metadata { 112 mix_presentation_id: 42 113 count_label: 1 114 annotations_language: ["en-us"] 115 localized_presentation_annotations: ["test_mix_pres"] 116 num_sub_mixes: 1 117 sub_mixes { 118 num_audio_elements: 2 119 audio_elements: [ 120 { 121 audio_element_id: 300 122 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 123 rendering_config { 124 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 125 } 126 element_mix_gain { 127 param_definition { 128 parameter_id: 999 # Non-existent; default will be used 129 parameter_rate: 48000 130 param_definition_mode: 1 131 reserved: 0 132 } 133 default_mix_gain: -768 134 } 135 }, 136 { 137 audio_element_id: 301 138 localized_element_annotations: ["test_sub_mix_0_audio_element_1"] 139 rendering_config { 140 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 141 } 142 element_mix_gain { 143 param_definition { 144 parameter_id: 998 # Non-existent; default will be used 145 parameter_rate: 48000 146 param_definition_mode: 1 147 reserved: 0 148 } 149 default_mix_gain: -768 150 } 151 } 152 ] 153 output_mix_gain { 154 param_definition { 155 parameter_id: 400 156 parameter_rate: 48000 157 param_definition_mode: 1 158 } 159 default_mix_gain: 0 160 } 161 num_layouts: 1 162 layouts { 163 loudness_layout { 164 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 165 ss_layout { 166 sound_system: SOUND_SYSTEM_A_0_2_0 167 reserved: 0 168 } 169 } 170 loudness { 171 info_type_bit_masks: [] 172 integrated_loudness: -5002 173 digital_peak: -1303 174 } 175 } 176 } 177} 178 179audio_frame_metadata: [ 180 { 181 wav_filename: "Mechanism_5s.wav" 182 samples_to_trim_at_end: 640 183 samples_to_trim_at_start: 0 184 audio_element_id: 300 185 channel_metadatas: [ 186 { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, 187 { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } 188 ] 189 }, 190 { 191 wav_filename: "dialog_clip_stereo.wav" 192 samples_to_trim_at_end: 640 193 samples_to_trim_at_start: 0 194 audio_element_id: 301 195 channel_metadatas: [ 196 { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, 197 { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } 198 ] 199 } 200] 201 202parameter_block_metadata { 203 parameter_id: 400 204 start_timestamp: 0 205 duration: 240640 206 num_subblocks: 2 207 constant_subblock_duration: 0 208 subblocks: [ 209 { 210 subblock_duration: 60160 211 mix_gain_parameter_data { 212 animation_type: ANIMATE_LINEAR 213 param_data { 214 linear { 215 start_point_value: 0 216 end_point_value: 384 217 } 218 } 219 } 220 }, 221 { 222 subblock_duration: 180480 223 mix_gain_parameter_data { 224 animation_type: ANIMATE_LINEAR 225 param_data { 226 linear { 227 start_point_value: 384 228 end_point_value: 768 229 } 230 } 231 } 232 } 233 ] 234} 235 236temporal_delimiter_metadata { 237 enable_temporal_delimiters: false 238} 239