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 first-order ambisonics IAMF stream encoded using " 18 "`ambisonics_mode` = `PROJECTION` with an (almost) identity demixing " 19 "matrix." 20 file_name_prefix: "test_000042" 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: 4 68 audio_substream_ids: [0, 1, 2, 3] 69 num_parameters: 0 70 ambisonics_config { 71 ambisonics_mode: AMBISONICS_MODE_PROJECTION 72 ambisonics_projection_config { 73 output_channel_count: 4 74 substream_count: 4 75 coupled_substream_count: 0 76 demixing_matrix: [ 77 32767, 0, 0, 0, # col 0 78 0, 32767, 0, 0, # col 1 79 0, 0, 32767, 0, # col 2 80 0, 0, 0, 32767 # col 3 81 ] 82 } 83 } 84} 85 86mix_presentation_metadata { 87 mix_presentation_id: 42 88 count_label: 1 89 annotations_language: ["en-us"] 90 localized_presentation_annotations: ["test_mix_pres"] 91 num_sub_mixes: 1 92 sub_mixes { 93 num_audio_elements: 1 94 audio_elements { 95 audio_element_id: 300 96 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 97 rendering_config { 98 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 99 } 100 element_mix_gain { 101 param_definition { 102 parameter_id: 100 103 parameter_rate: 48000 104 param_definition_mode: 1 105 reserved: 0 106 } 107 default_mix_gain: 0 108 } 109 } 110 output_mix_gain { 111 param_definition { 112 parameter_id: 100 113 parameter_rate: 48000 114 param_definition_mode: 1 115 reserved: 0 116 } 117 default_mix_gain: 0 118 } 119 num_layouts: 1 120 layouts { 121 loudness_layout { 122 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 123 ss_layout { 124 sound_system: SOUND_SYSTEM_A_0_2_0 125 reserved: 0 126 } 127 } 128 loudness { 129 info_type_bit_masks: [] 130 integrated_loudness: -5209 131 digital_peak: -4110 132 } 133 } 134 } 135} 136 137audio_frame_metadata { 138 wav_filename: "sawtooth_10000_foa_48khz.wav" 139 samples_to_trim_at_end: 0 140 samples_to_trim_at_start: 0 141 audio_element_id: 300 142 channel_metadatas: [ 143 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 144 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 145 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 146 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 } 147 ] 148} 149 150parameter_block_metadata { 151 parameter_id: 100 152 start_timestamp: 0 153 duration: 24000 154 num_subblocks: 1 155 constant_subblock_duration: 24000 156 subblocks: [ 157 { 158 mix_gain_parameter_data { 159 animation_type: ANIMATE_STEP 160 param_data { 161 step { 162 start_point_value: 0 163 } 164 } 165 } 166 } 167 ] 168} 169 170temporal_delimiter_metadata { 171 enable_temporal_delimiters: false 172} 173