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 scalable encoded with the " 17 "channel layouts: 3.1.2ch/5.1.2ch." 18 file_name_prefix: "test_000224" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-06-23 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.6.2/loudspeaker_layout == 3.1.2", 30 "3.6.2/loudspeaker_layout == 5.1.2", 31 "3.6.2/output_gain_is_present_flag", 32 "3.6.2/output_gain_flags", 33 "3.6.2/output_gain", 34 "3.6.2.1/Channel Layout Generation Rule", 35 "7.2.1/Gain", 36 "7.6.1/Dynamic Down-mix Matrix", 37 "9.1.2.2/Annex A2.2: Down-mix Mechanism", 38 "9.1.2.4/Annex A2.4: Channel Group Generation Rule" 39 ] 40 base_test: "test_000204" 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_LPCM 56 num_samples_per_frame: 1024 57 audio_roll_distance: 0 58 decoder_config_lpcm { 59 sample_format_flags: LPCM_LITTLE_ENDIAN 60 sample_size: 16 61 sample_rate: 48000 62 } 63 } 64} 65 66audio_element_metadata { 67 audio_element_id: 300 68 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 69 reserved: 0 70 codec_config_id: 200 71 num_substreams: 5 72 audio_substream_ids: [0, 1, 2, 3, 4] 73 num_parameters: 1 74 audio_element_params { 75 param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING 76 demixing_param: { 77 param_definition { 78 parameter_id: 999 # Non-existent; default will be used 79 parameter_rate: 48000 80 param_definition_mode: 0 81 reserved: 0 82 duration: 1024 83 num_subblocks: 1 84 constant_subblock_duration: 1024 85 } 86 default_demixing_info_parameter_data: { 87 dmixp_mode: DMIXP_MODE_1 88 } 89 default_w: 0 90 } 91 } 92 scalable_channel_layout_config { 93 num_layers: 2 94 reserved: 0 95 channel_audio_layer_configs: [ 96 { 97 loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH # [L3/R3, Ltf3/Rtf3, C, LFE] 98 output_gain_is_present_flag: 1 99 recon_gain_is_present_flag: 0 100 reserved_a: 0 101 substream_count: 4 102 coupled_substream_count: 2 103 output_gain_flag: 51 104 output_gain: 0 105 }, 106 { 107 loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_2_CH # [L5/R5] 108 output_gain_is_present_flag: 1 109 recon_gain_is_present_flag: 0 110 reserved_a: 0 111 substream_count: 1 112 coupled_substream_count: 1 113 output_gain_flag: 0 114 output_gain: 0 115 } 116 ] 117 } 118} 119 120mix_presentation_metadata { 121 mix_presentation_id: 42 122 count_label: 1 123 annotations_language: ["en-us"] 124 localized_presentation_annotations: ["test_mix_pres"] 125 num_sub_mixes: 1 126 sub_mixes { 127 num_audio_elements: 1 128 audio_elements { 129 audio_element_id: 300 130 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 131 rendering_config { 132 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 133 } 134 element_mix_gain { 135 param_definition { 136 parameter_id: 998 # Non-existent; default will be used 137 parameter_rate: 48000 138 param_definition_mode: 1 139 reserved: 0 140 } 141 default_mix_gain: 0 142 } 143 } 144 output_mix_gain { 145 param_definition { 146 parameter_id: 997 # Non-existent; default will be used 147 parameter_rate: 48000 148 param_definition_mode: 1 149 reserved: 0 150 } 151 default_mix_gain: 0 152 } 153 num_layouts: 3 154 layouts { 155 loudness_layout { 156 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 157 ss_layout { 158 sound_system: SOUND_SYSTEM_A_0_2_0 159 reserved: 0 160 } 161 } 162 loudness { 163 info_type_bit_masks: [] 164 integrated_loudness: -4511 165 digital_peak: -630 166 } 167 } 168 layouts { 169 loudness_layout { 170 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 171 ss_layout { 172 sound_system: SOUND_SYSTEM_11_2_3_0 173 reserved: 0 174 } 175 } 176 loudness { 177 info_type_bit_masks: [] 178 integrated_loudness: -4637 179 digital_peak: -971 180 } 181 } 182 layouts { 183 loudness_layout { 184 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 185 ss_layout { 186 sound_system: SOUND_SYSTEM_C_2_5_0 187 reserved: 0 188 } 189 } 190 loudness { 191 info_type_bit_masks: [] 192 integrated_loudness: -4559 193 digital_peak: -998 194 } 195 } 196 } 197} 198 199audio_frame_metadata { 200 # Not using every channel in the input wav file. 201 wav_filename: "Mechanism_5s.wav" 202 samples_to_trim_at_end: 640 203 samples_to_trim_at_start: 0 204 audio_element_id: 300 205 channel_metadatas: [ 206 { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 }, 207 { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 }, 208 { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, 209 { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, 210 { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 }, 211 { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 }, 212 { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_2 }, 213 { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_2 } 214 ] 215} 216 217temporal_delimiter_metadata { 218 enable_temporal_delimiters: false 219} 220