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 5.1.0." 18 file_name_prefix: "test_000056" 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/num_parameters", 29 "3.6.2/channel_audio_layer_config", 30 "3.9/Audio Frame OBU Syntax and Semantics", 31 "3.11.1/OPUS Specific" 32 ] 33 base_test: "test_000055" 34 output_wav_file_bit_depth_override: 16 35} 36 37encoder_control_metadata { 38 add_build_information_tag: false 39} 40 41ia_sequence_header_metadata { 42 primary_profile: PROFILE_VERSION_SIMPLE 43 additional_profile: PROFILE_VERSION_SIMPLE 44} 45 46codec_config_metadata { 47 codec_config_id: 200 48 codec_config { 49 codec_id: CODEC_ID_OPUS 50 num_samples_per_frame: 960 51 audio_roll_distance: -4 52 decoder_config_opus { 53 version: 1 54 pre_skip: 312 55 input_sample_rate: 48000 56 opus_encoder_metadata { 57 target_bitrate_per_channel: 48000 58 application: APPLICATION_AUDIO 59 use_float_api: false 60 } 61 } 62 } 63} 64 65audio_element_metadata { 66 audio_element_id: 300 67 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 68 reserved: 0 69 codec_config_id: 200 70 num_substreams: 4 71 audio_substream_ids: [0, 1, 2, 3] 72 num_parameters: 2 73 audio_element_params { 74 param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING 75 demixing_param: { 76 param_definition { 77 parameter_id: 998 # Non-existent; default will be used 78 parameter_rate: 48000 79 param_definition_mode: 0 80 reserved: 0 81 duration: 960 82 num_subblocks: 1 83 constant_subblock_duration: 960 84 } 85 default_demixing_info_parameter_data: { 86 dmixp_mode: DMIXP_MODE_2 87 } 88 default_w: 0 89 } 90 } 91 audio_element_params { 92 param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN 93 recon_gain_param { 94 param_definition { 95 parameter_id: 999 # Non-existent; default will be used 96 parameter_rate: 48000 97 param_definition_mode: 0 98 reserved: 0 99 duration: 960 100 num_subblocks: 1 101 constant_subblock_duration: 960 102 } 103 } 104 } 105 scalable_channel_layout_config { 106 num_layers: 2 107 reserved: 0 108 channel_audio_layer_configs: [ 109 { 110 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 111 output_gain_is_present_flag: 0 112 recon_gain_is_present_flag: 0 113 reserved_a: 0 114 substream_count: 1 115 coupled_substream_count: 1 116 }, 117 { 118 loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH 119 output_gain_is_present_flag: 0 120 recon_gain_is_present_flag: 1 121 reserved_a: 0 122 substream_count: 3 123 coupled_substream_count: 1 124 } 125 ] 126 } 127} 128 129mix_presentation_metadata { 130 mix_presentation_id: 42 131 count_label: 1 132 annotations_language: ["en-us"] 133 localized_presentation_annotations: ["test_mix_pres"] 134 num_sub_mixes: 1 135 sub_mixes { 136 num_audio_elements: 1 137 audio_elements { 138 audio_element_id: 300 139 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 140 rendering_config { 141 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 142 } 143 element_mix_gain { 144 param_definition { 145 parameter_id: 100 146 parameter_rate: 48000 147 param_definition_mode: 1 148 reserved: 0 149 } 150 default_mix_gain: 0 151 } 152 } 153 output_mix_gain { 154 param_definition { 155 parameter_id: 100 156 parameter_rate: 48000 157 param_definition_mode: 1 158 reserved: 0 159 } 160 default_mix_gain: 0 161 } 162 num_layouts: 2 163 layouts { 164 loudness_layout { 165 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 166 ss_layout { 167 sound_system: SOUND_SYSTEM_A_0_2_0 168 reserved: 0 169 } 170 } 171 loudness { 172 info_type_bit_masks: [] 173 integrated_loudness: -6179 174 digital_peak: -2197 175 } 176 } 177 layouts { 178 loudness_layout { 179 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 180 ss_layout { 181 sound_system: SOUND_SYSTEM_B_0_5_0 182 reserved: 0 183 } 184 } 185 loudness { 186 info_type_bit_masks: [] 187 integrated_loudness: -6783 188 digital_peak: -2816 189 } 190 } 191 } 192} 193 194audio_frame_metadata { 195 # Not using every channel in the input wav file. 196 wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav" 197 samples_to_trim_at_end: 648 198 samples_to_trim_at_start: 312 199 audio_element_id: 300 200 channel_metadatas: [ 201 { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 }, 202 { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 }, 203 { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, 204 { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, 205 { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 }, 206 { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 } 207 ] 208} 209 210parameter_block_metadata { 211 parameter_id: 100 212 start_timestamp: 0 213 duration: 240960 214 num_subblocks: 1 215 constant_subblock_duration: 240960 216 subblocks: [ 217 { 218 mix_gain_parameter_data { 219 animation_type: ANIMATE_STEP 220 param_data { 221 step { 222 start_point_value: 0 223 } 224 } 225 } 226 } 227 ] 228} 229 230temporal_delimiter_metadata { 231 enable_temporal_delimiters: false 232} 233