# Copyright (c) 2023, 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 stereo IAMF stream with one mix gain parameter using default value. A " "different mix gain parameter uses `param_definition_mode == 0` with " "non-constant subblock duration." file_name_prefix: "test_000088" is_valid: true is_valid_to_decode: true validate_user_loudness: true mp4_fixed_timestamp: "2023-07-13 00:00:00" test_repository_tags: [ "github/aomediacodec/libiamf/main", "github/aomediacodec/libiamf/v1.0.0-errata" ] primary_tested_spec_sections: [ "3.6.1/parameter_id", "3.6.1/parameter_rate", "3.6.1/param_definition_mode", "3.6.1/constant_subblock_duration == 0", "3.6.1/num_subblocks", "3.6.1/subblock_duration", "3.7.4/Element Mix Config Syntax and Semantics", "3.7.5/Output Mix Config Syntax and Semantics", "3.8.1/animation_type == STEP", "3.8.1/animation_type == LINEAR", "3.8.1/animation_type == BEZIER", "5.1/IA Sequence", "5.1.2/IA Data OBUs", "7/IAMF Processing", "7.4/animation_type == STEP", "7.5.1/Loudness Normalization", "7.5.2/Limiter" ] base_test: "test_000071" partition_mix_gain_parameter_blocks: false } encoder_control_metadata { add_build_information_tag: false } ia_sequence_header_metadata { primary_profile: PROFILE_VERSION_SIMPLE additional_profile: PROFILE_VERSION_SIMPLE } 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: 16000 } } } audio_element_metadata { audio_element_id: 300 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED reserved: 0 codec_config_id: 200 num_substreams: 1 audio_substream_ids: [0] num_parameters: 0 scalable_channel_layout_config { num_layers: 1 reserved: 0 channel_audio_layer_configs: [ { loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO output_gain_is_present_flag: 0 recon_gain_is_present_flag: 0 reserved_a: 0 substream_count: 1 coupled_substream_count: 1 } ] } } 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: 1 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: 16000 param_definition_mode: 1 reserved: 0 } default_mix_gain: 0 } } output_mix_gain { param_definition { parameter_id: 101 parameter_rate: 16000 param_definition_mode: 0 reserved: 0 duration: 1024 constant_subblock_duration: 0 num_subblocks: 3 subblock_durations: [256, 512, 256] } default_mix_gain: 0 } num_layouts: 1 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: -5367 digital_peak: -5359 } } } } audio_frame_metadata { wav_filename: "sine_1000_16khz_512ms.wav" samples_to_trim_at_end: 0 samples_to_trim_at_start: 0 audio_element_id: 300 channel_metadatas: [ { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 }, { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 0 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 10 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 20 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 10 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 1024 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 2048 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 3072 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_LINEAR param_data { linear: { start_point_value: 30 end_point_value: 35 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 4096 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_BEZIER param_data { bezier: { start_point_value: 25 end_point_value: 35 control_point_relative_time: 20 control_point_value: 34 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 5120 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 6144 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } parameter_block_metadata { parameter_id: 101 start_timestamp: 7168 subblocks: [ { # `param_definition_mode` implies a duration of 256. mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 25 } } } }, # `param_definition_mode` implies a duration of 512. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 30 } } } }, # `param_definition_mode` implies a duration of 256. { mix_gain_parameter_data { animation_type: ANIMATE_STEP param_data { step { start_point_value: 35 } } } } ] } temporal_delimiter_metadata { enable_temporal_delimiters: false }