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 14test_vector_metadata { 15 human_readable_description: 16 "A first-order ambisonics IAMF stream encoded with the first frame using a " 17 "bezier-animation mix gain and subsequent frames using linear-animation." 18 file_name_prefix: "test_000066" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-06-21 00:00:00" 23 test_repository_tags: [ 24 "github/aomediacodec/libiamf/main", 25 "github/aomediacodec/libiamf/v1.0.0-errata" 26 ] 27 primary_tested_spec_sections: [ 28 "3.6.1/param_definition_mode", 29 "3.6.3/ambisonics_mono_config", 30 "3.8/duration", 31 "3.8/num_subblocks", 32 "3.8/subblock_duration", 33 "3.8.1/animation_type == LINEAR", 34 "3.8.1/animation_type == BEZIER", 35 "7/IAMF Processing", 36 "7.4/animation_type == LINEAR", 37 "7.4/animation_type == BEZIER" 38 ] 39 base_test: "test_000065" 40} 41 42encoder_control_metadata { 43 add_build_information_tag: false 44} 45 46ia_sequence_header_metadata { 47 primary_profile: PROFILE_VERSION_SIMPLE 48 additional_profile: PROFILE_VERSION_SIMPLE 49} 50 51codec_config_metadata { 52 codec_config_id: 200 53 codec_config { 54 codec_id: CODEC_ID_LPCM 55 num_samples_per_frame: 64 56 audio_roll_distance: 0 57 decoder_config_lpcm { 58 sample_format_flags: LPCM_LITTLE_ENDIAN 59 sample_size: 16 60 sample_rate: 48000 61 } 62 } 63} 64 65audio_element_metadata { 66 audio_element_id: 300 67 audio_element_type: AUDIO_ELEMENT_SCENE_BASED 68 reserved: 0 69 codec_config_id: 200 70 num_substreams: 4 71 audio_substream_ids: [0, 1, 2, 3] 72 num_parameters: 0 73 ambisonics_config { 74 ambisonics_mode: AMBISONICS_MODE_MONO 75 ambisonics_mono_config { 76 output_channel_count: 4 77 substream_count: 4 78 channel_mapping: [0, 1, 2, 3] 79 } 80 } 81} 82 83mix_presentation_metadata { 84 mix_presentation_id: 42 85 count_label: 1 86 annotations_language: ["en-us"] 87 localized_presentation_annotations: ["test_mix_pres"] 88 num_sub_mixes: 1 89 sub_mixes { 90 num_audio_elements: 1 91 audio_elements { 92 audio_element_id: 300 93 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 94 rendering_config { 95 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 96 } 97 element_mix_gain { 98 param_definition { 99 parameter_id: 100 100 parameter_rate: 48000 101 param_definition_mode: 1 102 reserved: 0 103 } 104 default_mix_gain: 0 105 } 106 } 107 output_mix_gain { 108 param_definition { 109 parameter_id: 999 # Non-existent; default will be used 110 parameter_rate: 48000 111 param_definition_mode: 1 112 reserved: 0 113 } 114 default_mix_gain: 0 115 } 116 num_layouts: 1 117 layouts { 118 loudness_layout { 119 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 120 ss_layout { 121 sound_system: SOUND_SYSTEM_A_0_2_0 122 reserved: 0 123 } 124 } 125 loudness { 126 info_type_bit_masks: [] 127 integrated_loudness: -4441 128 digital_peak: -3342 129 } 130 } 131 } 132} 133 134audio_frame_metadata { 135 wav_filename: "sawtooth_10000_foa_48khz.wav" 136 samples_to_trim_at_end: 0 137 samples_to_trim_at_start: 0 138 audio_element_id: 300 139 channel_metadatas: [ 140 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 141 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 142 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 143 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 } 144 ] 145} 146 147parameter_block_metadata { 148 parameter_id: 100 149 start_timestamp: 0 150 duration: 24000 151 num_subblocks: 2 152 constant_subblock_duration: 0 153 subblocks: [ 154 { 155 subblock_duration: 64 156 mix_gain_parameter_data { 157 animation_type: ANIMATE_BEZIER 158 param_data { 159 bezier: { 160 start_point_value: 0 161 end_point_value: 768 162 control_point_value: 384 163 control_point_relative_time: 129 164 } 165 } 166 } 167 }, 168 { 169 subblock_duration: 23936 170 mix_gain_parameter_data { 171 animation_type: ANIMATE_STEP 172 param_data { 173 step: { 174 start_point_value: 768 175 } 176 } 177 } 178 } 179 ] 180} 181 182temporal_delimiter_metadata { 183 enable_temporal_delimiters: false 184} 185