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 "A stereo IAMF stream. The second mix presentation has a two parameter " 17 "definitions with the same `parameter_id`, but inconsistent " 18 "`param_definition_mode`s. Typically, all parameters with the same ID must " 19 "have consistent `param_definition_mode`s." 20 file_name_prefix: "test_000136" 21 # The encoder would not normally encode data with inconsistent 22 # `ParamDefinitions`. 23 is_valid: false 24 # The decoder would not normally decode data with inconsistent 25 # `ParamDefinitions`. 26 is_valid_to_decode: false 27 partition_mix_gain_parameter_blocks: false 28 validate_user_loudness: true 29 mp4_fixed_timestamp: "2024-12-20 00:00:00" 30 test_repository_tags: [ 31 "github/aomediacodec/libiamf/main", 32 "github/aomediacodec/libiamf/v1.0.0-errata" 33 ] 34 primary_tested_spec_sections: [ 35 "3.5/codec_id", 36 "4.1/Simple Profile" 37 ] 38 base_test: "test_000119" 39} 40 41encoder_control_metadata { 42 add_build_information_tag: false 43} 44 45ia_sequence_header_metadata { 46 primary_profile: PROFILE_VERSION_SIMPLE 47 additional_profile: PROFILE_VERSION_SIMPLE 48} 49 50codec_config_metadata { 51 codec_config_id: 200 52 codec_config { 53 codec_id: CODEC_ID_LPCM 54 num_samples_per_frame: 8 55 audio_roll_distance: 0 56 decoder_config_lpcm { 57 sample_format_flags: LPCM_LITTLE_ENDIAN 58 sample_size: 16 59 sample_rate: 48000 60 } 61 } 62} 63 64audio_element_metadata { 65 audio_element_id: 127 66 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 67 reserved: 0 68 codec_config_id: 200 69 num_substreams: 1 70 audio_substream_ids: [0] 71 num_parameters: 0 72 scalable_channel_layout_config { 73 num_layers: 1 74 reserved: 0 75 channel_audio_layer_configs: [ 76 { 77 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 78 output_gain_is_present_flag: 0 79 recon_gain_is_present_flag: 0 80 reserved_a: 0 81 substream_count: 1 82 coupled_substream_count: 1 83 } 84 ] 85 } 86} 87 88mix_presentation_metadata { 89 mix_presentation_id: 42 90 count_label: 1 91 annotations_language: ["en-us"] 92 localized_presentation_annotations: ["test_mix_pres"] 93 num_sub_mixes: 1 94 sub_mixes { 95 num_audio_elements: 1 96 audio_elements { 97 audio_element_id: 300 98 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 99 rendering_config { 100 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 101 } 102 element_mix_gain { 103 param_definition { 104 parameter_id: 100 105 parameter_rate: 48000 106 param_definition_mode: 1 107 reserved: 0 108 } 109 default_mix_gain: 0 110 } 111 } 112 output_mix_gain { 113 param_definition { 114 parameter_id: 100 115 parameter_rate: 48000 116 param_definition_mode: 1 117 reserved: 0 118 } 119 default_mix_gain: 0 120 } 121 num_layouts: 1 122 layouts { 123 loudness_layout { 124 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 125 ss_layout { 126 sound_system: SOUND_SYSTEM_A_0_2_0 127 reserved: 0 128 } 129 } 130 loudness { 131 info_type_bit_masks: [] 132 integrated_loudness: -32768 133 digital_peak: -32768 134 } 135 } 136 } 137} 138 139audio_frame_metadata { 140 wav_filename: "stereo_8_samples_48khz_s16le.wav" 141 samples_to_trim_at_end: 6 142 samples_to_trim_at_start: 0 143 audio_element_id: 300 144 channel_metadatas: [ 145 { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, 146 { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } 147 ] 148} 149 150arbitrary_obu_metadata: [ 151 { 152 # The `ElementMixGain` and `OutputMixGain` share the same `parameter_id`, 153 # but are inconsistent and signal a different subblock schedule. 154 invalidates_bitstream: true 155 insertion_hook: INSERTION_HOOK_AFTER_MIX_PRESENTATIONS 156 obu_type: OBU_IA_MIX_PRESENTATION 157 payload: 158 "\x44" # mix_presentation_id. 159 "\x00" # count_label. 160 "\x01" # num_sub_mixes. 161 "\x01" # num_audio_elements. 162 "\x7f" # audio_element_id = 127. 163 "\x00" # headphones_rendering_mode (2), reserved (6). 164 "\x00" # rendering_config_size. 165 # Begin `ElementMixGain`. 166 "\x66" # parameter_id. 167 "\x80\xf7\x02" # parameter_rate (leb128). 168 "\x80" # param_definition_mode (1), reserved (7). 169 "\x00\00" # default_mix_gain. 170 # Begin `OutputMixGain`, which is inconsistent with the `ElementMixGain`. 171 "\x66" # parameter_id. 172 "\x80\xf7\x02" # parameter_rate (leb128). 173 "\x00" # param_definition_mode (1), reserved (7). 174 "\x08" # duration (leb128). 175 "\x04" # constant_subblock_duration (leb128). 176 "\x00\00" # default_mix_gain. 177 "\x01" # num_layouts. 178 "\x80" # layout_type (2), sound_system (4), reserved (2). 179 "\x00" # info_type. 180 "\x00\x00" # integrated_loudness. 181 "\x00\x00" # digital_peak. 182 } 183] 184 185temporal_delimiter_metadata { 186 enable_temporal_delimiters: false 187} 188