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 2-layer IAMF stream encoded using Opus with the last layer " 17 "being 3.1.2." 18 file_name_prefix: "test_000052" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-05-12 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.2/channel_audio_layer_config", 29 "3.9/Audio Frame OBU Syntax and Semantics", 30 "3.11.1/OPUS Specific", 31 "7/IAMF Processing", 32 "7.2/scalable", 33 "7.2/demixing", 34 "7.2/recon_gain", 35 "7.2.3/Recon Gain", 36 "7.3.2/Rendering an Audio Element", 37 "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers" 38 ] 39 base_test: "test_000051" 40 output_wav_file_bit_depth_override: 16 41} 42 43encoder_control_metadata { 44 add_build_information_tag: false 45} 46 47ia_sequence_header_metadata { 48 primary_profile: PROFILE_VERSION_SIMPLE 49 additional_profile: PROFILE_VERSION_SIMPLE 50} 51 52codec_config_metadata { 53 codec_config_id: 200 54 codec_config { 55 codec_id: CODEC_ID_OPUS 56 num_samples_per_frame: 960 57 audio_roll_distance: -4 58 decoder_config_opus { 59 version: 1 60 pre_skip: 312 61 input_sample_rate: 48000 62 opus_encoder_metadata { 63 target_bitrate_per_channel: 48000 64 application: APPLICATION_AUDIO 65 use_float_api: false 66 } 67 } 68 } 69} 70 71audio_element_metadata { 72 audio_element_id: 300 73 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 74 reserved: 0 75 codec_config_id: 200 76 num_substreams: 4 77 audio_substream_ids: [0, 1, 2, 3] 78 num_parameters: 2 79 audio_element_params { 80 param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING 81 demixing_param: { 82 param_definition { 83 parameter_id: 998 # Non-existent; default will be used 84 parameter_rate: 48000 85 param_definition_mode: 0 86 reserved: 0 87 duration: 960 88 num_subblocks: 1 89 constant_subblock_duration: 960 90 } 91 default_demixing_info_parameter_data: { 92 dmixp_mode: DMIXP_MODE_2 93 } 94 default_w: 0 95 } 96 } 97 audio_element_params { 98 param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN 99 recon_gain_param { 100 param_definition { 101 parameter_id: 999 # Non-existent; default will be used 102 parameter_rate: 48000 103 param_definition_mode: 0 104 reserved: 0 105 duration: 960 106 num_subblocks: 1 107 constant_subblock_duration: 960 108 } 109 } 110 } 111 scalable_channel_layout_config { 112 num_layers: 2 113 reserved: 0 114 channel_audio_layer_configs: [ 115 { 116 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 117 output_gain_is_present_flag: 0 118 recon_gain_is_present_flag: 0 119 reserved_a: 0 120 substream_count: 1 121 coupled_substream_count: 1 122 }, 123 { 124 loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH 125 output_gain_is_present_flag: 0 126 recon_gain_is_present_flag: 1 127 reserved_a: 0 128 substream_count: 3 129 coupled_substream_count: 1 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: 1 143 audio_elements { 144 audio_element_id: 300 145 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 146 rendering_config { 147 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 148 } 149 element_mix_gain { 150 param_definition { 151 parameter_id: 100 152 parameter_rate: 48000 153 param_definition_mode: 1 154 reserved: 0 155 } 156 default_mix_gain: 0 157 } 158 } 159 output_mix_gain { 160 param_definition { 161 parameter_id: 100 162 parameter_rate: 48000 163 param_definition_mode: 1 164 reserved: 0 165 } 166 default_mix_gain: 0 167 } 168 num_layouts: 2 169 layouts { 170 loudness_layout { 171 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 172 ss_layout { 173 sound_system: SOUND_SYSTEM_A_0_2_0 174 reserved: 0 175 } 176 } 177 loudness { 178 info_type_bit_masks: [] 179 integrated_loudness: -6939 180 digital_peak: -3099 181 } 182 } 183 layouts { 184 loudness_layout { 185 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 186 ss_layout { 187 sound_system: SOUND_SYSTEM_11_2_3_0 188 reserved: 0 189 } 190 } 191 loudness { 192 info_type_bit_masks: [] 193 integrated_loudness: -6988 194 digital_peak: -2816 195 } 196 } 197 } 198} 199 200audio_frame_metadata { 201 # Not using every channel in the input wav file. 202 wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav" 203 samples_to_trim_at_end: 648 204 samples_to_trim_at_start: 312 205 audio_element_id: 300 206 channel_metadatas: [ 207 { channel_id: 0 channel_label: CHANNEL_LABEL_L_3 }, 208 { channel_id: 1 channel_label: CHANNEL_LABEL_R_3 }, 209 { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, 210 { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, 211 { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_3 }, 212 { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_3 } 213 ] 214} 215 216parameter_block_metadata { 217 parameter_id: 100 218 start_timestamp: 0 219 duration: 240960 220 num_subblocks: 1 221 constant_subblock_duration: 240960 222 subblocks: [ 223 { 224 mix_gain_parameter_data { 225 animation_type: ANIMATE_STEP 226 param_data { 227 step { 228 start_point_value: 0 229 } 230 } 231 } 232 } 233 ] 234} 235 236temporal_delimiter_metadata { 237 enable_temporal_delimiters: false 238} 239