• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 simple example of a stereo + stereo base profile IAMF stream has two "
17    "subblocks in the parameter block."
18  file_name_prefix: "test_000408"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-06-27 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.1/Parameter Definition Syntax and Semantics",
29    "3.6.1/parameter_id",
30    "3.8/num_subblocks",
31    "3.8.1/Mix Gain Parameter Data Syntax and Semantics",
32    "3.8.1/animation_type == LINEAR",
33    "7/IAMF Processing",
34    "7.4/animation_type == LINEAR"
35  ]
36  base_test: "test_000400"
37}
38
39encoder_control_metadata {
40  add_build_information_tag: false
41}
42
43ia_sequence_header_metadata {
44  primary_profile: PROFILE_VERSION_BASE
45  additional_profile: PROFILE_VERSION_BASE
46}
47
48codec_config_metadata {
49  codec_config_id: 200
50  codec_config {
51    codec_id: CODEC_ID_LPCM
52    num_samples_per_frame: 1024
53    audio_roll_distance: 0
54    decoder_config_lpcm {
55      sample_format_flags: LPCM_LITTLE_ENDIAN
56      sample_size: 16
57      sample_rate: 48000
58    }
59  }
60}
61
62audio_element_metadata: [
63  {
64    audio_element_id: 300
65    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
66    reserved: 0
67    codec_config_id: 200
68    num_substreams: 1
69    audio_substream_ids: [0]
70    num_parameters: 0
71    scalable_channel_layout_config {
72      num_layers: 1
73      reserved: 0
74      channel_audio_layer_configs: [
75        {
76          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
77          output_gain_is_present_flag: 0
78          recon_gain_is_present_flag: 0
79          reserved_a: 0
80          substream_count: 1
81          coupled_substream_count: 1
82        }
83      ]
84    }
85  },
86  {
87    audio_element_id: 301
88    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
89    reserved: 0
90    codec_config_id: 200
91    num_substreams: 1
92    audio_substream_ids: [1]
93    num_parameters: 0
94    scalable_channel_layout_config {
95      num_layers: 1
96      reserved: 0
97      channel_audio_layer_configs: [
98        {
99          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
100          output_gain_is_present_flag: 0
101          recon_gain_is_present_flag: 0
102          reserved_a: 0
103          substream_count: 1
104          coupled_substream_count: 1
105        }
106      ]
107    }
108  }
109]
110
111mix_presentation_metadata {
112  mix_presentation_id: 42
113  count_label: 1
114  annotations_language: ["en-us"]
115  localized_presentation_annotations: ["test_mix_pres"]
116  num_sub_mixes: 1
117  sub_mixes {
118    num_audio_elements: 2
119    audio_elements: [
120      {
121        audio_element_id: 300
122        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
123        rendering_config {
124          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
125        }
126        element_mix_gain {
127          param_definition {
128            parameter_id: 999  # Non-existent; default will be used
129            parameter_rate: 48000
130            param_definition_mode: 1
131            reserved: 0
132          }
133          default_mix_gain: -768
134        }
135      },
136      {
137        audio_element_id: 301
138        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
139        rendering_config {
140          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
141        }
142        element_mix_gain {
143          param_definition {
144            parameter_id: 998  # Non-existent; default will be used
145            parameter_rate: 48000
146            param_definition_mode: 1
147            reserved: 0
148          }
149          default_mix_gain: -768
150        }
151      }
152    ]
153    output_mix_gain {
154      param_definition {
155        parameter_id: 400
156        parameter_rate: 48000
157        param_definition_mode: 1
158      }
159      default_mix_gain: 0
160    }
161    num_layouts: 1
162    layouts {
163      loudness_layout {
164        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
165        ss_layout {
166          sound_system: SOUND_SYSTEM_A_0_2_0
167          reserved: 0
168        }
169      }
170      loudness {
171        info_type_bit_masks: []
172        integrated_loudness: -5002
173        digital_peak: -1303
174      }
175    }
176  }
177}
178
179audio_frame_metadata: [
180  {
181    wav_filename: "Mechanism_5s.wav"
182    samples_to_trim_at_end: 640
183    samples_to_trim_at_start: 0
184    audio_element_id: 300
185    channel_metadatas: [
186      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
187      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
188    ]
189  },
190  {
191    wav_filename: "dialog_clip_stereo.wav"
192    samples_to_trim_at_end: 640
193    samples_to_trim_at_start: 0
194    audio_element_id: 301
195    channel_metadatas: [
196      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
197      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
198    ]
199  }
200]
201
202parameter_block_metadata {
203  parameter_id: 400
204  start_timestamp: 0
205  duration: 240640
206  num_subblocks: 2
207  constant_subblock_duration: 0
208  subblocks: [
209    {
210      subblock_duration: 60160
211      mix_gain_parameter_data {
212        animation_type: ANIMATE_LINEAR
213        param_data {
214          linear {
215            start_point_value: 0
216            end_point_value: 384
217          }
218        }
219      }
220    },
221    {
222      subblock_duration: 180480
223      mix_gain_parameter_data {
224        animation_type: ANIMATE_LINEAR
225        param_data {
226          linear {
227            start_point_value: 384
228            end_point_value: 768
229          }
230        }
231      }
232    }
233  ]
234}
235
236temporal_delimiter_metadata {
237  enable_temporal_delimiters: false
238}
239