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 14test_vector_metadata { 15 human_readable_description: 16 "An invalid Base Profile IAMF stream with too many audio elements and " 17 "channels: first-order ambisonics + stereo + stereo IAMF stream encoded " 18 "using Opus." 19 file_name_prefix: "test_000128" 20 is_valid: false 21 is_valid_to_decode: false 22 validate_user_loudness: true 23 mp4_fixed_timestamp: "2024-07-08 00:00:00" 24 test_repository_tags: [ 25 "github/aomediacodec/libiamf/main", 26 "github/aomediacodec/libiamf/v1.0.0-errata" 27 ] 28 primary_tested_spec_sections: [ 29 "3.6/num_parameters", 30 "3.6.2/loudspeaker_layout == Stereo", 31 "3.6.3/ambisonics_mono_config", 32 "3.7.4/default_mix_gain", 33 "3.11.1/OPUS Specific", 34 "4.2/Base Profile", 35 "8.5.1/Loudness Information" 36 ] 37 base_test: "test_000303" 38 output_wav_file_bit_depth_override: 16 39} 40 41encoder_control_metadata { 42 add_build_information_tag: false 43} 44 45ia_sequence_header_metadata { 46 primary_profile: PROFILE_VERSION_BASE 47 additional_profile: PROFILE_VERSION_BASE 48} 49 50codec_config_metadata { 51 codec_config_id: 200 52 codec_config { 53 codec_id: CODEC_ID_OPUS 54 num_samples_per_frame: 960 55 audio_roll_distance: -4 56 decoder_config_opus { 57 version: 1 58 pre_skip: 312 59 input_sample_rate: 48000 60 opus_encoder_metadata { 61 target_bitrate_per_channel: 48000 62 application: APPLICATION_AUDIO 63 use_float_api: false 64 } 65 } 66 } 67} 68 69audio_element_metadata: [ 70 { 71 audio_element_id: 300 72 audio_element_type: AUDIO_ELEMENT_SCENE_BASED 73 reserved: 0 74 codec_config_id: 200 75 num_substreams: 4 76 audio_substream_ids: [0, 1, 2, 3] 77 num_parameters: 0 78 ambisonics_config { 79 ambisonics_mode: AMBISONICS_MODE_MONO 80 ambisonics_mono_config { 81 output_channel_count: 4 82 substream_count: 4 83 channel_mapping: [0, 1, 2, 3] 84 } 85 } 86 }, 87 { 88 audio_element_id: 301 89 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 90 reserved: 0 91 codec_config_id: 200 92 num_substreams: 1 93 audio_substream_ids: [4] 94 num_parameters: 0 95 scalable_channel_layout_config { 96 num_layers: 1 97 reserved: 0 98 channel_audio_layer_configs: [ 99 { 100 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 101 output_gain_is_present_flag: 0 102 recon_gain_is_present_flag: 0 103 reserved_a: 0 104 substream_count: 1 105 coupled_substream_count: 1 106 } 107 ] 108 } 109 }, 110 { 111 audio_element_id: 302 112 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 113 reserved: 0 114 codec_config_id: 200 115 num_substreams: 1 116 audio_substream_ids: [5] 117 num_parameters: 0 118 scalable_channel_layout_config { 119 num_layers: 1 120 reserved: 0 121 channel_audio_layer_configs: [ 122 { 123 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 124 output_gain_is_present_flag: 0 125 recon_gain_is_present_flag: 0 126 reserved_a: 0 127 substream_count: 1 128 coupled_substream_count: 1 129 } 130 ] 131 } 132 } 133] 134 135mix_presentation_metadata { 136 mix_presentation_id: 42 137 count_label: 1 138 annotations_language: ["en-us"] 139 localized_presentation_annotations: ["test_mix_pres"] 140 num_sub_mixes: 1 141 sub_mixes { 142 num_audio_elements: 3 143 audio_elements: [ 144 { 145 audio_element_id: 300 146 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 147 rendering_config { 148 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 149 } 150 element_mix_gain { 151 param_definition { 152 parameter_id: 999 # Non-existent; default will be used 153 parameter_rate: 48000 154 param_definition_mode: 1 155 reserved: 0 156 } 157 default_mix_gain: -768 158 } 159 }, 160 { 161 audio_element_id: 301 162 localized_element_annotations: ["test_sub_mix_0_audio_element_1"] 163 rendering_config { 164 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 165 } 166 element_mix_gain { 167 param_definition { 168 parameter_id: 998 # Non-existent; default will be used 169 parameter_rate: 48000 170 param_definition_mode: 1 171 reserved: 0 172 } 173 default_mix_gain: -768 174 } 175 }, 176 { 177 audio_element_id: 302 178 localized_element_annotations: ["test_sub_mix_0_audio_element_2"] 179 rendering_config { 180 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 181 } 182 element_mix_gain { 183 param_definition { 184 parameter_id: 998 # Non-existent; default will be used 185 parameter_rate: 48000 186 param_definition_mode: 1 187 reserved: 0 188 } 189 default_mix_gain: -768 190 } 191 } 192 ] 193 output_mix_gain { 194 param_definition { 195 parameter_id: 997 # Non-existent; default will be used 196 parameter_rate: 48000 197 param_definition_mode: 1 198 reserved: 0 199 } 200 default_mix_gain: 0 201 } 202 num_layouts: 1 203 layouts { 204 loudness_layout { 205 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 206 ss_layout { 207 sound_system: SOUND_SYSTEM_A_0_2_0 208 reserved: 0 209 } 210 } 211 loudness { 212 info_type_bit_masks: [] 213 integrated_loudness: -3399 214 digital_peak: -466 215 } 216 } 217 } 218} 219 220audio_frame_metadata: [ 221 { 222 wav_filename: "Transport_TOA_5s.wav" 223 samples_to_trim_at_end: 648 224 samples_to_trim_at_start: 312 225 audio_element_id: 300 226 channel_metadatas: [ 227 { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 }, 228 { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 }, 229 { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 }, 230 { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 } 231 ] 232 }, 233 { 234 wav_filename: "dialog_clip_stereo.wav" 235 samples_to_trim_at_end: 648 236 samples_to_trim_at_start: 312 237 audio_element_id: 301 238 channel_metadatas: [ 239 { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, 240 { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } 241 ] 242 }, 243 { 244 wav_filename: "dialog_clip_stereo.wav" 245 samples_to_trim_at_end: 648 246 samples_to_trim_at_start: 312 247 audio_element_id: 302 248 channel_metadatas: [ 249 { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, 250 { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } 251 ] 252 } 253] 254 255temporal_delimiter_metadata { 256 enable_temporal_delimiters: false 257} 258