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 AAC with the last layer " 17 "being 5.1." 18 file_name_prefix: "test_000092" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-07-17 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.6.2/loudspeaker_layout == Stereo", 31 "3.6.2/loudspeaker_layout == 5.1", 32 "3.6.2/num_layers", 33 "3.9/Audio Frame OBU Syntax and Semantics", 34 "3.11.2/AAC-LC Specific" 35 ] 36 base_test: "test_000049" 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_AAC_LC 52 num_samples_per_frame: 1024 53 audio_roll_distance: -1 54 decoder_config_aac: { 55 buffer_size_db: 0 56 max_bitrate: 0 57 average_bit_rate: 0 58 decoder_specific_info { 59 sample_frequency_index: AAC_SAMPLE_FREQUENCY_INDEX_48000 60 } 61 aac_encoder_metadata { 62 bitrate_mode: 0 # Constant bit rate mode. 63 enable_afterburner: true 64 signaling_mode: 2 # Explicit hierarchical signaling. 65 } 66 } 67 } 68} 69 70audio_element_metadata { 71 audio_element_id: 300 72 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 73 reserved: 0 74 codec_config_id: 200 75 num_substreams: 4 76 audio_substream_ids: [0, 1, 2, 3] 77 num_parameters: 2 78 audio_element_params { 79 param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING 80 demixing_param: { 81 param_definition { 82 parameter_id: 998 # Non-existent; default will be used 83 parameter_rate: 48000 84 param_definition_mode: 0 85 reserved: 0 86 duration: 1024 87 num_subblocks: 1 88 constant_subblock_duration: 1024 89 } 90 default_demixing_info_parameter_data: { 91 dmixp_mode: DMIXP_MODE_2 92 } 93 default_w: 0 94 } 95 } 96 audio_element_params { 97 param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN 98 recon_gain_param { 99 param_definition { 100 parameter_id: 999 # Non-existent; default will be used 101 parameter_rate: 48000 102 param_definition_mode: 0 103 reserved: 0 104 duration: 1024 105 num_subblocks: 1 106 constant_subblock_duration: 1024 107 } 108 } 109 } 110 scalable_channel_layout_config { 111 num_layers: 2 112 reserved: 0 113 channel_audio_layer_configs: [ 114 { 115 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 116 output_gain_is_present_flag: 0 117 recon_gain_is_present_flag: 0 118 reserved_a: 0 119 substream_count: 1 120 coupled_substream_count: 1 121 }, 122 { 123 loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH 124 output_gain_is_present_flag: 0 125 recon_gain_is_present_flag: 1 126 reserved_a: 0 127 substream_count: 3 128 coupled_substream_count: 1 129 } 130 ] 131 } 132} 133 134mix_presentation_metadata { 135 mix_presentation_id: 42 136 count_label: 1 137 annotations_language: ["en-us"] 138 localized_presentation_annotations: ["test_mix_pres"] 139 num_sub_mixes: 1 140 sub_mixes { 141 num_audio_elements: 1 142 audio_elements { 143 audio_element_id: 300 144 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 145 rendering_config { 146 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 147 } 148 element_mix_gain { 149 param_definition { 150 parameter_id: 996 # Non-existent; default will be used 151 parameter_rate: 48000 152 param_definition_mode: 1 153 reserved: 0 154 } 155 default_mix_gain: 0 156 } 157 } 158 output_mix_gain { 159 param_definition { 160 parameter_id: 995 # Non-existent; default will be used 161 parameter_rate: 48000 162 param_definition_mode: 1 163 reserved: 0 164 } 165 default_mix_gain: 0 166 } 167 num_layouts: 2 168 layouts { 169 loudness_layout { 170 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 171 ss_layout { 172 sound_system: SOUND_SYSTEM_A_0_2_0 173 reserved: 0 174 } 175 } 176 loudness { 177 info_type_bit_masks: [] 178 integrated_loudness: -4618 179 digital_peak: -630 180 } 181 } 182 layouts { 183 loudness_layout { 184 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 185 ss_layout { 186 sound_system: SOUND_SYSTEM_B_0_5_0 187 reserved: 0 188 } 189 } 190 loudness { 191 info_type_bit_masks: [] 192 integrated_loudness: -4637 193 digital_peak: -1009 194 } 195 } 196 } 197} 198 199audio_frame_metadata { 200 wav_filename: "Mechanism_5s.wav" 201 samples_to_trim_at_end: 640 202 samples_to_trim_at_start: 2048 203 audio_element_id: 300 204 channel_metadatas: [ 205 { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 }, 206 { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 }, 207 { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, 208 { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, 209 { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 }, 210 { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 } 211 ] 212} 213 214temporal_delimiter_metadata { 215 enable_temporal_delimiters: false 216} 217