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# txtpbfmt: disable 14 15test_vector_metadata { 16 human_readable_description: 17 "A third-order ambisonics IAMF stream encoded using " 18 "`ambisonics_mode` = `PROJECTION` with an (almost) identity demixing " 19 "matrix." 20 file_name_prefix: "test_000043" 21 is_valid: true 22 is_valid_to_decode: true 23 validate_user_loudness: true 24 mp4_fixed_timestamp: "2023-05-12 00:00:00" 25 test_repository_tags: [ 26 "github/aomediacodec/libiamf/main", 27 "github/aomediacodec/libiamf/v1.0.0-errata" 28 ] 29 primary_tested_spec_sections: [ 30 "3.6.3/ambisonics_projection_config", 31 "7/IAMF Processing", 32 "7.1/demixing_matrix", 33 "7.3.2/Rendering an Audio Element", 34 "7.3.2.2/Rendering a Scene-Based Audio Element to Loudspeakers" 35 ] 36 base_test: "test_000038" 37} 38 39encoder_control_metadata { 40 add_build_information_tag: false 41} 42 43ia_sequence_header_metadata { 44 primary_profile: PROFILE_VERSION_SIMPLE 45 additional_profile: PROFILE_VERSION_SIMPLE 46} 47 48codec_config_metadata { 49 codec_config_id: 200 50 codec_config { 51 codec_id: CODEC_ID_LPCM 52 num_samples_per_frame: 64 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 audio_element_id: 300 64 audio_element_type: AUDIO_ELEMENT_SCENE_BASED 65 reserved: 0 66 codec_config_id: 200 67 num_substreams: 16 68 audio_substream_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 69 num_parameters: 0 70 ambisonics_config { 71 ambisonics_mode: AMBISONICS_MODE_PROJECTION 72 ambisonics_projection_config { 73 output_channel_count: 16 74 substream_count: 16 75 coupled_substream_count: 0 76 demixing_matrix: [ 77 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 0 78 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 1 79 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 2 80 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 3 81 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 4 82 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 5 83 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 6 84 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, # col 7 85 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, # col 8 86 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, # col 9 87 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, # col 10 88 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, # col 11 89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, # col 12 90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, # col 13 91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, # col 14 92 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767 # col 15 93 ] 94 } 95 } 96} 97 98mix_presentation_metadata { 99 mix_presentation_id: 42 100 count_label: 1 101 annotations_language: ["en-us"] 102 localized_presentation_annotations: ["test_mix_pres"] 103 num_sub_mixes: 1 104 sub_mixes { 105 num_audio_elements: 1 106 audio_elements { 107 audio_element_id: 300 108 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 109 rendering_config { 110 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 111 } 112 element_mix_gain { 113 param_definition { 114 parameter_id: 100 115 parameter_rate: 48000 116 param_definition_mode: 1 117 reserved: 0 118 } 119 default_mix_gain: 0 120 } 121 } 122 output_mix_gain { 123 param_definition { 124 parameter_id: 100 125 parameter_rate: 48000 126 param_definition_mode: 1 127 reserved: 0 128 } 129 default_mix_gain: 0 130 } 131 num_layouts: 1 132 layouts { 133 loudness_layout { 134 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 135 ss_layout { 136 sound_system: SOUND_SYSTEM_A_0_2_0 137 reserved: 0 138 } 139 } 140 loudness { 141 info_type_bit_masks: [] 142 integrated_loudness: -5807 143 digital_peak: -4704 144 } 145 } 146 } 147} 148 149audio_frame_metadata { 150 wav_filename: "sawtooth_8000_toa_48khz.wav" 151 samples_to_trim_at_end: 0 152 samples_to_trim_at_start: 0 153 audio_element_id: 300 154 channel_metadatas: [ 155 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 156 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 157 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 158 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }, 159 { channel_id: 4 channel_label: CHANNEL_LABEL_A_4 }, 160 { channel_id: 5 channel_label: CHANNEL_LABEL_A_5 }, 161 { channel_id: 6 channel_label: CHANNEL_LABEL_A_6 }, 162 { channel_id: 7 channel_label: CHANNEL_LABEL_A_7 }, 163 { channel_id: 8 channel_label: CHANNEL_LABEL_A_8 }, 164 { channel_id: 9 channel_label: CHANNEL_LABEL_A_9 }, 165 { channel_id: 10 channel_label: CHANNEL_LABEL_A_10 }, 166 { channel_id: 11 channel_label: CHANNEL_LABEL_A_11 }, 167 { channel_id: 12 channel_label: CHANNEL_LABEL_A_12 }, 168 { channel_id: 13 channel_label: CHANNEL_LABEL_A_13 }, 169 { channel_id: 14 channel_label: CHANNEL_LABEL_A_14 }, 170 { channel_id: 15 channel_label: CHANNEL_LABEL_A_15 } 171 ] 172} 173 174parameter_block_metadata { 175 parameter_id: 100 176 start_timestamp: 0 177 duration: 24000 178 num_subblocks: 1 179 constant_subblock_duration: 24000 180 subblocks: [ 181 { 182 mix_gain_parameter_data { 183 animation_type: ANIMATE_STEP 184 param_data { 185 step { 186 start_point_value: 0 187 } 188 } 189 } 190 } 191 ] 192} 193 194temporal_delimiter_metadata { 195 enable_temporal_delimiters: false 196} 197