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 "An IAMF stream encoded using `ambisonics_mode` = `PROJECTION`. This " 18 "test vector tests mixed-order ambisonics representation by using " 19 "third-order ambisonics to represent a lower order (first-order) " 20 "ambisonics by using a demixing matrix." 21 file_name_prefix: "test_000044" 22 is_valid: true 23 is_valid_to_decode: true 24 validate_user_loudness: true 25 mp4_fixed_timestamp: "2023-05-12 00:00:00" 26 test_repository_tags: [ 27 "github/aomediacodec/libiamf/main", 28 "github/aomediacodec/libiamf/v1.0.0-errata" 29 ] 30 primary_tested_spec_sections: [ 31 "3.6.3/ambisonics_projection_config", 32 "7/IAMF Processing", 33 "7.1/demixing_matrix", 34 "7.3.2/Rendering an Audio Element", 35 "7.3.2.2/Rendering a Scene-Based Audio Element to Loudspeakers" 36 ] 37 base_test: "test_000043" 38} 39 40encoder_control_metadata { 41 add_build_information_tag: false 42} 43 44ia_sequence_header_metadata { 45 primary_profile: PROFILE_VERSION_SIMPLE 46 additional_profile: PROFILE_VERSION_SIMPLE 47} 48 49codec_config_metadata { 50 codec_config_id: 200 51 codec_config { 52 codec_id: CODEC_ID_LPCM 53 num_samples_per_frame: 64 54 audio_roll_distance: 0 55 decoder_config_lpcm { 56 sample_format_flags: LPCM_LITTLE_ENDIAN 57 sample_size: 16 58 sample_rate: 48000 59 } 60 } 61} 62 63audio_element_metadata { 64 audio_element_id: 300 65 audio_element_type: AUDIO_ELEMENT_SCENE_BASED 66 reserved: 0 67 codec_config_id: 200 68 num_substreams: 4 69 audio_substream_ids: [0, 1, 2, 3] 70 num_parameters: 0 71 ambisonics_config { 72 ambisonics_mode: AMBISONICS_MODE_PROJECTION 73 ambisonics_projection_config { 74 output_channel_count: 16 75 substream_count: 4 76 coupled_substream_count: 0 77 demixing_matrix: [ 78 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 0 79 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 1 80 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # col 2 81 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 # col 3 82 ] 83 } 84 } 85} 86 87mix_presentation_metadata { 88 mix_presentation_id: 42 89 count_label: 1 90 annotations_language: ["en-us"] 91 localized_presentation_annotations: ["test_mix_pres"] 92 num_sub_mixes: 1 93 sub_mixes { 94 num_audio_elements: 1 95 audio_elements { 96 audio_element_id: 300 97 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 98 rendering_config { 99 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 100 } 101 element_mix_gain { 102 param_definition { 103 parameter_id: 100 104 parameter_rate: 48000 105 param_definition_mode: 1 106 reserved: 0 107 } 108 default_mix_gain: 0 109 } 110 } 111 output_mix_gain { 112 param_definition { 113 parameter_id: 100 114 parameter_rate: 48000 115 param_definition_mode: 1 116 reserved: 0 117 } 118 default_mix_gain: 0 119 } 120 num_layouts: 1 121 layouts { 122 loudness_layout { 123 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 124 ss_layout { 125 sound_system: SOUND_SYSTEM_A_0_2_0 126 reserved: 0 127 } 128 } 129 loudness { 130 info_type_bit_masks: [] 131 integrated_loudness: -5257 132 digital_peak: -4157 133 } 134 } 135 } 136} 137 138audio_frame_metadata { 139 wav_filename: "sawtooth_10000_foa_48khz.wav" 140 samples_to_trim_at_end: 0 141 samples_to_trim_at_start: 0 142 audio_element_id: 300 143 channel_metadatas: [ 144 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 145 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 146 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 147 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 } 148 ] 149} 150 151parameter_block_metadata { 152 parameter_id: 100 153 start_timestamp: 0 154 duration: 24000 155 num_subblocks: 1 156 constant_subblock_duration: 24000 157 subblocks: [ 158 { 159 mix_gain_parameter_data { 160 animation_type: ANIMATE_STEP 161 param_data { 162 step { 163 start_point_value: 0 164 } 165 } 166 } 167 } 168 ] 169} 170 171temporal_delimiter_metadata { 172 enable_temporal_delimiters: false 173} 174