1# Copyright (c) 2024, 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# txtpbfmt: disable 14 15test_vector_metadata { 16 human_readable_description: 17 "A simple example of a fourth-order projection ambisonics + Stereo-SS " 18 "Base-Enhanced profile IAMF stream and a 5.1.4 output layout." 19 file_name_prefix: "test_000619" 20 is_valid: true 21 is_valid_to_decode: true 22 validate_user_loudness: true 23 mp4_fixed_timestamp: "2024-08-08 00:00:00" 24 test_repository_tags: ["github/aomediacodec/libiamf/main"] 25 primary_tested_spec_sections: [ 26 "3.6.2/loudspeaker_layout == Expanded", 27 "3.6.2/expanded_loudspeaker_layout == Stereo-SS", 28 "3.6.3/ambisonics_projection_config", 29 "3.7.3/sound_system == 5.1.4", 30 "3.7.4/default_mix_gain", 31 "4.2/Base-Enhanced Profile", 32 "8.5.1/Loudness Information" 33 ] 34 base_test: "test_000400" 35} 36 37encoder_control_metadata { 38 add_build_information_tag: false 39} 40 41ia_sequence_header_metadata { 42 primary_profile: PROFILE_VERSION_BASE_ENHANCED 43 additional_profile: PROFILE_VERSION_BASE_ENHANCED 44} 45 46codec_config_metadata { 47 codec_config_id: 200 48 codec_config { 49 codec_id: CODEC_ID_LPCM 50 num_samples_per_frame: 1024 51 audio_roll_distance: 0 52 decoder_config_lpcm { 53 sample_format_flags: LPCM_LITTLE_ENDIAN 54 sample_size: 16 55 sample_rate: 48000 56 } 57 } 58} 59 60audio_element_metadata: [ 61 { 62 audio_element_id: 300 63 audio_element_type: AUDIO_ELEMENT_SCENE_BASED 64 reserved: 0 65 codec_config_id: 200 66 num_substreams: 25 67 audio_substream_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] 68 num_parameters: 0 69 ambisonics_config { 70 ambisonics_mode: AMBISONICS_MODE_PROJECTION 71 ambisonics_projection_config { 72 output_channel_count: 25 73 substream_count: 25 74 coupled_substream_count: 0 75 demixing_matrix: [ 76 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 0 77 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 1 78 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 2 79 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 3 80 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 4 81 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 5 82 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 6 83 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 7 84 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 8 85 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 9 86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 10 87 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 11 88 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 12 89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 13 90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 14 91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 15 92 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, # col 16 93 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, # col 17 94 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, # col 18 95 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, # col 19 96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, # col 20 97 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, # col 21 98 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, # col 22 99 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, # col 23 100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767 # col 24 101 ] 102 } 103 } 104 }, 105 { 106 audio_element_id: 301 107 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 108 reserved: 0 109 codec_config_id: 200 110 num_substreams: 1 111 audio_substream_ids: [25] 112 num_parameters: 0 113 scalable_channel_layout_config { 114 num_layers: 1 115 reserved: 0 116 channel_audio_layer_configs: [ 117 { 118 loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED 119 output_gain_is_present_flag: 0 120 recon_gain_is_present_flag: 0 121 reserved_a: 0 122 substream_count: 1 123 coupled_substream_count: 1 124 expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_SS 125 } 126 ] 127 } 128 } 129] 130 131mix_presentation_metadata { 132 mix_presentation_id: 42 133 count_label: 1 134 annotations_language: ["en-us"] 135 localized_presentation_annotations: ["test_mix_pres"] 136 num_sub_mixes: 1 137 sub_mixes { 138 num_audio_elements: 2 139 audio_elements: [ 140 { 141 audio_element_id: 300 142 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 143 rendering_config { 144 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 145 } 146 element_mix_gain { 147 param_definition { 148 parameter_id: 999 # Non-existent; default will be used 149 parameter_rate: 48000 150 param_definition_mode: 1 151 reserved: 0 152 } 153 default_mix_gain: -768 154 } 155 }, 156 { 157 audio_element_id: 301 158 localized_element_annotations: ["test_sub_mix_0_audio_element_1"] 159 rendering_config { 160 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 161 } 162 element_mix_gain { 163 param_definition { 164 parameter_id: 998 # Non-existent; default will be used 165 parameter_rate: 48000 166 param_definition_mode: 1 167 reserved: 0 168 } 169 default_mix_gain: -768 170 } 171 } 172 ] 173 output_mix_gain { 174 param_definition { 175 parameter_id: 997 # Non-existent; default will be used 176 parameter_rate: 48000 177 param_definition_mode: 1 178 reserved: 0 179 } 180 default_mix_gain: 0 181 } 182 num_layouts: 2 183 layouts { 184 loudness_layout { 185 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 186 ss_layout { 187 sound_system: SOUND_SYSTEM_A_0_2_0 188 reserved: 0 189 } 190 } 191 loudness { 192 info_type_bit_masks: [] 193 integrated_loudness: -4401 194 digital_peak: -2490 195 } 196 } 197 layouts { 198 loudness_layout { 199 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 200 ss_layout { 201 sound_system: SOUND_SYSTEM_D_4_5_0 202 reserved: 0 203 } 204 } 205 loudness { 206 info_type_bit_masks: [] 207 integrated_loudness: -4638 208 digital_peak: -4133 209 } 210 } 211 } 212} 213 214audio_frame_metadata: [ 215 { 216 wav_filename: "sine_1000_4oa_48khz.wav" 217 samples_to_trim_at_end: 640 218 samples_to_trim_at_start: 0 219 audio_element_id: 300 220 channel_metadatas: [ 221 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 222 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 223 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 224 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }, 225 { channel_id: 4 channel_label: CHANNEL_LABEL_A_4 }, 226 { channel_id: 5 channel_label: CHANNEL_LABEL_A_5 }, 227 { channel_id: 6 channel_label: CHANNEL_LABEL_A_6 }, 228 { channel_id: 7 channel_label: CHANNEL_LABEL_A_7 }, 229 { channel_id: 8 channel_label: CHANNEL_LABEL_A_8 }, 230 { channel_id: 9 channel_label: CHANNEL_LABEL_A_9 }, 231 { channel_id: 10 channel_label: CHANNEL_LABEL_A_10 }, 232 { channel_id: 11 channel_label: CHANNEL_LABEL_A_11 }, 233 { channel_id: 12 channel_label: CHANNEL_LABEL_A_12 }, 234 { channel_id: 13 channel_label: CHANNEL_LABEL_A_13 }, 235 { channel_id: 14 channel_label: CHANNEL_LABEL_A_14 }, 236 { channel_id: 15 channel_label: CHANNEL_LABEL_A_15 }, 237 { channel_id: 16 channel_label: CHANNEL_LABEL_A_16 }, 238 { channel_id: 17 channel_label: CHANNEL_LABEL_A_17 }, 239 { channel_id: 18 channel_label: CHANNEL_LABEL_A_18 }, 240 { channel_id: 19 channel_label: CHANNEL_LABEL_A_19 }, 241 { channel_id: 20 channel_label: CHANNEL_LABEL_A_20 }, 242 { channel_id: 21 channel_label: CHANNEL_LABEL_A_21 }, 243 { channel_id: 22 channel_label: CHANNEL_LABEL_A_22 }, 244 { channel_id: 23 channel_label: CHANNEL_LABEL_A_23 }, 245 { channel_id: 24 channel_label: CHANNEL_LABEL_A_24 } 246 ] 247 }, 248 { 249 wav_filename: "Mechanism_5s.wav" 250 samples_to_trim_at_end: 640 251 samples_to_trim_at_start: 0 252 audio_element_id: 301 253 channel_metadatas: [ 254 { channel_id: 4 channel_label: CHANNEL_LABEL_LSS_7 }, 255 { channel_id: 5 channel_label: CHANNEL_LABEL_RSS_7 } 256 ] 257 } 258] 259 260temporal_delimiter_metadata { 261 enable_temporal_delimiters: false 262} 263