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 third-order projection ambisonics + Stereo-TpSi " 18 "Base-Enhanced profile IAMF stream and a 9.1.6 output layout." 19 file_name_prefix: "test_000613" 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-TpSi", 28 "3.6.3/ambisonics_projection_config", 29 "3.7.3/sound_system == 9.1.6", 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: 16 67 audio_substream_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 68 num_parameters: 0 69 ambisonics_config { 70 ambisonics_mode: AMBISONICS_MODE_PROJECTION 71 ambisonics_projection_config { 72 output_channel_count: 16 73 substream_count: 16 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, # col 0 77 0, 32767, 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, # col 2 79 0, 0, 0, 32767, 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, # col 4 81 0, 0, 0, 0, 0, 32767, 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, # col 6 83 0, 0, 0, 0, 0, 0, 0, 32767, 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, # col 8 85 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 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, # col 10 87 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, # col 11 88 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, # col 12 89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, # col 13 90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, # col 14 91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767 # col 15 92 ] 93 } 94 } 95 }, 96 { 97 audio_element_id: 301 98 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 99 reserved: 0 100 codec_config_id: 200 101 num_substreams: 1 102 audio_substream_ids: [16] 103 num_parameters: 0 104 scalable_channel_layout_config { 105 num_layers: 1 106 reserved: 0 107 channel_audio_layer_configs: [ 108 { 109 loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED 110 output_gain_is_present_flag: 0 111 recon_gain_is_present_flag: 0 112 reserved_a: 0 113 substream_count: 1 114 coupled_substream_count: 1 115 expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_TP_SI 116 } 117 ] 118 } 119 } 120] 121 122mix_presentation_metadata { 123 mix_presentation_id: 42 124 count_label: 1 125 annotations_language: ["en-us"] 126 localized_presentation_annotations: ["test_mix_pres"] 127 num_sub_mixes: 1 128 sub_mixes { 129 num_audio_elements: 2 130 audio_elements: [ 131 { 132 audio_element_id: 300 133 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 134 rendering_config { 135 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 136 } 137 element_mix_gain { 138 param_definition { 139 parameter_id: 999 # Non-existent; default will be used 140 parameter_rate: 48000 141 param_definition_mode: 1 142 reserved: 0 143 } 144 default_mix_gain: -768 145 } 146 }, 147 { 148 audio_element_id: 301 149 localized_element_annotations: ["test_sub_mix_0_audio_element_1"] 150 rendering_config { 151 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 152 } 153 element_mix_gain { 154 param_definition { 155 parameter_id: 998 # Non-existent; default will be used 156 parameter_rate: 48000 157 param_definition_mode: 1 158 reserved: 0 159 } 160 default_mix_gain: -768 161 } 162 } 163 ] 164 output_mix_gain { 165 param_definition { 166 parameter_id: 997 # Non-existent; default will be used 167 parameter_rate: 48000 168 param_definition_mode: 1 169 reserved: 0 170 } 171 default_mix_gain: 0 172 } 173 num_layouts: 2 174 layouts { 175 loudness_layout { 176 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 177 ss_layout { 178 sound_system: SOUND_SYSTEM_A_0_2_0 179 reserved: 0 180 } 181 } 182 loudness { 183 info_type_bit_masks: [] 184 integrated_loudness: -3538 185 digital_peak: -697 186 } 187 } 188 layouts { 189 loudness_layout { 190 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 191 ss_layout { 192 sound_system: SOUND_SYSTEM_13_6_9_0 193 reserved: 0 194 } 195 } 196 loudness { 197 info_type_bit_masks: [] 198 integrated_loudness: -4236 199 digital_peak: -1449 200 } 201 } 202 } 203} 204 205audio_frame_metadata: [ 206 { 207 wav_filename: "Transport_TOA_5s.wav" 208 samples_to_trim_at_end: 640 209 samples_to_trim_at_start: 0 210 audio_element_id: 300 211 channel_metadatas: [ 212 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 213 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 214 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 215 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }, 216 { channel_id: 4 channel_label: CHANNEL_LABEL_A_4 }, 217 { channel_id: 5 channel_label: CHANNEL_LABEL_A_5 }, 218 { channel_id: 6 channel_label: CHANNEL_LABEL_A_6 }, 219 { channel_id: 7 channel_label: CHANNEL_LABEL_A_7 }, 220 { channel_id: 8 channel_label: CHANNEL_LABEL_A_8 }, 221 { channel_id: 9 channel_label: CHANNEL_LABEL_A_9 }, 222 { channel_id: 10 channel_label: CHANNEL_LABEL_A_10 }, 223 { channel_id: 11 channel_label: CHANNEL_LABEL_A_11 }, 224 { channel_id: 12 channel_label: CHANNEL_LABEL_A_12 }, 225 { channel_id: 13 channel_label: CHANNEL_LABEL_A_13 }, 226 { channel_id: 14 channel_label: CHANNEL_LABEL_A_14 }, 227 { channel_id: 15 channel_label: CHANNEL_LABEL_A_15 } 228 ] 229 }, 230 { 231 wav_filename: "Mechanism_5s.wav" 232 samples_to_trim_at_end: 640 233 samples_to_trim_at_start: 0 234 audio_element_id: 301 235 channel_metadatas: [ 236 { channel_id: 10 channel_label: CHANNEL_LABEL_TP_SI_L }, # Ltb4 in the original file. 237 { channel_id: 11 channel_label: CHANNEL_LABEL_TP_SI_R } # Rtb4 in the original file. 238 ] 239 } 240] 241 242temporal_delimiter_metadata { 243 enable_temporal_delimiters: false 244} 245