• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    "An invalid IAMF stream. A substream has more than a full frame of "
17    "samples trimmed from the end."
18  file_name_prefix: "test_000135"
19  # The encoder will not normally encode data with multiple frames trimmed at
20  # the end.
21  is_valid: false
22  is_valid_to_decode: false
23  partition_mix_gain_parameter_blocks: false
24  validate_user_loudness: true
25  mp4_fixed_timestamp: "2024-11-11 00:00:00"
26  test_repository_tags: [
27    "github/aomediacodec/libiamf/main",
28    "github/aomediacodec/libiamf/v1.0.0-errata"
29  ]
30  primary_tested_spec_sections: [
31    "3.2/num_samples_to_trim_at_end"
32  ]
33  base_test: "test_000130"
34}
35
36encoder_control_metadata {
37  add_build_information_tag: false
38}
39
40ia_sequence_header_metadata {
41  primary_profile: PROFILE_VERSION_SIMPLE
42  additional_profile: PROFILE_VERSION_SIMPLE
43}
44
45codec_config_metadata {
46  codec_config_id: 0x22
47  codec_config {
48    codec_id: CODEC_ID_LPCM
49    num_samples_per_frame: 8
50    audio_roll_distance: 0
51    decoder_config_lpcm {
52      sample_format_flags: LPCM_LITTLE_ENDIAN
53      sample_size: 16
54      sample_rate: 48000
55    }
56  }
57}
58
59audio_element_metadata {
60  audio_element_id: 300
61  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
62  reserved: 0
63  codec_config_id: 0x22
64  num_substreams: 1
65  audio_substream_ids: [0]
66  num_parameters: 0
67  scalable_channel_layout_config {
68    num_layers: 1
69    reserved: 0
70    channel_audio_layer_configs: [
71      {
72        loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
73        output_gain_is_present_flag: 0
74        recon_gain_is_present_flag: 0
75        reserved_a: 0
76        substream_count: 1
77        coupled_substream_count: 1
78      }
79    ]
80  }
81}
82
83mix_presentation_metadata {
84  mix_presentation_id: 42
85  count_label: 1
86  annotations_language: ["en-us"]
87  localized_presentation_annotations: ["test_mix_pres"]
88  num_sub_mixes: 1
89  sub_mixes {
90    num_audio_elements: 1
91    audio_elements {
92      audio_element_id: 300
93      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
94      rendering_config {
95        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
96      }
97      element_mix_gain {
98        param_definition {
99          parameter_id: 100
100          parameter_rate: 48000
101          param_definition_mode: 1
102          reserved: 0
103        }
104        default_mix_gain: 0
105      }
106    }
107    output_mix_gain {
108      param_definition {
109        parameter_id: 100
110        parameter_rate: 48000
111        param_definition_mode: 1
112        reserved: 0
113      }
114      default_mix_gain: 0
115    }
116    num_layouts: 1
117    layouts {
118      loudness_layout {
119        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
120        ss_layout {
121          sound_system: SOUND_SYSTEM_A_0_2_0
122          reserved: 0
123        }
124      }
125      loudness {
126        info_type_bit_masks: []
127        integrated_loudness: -32768
128        digital_peak: -32768
129      }
130    }
131  }
132}
133
134audio_frame_metadata {
135  wav_filename: "stereo_8_samples_48khz_s16le.wav"
136  samples_to_trim_at_end: 1
137  samples_to_trim_at_start: 0
138  audio_element_id: 300
139  channel_metadatas: [
140    { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
141    { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
142  ]
143}
144
145arbitrary_obu_metadata: [
146  {
147    # The previous frame already had samples trimmed.
148    invalidates_bitstream: true
149    insertion_hook: INSERTION_HOOK_AFTER_AUDIO_FRAMES_AT_TICK
150    insertion_tick: 8
151    obu_type: OBU_IA_AUDIO_FRAME_ID_0
152    obu_header: {
153      num_samples_to_trim_at_end: 8
154    }
155    payload: "somedata"
156  }
157]
158
159temporal_delimiter_metadata {
160  enable_temporal_delimiters: false
161}
162