# Copyright (c) 2024, Alliance for Open Media. All rights reserved # # This source code is subject to the terms of the BSD 3-Clause Clear License # and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear # License was not distributed with this source code in the LICENSE file, you # can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the # Alliance for Open Media Patent License 1.0 was not distributed with this # source code in the PATENTS file, you can obtain it at # www.aomedia.org/license/patent. # proto-file: iamf/cli/proto/user_metadata.proto # proto-message: UserMetadata test_vector_metadata { human_readable_description: "A simple example of a 9.1.6 + Top-6ch Base-Enhanced profile IAMF " "stream and a 3.1.2 output layout." file_name_prefix: "test_000602" is_valid: true is_valid_to_decode: true validate_user_loudness: true mp4_fixed_timestamp: "2024-08-09 00:00:00" test_repository_tags: ["github/aomediacodec/libiamf/main"] primary_tested_spec_sections: [ "3.6.2/loudspeaker_layout == Expanded", "3.6.2/expanded_loudspeaker_layout == 9.1.6", "3.6.2/expanded_loudspeaker_layout == Top-6ch", "3.7.3/sound_system == 3.1.2", "3.7.4/default_mix_gain", "4.2/Base-Enhanced Profile", "8.5.1/Loudness Information" ] base_test: "test_000600" } encoder_control_metadata { add_build_information_tag: false } ia_sequence_header_metadata { primary_profile: PROFILE_VERSION_BASE_ENHANCED additional_profile: PROFILE_VERSION_BASE_ENHANCED } codec_config_metadata { codec_config_id: 200 codec_config { codec_id: CODEC_ID_LPCM num_samples_per_frame: 1024 audio_roll_distance: 0 decoder_config_lpcm { sample_format_flags: LPCM_LITTLE_ENDIAN sample_size: 16 sample_rate: 48000 } } } audio_element_metadata: [ { audio_element_id: 300 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED reserved: 0 codec_config_id: 200 num_substreams: 9 audio_substream_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8] num_parameters: 0 scalable_channel_layout_config { num_layers: 1 reserved: 0 channel_audio_layer_configs: [ { loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED output_gain_is_present_flag: 0 recon_gain_is_present_flag: 0 reserved_a: 0 substream_count: 9 coupled_substream_count: 7 expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_9_1_6_CH } ] } }, { audio_element_id: 301 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED reserved: 0 codec_config_id: 200 num_substreams: 3 audio_substream_ids: [9, 10, 11] num_parameters: 0 scalable_channel_layout_config { num_layers: 1 reserved: 0 channel_audio_layer_configs: [ { loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED output_gain_is_present_flag: 0 recon_gain_is_present_flag: 0 reserved_a: 0 substream_count: 3 coupled_substream_count: 3 expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_TOP_6_CH } ] } } ] mix_presentation_metadata { mix_presentation_id: 42 count_label: 1 annotations_language: ["en-us"] localized_presentation_annotations: ["test_mix_pres"] num_sub_mixes: 1 sub_mixes { num_audio_elements: 2 audio_elements: [ { audio_element_id: 300 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] rendering_config { headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO } element_mix_gain { param_definition { parameter_id: 999 # Non-existent; default will be used parameter_rate: 48000 param_definition_mode: 1 reserved: 0 } default_mix_gain: -768 } }, { audio_element_id: 301 localized_element_annotations: ["test_sub_mix_0_audio_element_1"] rendering_config { headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO } element_mix_gain { param_definition { parameter_id: 998 # Non-existent; default will be used parameter_rate: 48000 param_definition_mode: 1 reserved: 0 } default_mix_gain: -768 } } ] output_mix_gain { param_definition { parameter_id: 997 # Non-existent; default will be used parameter_rate: 48000 param_definition_mode: 1 reserved: 0 } default_mix_gain: 0 } num_layouts: 2 layouts { loudness_layout { layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION ss_layout { sound_system: SOUND_SYSTEM_A_0_2_0 reserved: 0 } } loudness { info_type_bit_masks: [] integrated_loudness: -2953 digital_peak: -30 } } layouts { loudness_layout { layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION ss_layout { sound_system: SOUND_SYSTEM_11_2_3_0 reserved: 0 } } loudness { info_type_bit_masks: [] integrated_loudness: -3446 digital_peak: 0 } } } } audio_frame_metadata: [ { wav_filename: "Transport_9.1.6_5s.wav" samples_to_trim_at_end: 640 samples_to_trim_at_start: 0 audio_element_id: 300 channel_metadatas: [ { channel_id: 0 channel_label: CHANNEL_LABEL_FL }, { channel_id: 1 channel_label: CHANNEL_LABEL_FR }, { channel_id: 2 channel_label: CHANNEL_LABEL_FC }, { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, { channel_id: 4 channel_label: CHANNEL_LABEL_BL }, { channel_id: 5 channel_label: CHANNEL_LABEL_BR }, { channel_id: 6 channel_label: CHANNEL_LABEL_FLC }, { channel_id: 7 channel_label: CHANNEL_LABEL_FRC }, { channel_id: 8 channel_label: CHANNEL_LABEL_SI_L }, { channel_id: 9 channel_label: CHANNEL_LABEL_SI_R }, { channel_id: 10 channel_label: CHANNEL_LABEL_TP_FL }, { channel_id: 11 channel_label: CHANNEL_LABEL_TP_FR }, { channel_id: 12 channel_label: CHANNEL_LABEL_TP_BL }, { channel_id: 13 channel_label: CHANNEL_LABEL_TP_BR }, { channel_id: 14 channel_label: CHANNEL_LABEL_TP_SI_L }, { channel_id: 15 channel_label: CHANNEL_LABEL_TP_SI_R } ] }, { wav_filename: "Mechanism_5s.wav" samples_to_trim_at_end: 640 samples_to_trim_at_start: 0 audio_element_id: 301 # Original wav file is really based on 7.1.4, but we can treat the labels as # 9.1.6 to work with Top-6ch. channel_metadatas: [ { channel_id: 4 channel_label: CHANNEL_LABEL_TP_SI_L }, # Lss7 in the original file. { channel_id: 5 channel_label: CHANNEL_LABEL_TP_SI_R }, # Rss7 in the original file. { channel_id: 8 channel_label: CHANNEL_LABEL_TP_FL }, # Ltf4 in the original file. { channel_id: 9 channel_label: CHANNEL_LABEL_TP_FR }, # Rtf4 in the original file. { channel_id: 10 channel_label: CHANNEL_LABEL_TP_BL }, # Ltb4 in the original file. { channel_id: 11 channel_label: CHANNEL_LABEL_TP_BR } # Rtb4 in the original file. ] } ] temporal_delimiter_metadata { enable_temporal_delimiters: false }