• 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 example using several expanded layouts to approximate 9.1.6 using "
17    "Base-Enhanced profile. It has nine audio elements {Mono, Stereo, "
18    "LFE, Stereo-S, Stereo-TF, Stereo-TB, Stereo-F, Stereo-Si, Stereo-TpSi} "
19    " and a stereo output layout."
20  file_name_prefix: "test_000703"
21  is_valid: true
22  is_valid_to_decode: true
23  validate_user_loudness: true
24  mp4_fixed_timestamp: "2024-08-14 00:00:00"
25  test_repository_tags: ["github/aomediacodec/libiamf/main"]
26  primary_tested_spec_sections: [
27    "3.6.2/loudspeaker_layout == Expanded",
28    "3.6.2/loudspeaker_layout == Mono",
29    "3.6.2/loudspeaker_layout == Stereo",
30    "3.6.2/expanded_loudspeaker_layout == LFE",
31    "3.6.2/expanded_loudspeaker_layout == Stereo-RS",
32    "3.6.2/expanded_loudspeaker_layout == Stereo-TF",
33    "3.6.2/expanded_loudspeaker_layout == Stereo-TB",
34    "3.6.2/expanded_loudspeaker_layout == Stereo-Si",
35    "3.6.2/expanded_loudspeaker_layout == Stereo-TpSi",
36    "3.7.3/sound_system == Mono",
37    "3.7.4/default_mix_gain",
38    "4.2/Base-Enhanced Profile",
39    "8.5.1/Loudness Information"
40  ]
41  base_test: "test_000600"
42}
43
44encoder_control_metadata {
45  add_build_information_tag: false
46}
47
48ia_sequence_header_metadata {
49  primary_profile: PROFILE_VERSION_BASE_ENHANCED
50  additional_profile: PROFILE_VERSION_BASE_ENHANCED
51}
52
53codec_config_metadata {
54  codec_config_id: 200
55  codec_config {
56    codec_id: CODEC_ID_LPCM
57    num_samples_per_frame: 1024
58    audio_roll_distance: 0
59    decoder_config_lpcm {
60      sample_format_flags: LPCM_LITTLE_ENDIAN
61      sample_size: 16
62      sample_rate: 48000
63    }
64  }
65}
66
67audio_element_metadata: [
68  {
69    audio_element_id: 300
70    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
71    reserved: 0
72    codec_config_id: 200
73    num_substreams: 1
74    audio_substream_ids: [0]
75    num_parameters: 0
76    scalable_channel_layout_config {
77      num_layers: 1
78      reserved: 0
79      channel_audio_layer_configs: [
80        {
81          loudspeaker_layout: LOUDSPEAKER_LAYOUT_MONO
82          output_gain_is_present_flag: 0
83          recon_gain_is_present_flag: 0
84          reserved_a: 0
85          substream_count: 1
86          coupled_substream_count: 0
87        }
88      ]
89    }
90  },
91  {
92    audio_element_id: 301
93    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
94    reserved: 0
95    codec_config_id: 200
96    num_substreams: 1
97    audio_substream_ids: [1]
98    num_parameters: 0
99    scalable_channel_layout_config {
100      num_layers: 1
101      reserved: 0
102      channel_audio_layer_configs: [
103        {
104          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
105          output_gain_is_present_flag: 0
106          recon_gain_is_present_flag: 0
107          reserved_a: 0
108          substream_count: 1
109          coupled_substream_count: 1
110        }
111      ]
112    }
113  },
114  {
115    audio_element_id: 302
116    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
117    reserved: 0
118    codec_config_id: 200
119    num_substreams: 1
120    audio_substream_ids: [2]
121    num_parameters: 0
122    scalable_channel_layout_config {
123      num_layers: 1
124      reserved: 0
125      channel_audio_layer_configs: [
126        {
127          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
128          output_gain_is_present_flag: 0
129          recon_gain_is_present_flag: 0
130          reserved_a: 0
131          substream_count: 1
132          coupled_substream_count: 0
133          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_LFE
134        }
135      ]
136    }
137  },
138  {
139    audio_element_id: 303
140    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
141    reserved: 0
142    codec_config_id: 200
143    num_substreams: 1
144    audio_substream_ids: [3]
145    num_parameters: 0
146    scalable_channel_layout_config {
147      num_layers: 1
148      reserved: 0
149      channel_audio_layer_configs: [
150        {
151          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
152          output_gain_is_present_flag: 0
153          recon_gain_is_present_flag: 0
154          reserved_a: 0
155          substream_count: 1
156          coupled_substream_count: 1
157          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_RS
158        }
159      ]
160    }
161  },
162  {
163    audio_element_id: 304
164    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
165    reserved: 0
166    codec_config_id: 200
167    num_substreams: 1
168    audio_substream_ids: [4]
169    num_parameters: 0
170    scalable_channel_layout_config {
171      num_layers: 1
172      reserved: 0
173      channel_audio_layer_configs: [
174        {
175          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
176          output_gain_is_present_flag: 0
177          recon_gain_is_present_flag: 0
178          reserved_a: 0
179          substream_count: 1
180          coupled_substream_count: 1
181          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_TF
182        }
183      ]
184    }
185  },
186  {
187    audio_element_id: 305
188    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
189    reserved: 0
190    codec_config_id: 200
191    num_substreams: 1
192    audio_substream_ids: [5]
193    num_parameters: 0
194    scalable_channel_layout_config {
195      num_layers: 1
196      reserved: 0
197      channel_audio_layer_configs: [
198        {
199          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
200          output_gain_is_present_flag: 0
201          recon_gain_is_present_flag: 0
202          reserved_a: 0
203          substream_count: 1
204          coupled_substream_count: 1
205          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_TB
206        }
207      ]
208    }
209  },
210  {
211    audio_element_id: 306
212    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
213    reserved: 0
214    codec_config_id: 200
215    num_substreams: 1
216    audio_substream_ids: [6]
217    num_parameters: 0
218    scalable_channel_layout_config {
219      num_layers: 1
220      reserved: 0
221      channel_audio_layer_configs: [
222        {
223          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
224          output_gain_is_present_flag: 0
225          recon_gain_is_present_flag: 0
226          reserved_a: 0
227          substream_count: 1
228          coupled_substream_count: 1
229          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_F
230        }
231      ]
232    }
233  },
234  {
235    audio_element_id: 307
236    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
237    reserved: 0
238    codec_config_id: 200
239    num_substreams: 1
240    audio_substream_ids: [7]
241    num_parameters: 0
242    scalable_channel_layout_config {
243      num_layers: 1
244      reserved: 0
245      channel_audio_layer_configs: [
246        {
247          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
248          output_gain_is_present_flag: 0
249          recon_gain_is_present_flag: 0
250          reserved_a: 0
251          substream_count: 1
252          coupled_substream_count: 1
253          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_SI
254        }
255      ]
256    }
257  },
258  {
259    audio_element_id: 308
260    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
261    reserved: 0
262    codec_config_id: 200
263    num_substreams: 1
264    audio_substream_ids: [8]
265    num_parameters: 0
266    scalable_channel_layout_config {
267      num_layers: 1
268      reserved: 0
269      channel_audio_layer_configs: [
270        {
271          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
272          output_gain_is_present_flag: 0
273          recon_gain_is_present_flag: 0
274          reserved_a: 0
275          substream_count: 1
276          coupled_substream_count: 1
277          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_TP_SI
278        }
279      ]
280    }
281  }
282]
283
284mix_presentation_metadata {
285  mix_presentation_id: 42
286  count_label: 1
287  annotations_language: ["en-us"]
288  localized_presentation_annotations: ["test_mix_pres"]
289  num_sub_mixes: 1
290  sub_mixes {
291    num_audio_elements: 9
292    audio_elements: [
293      {
294        audio_element_id: 300
295        localized_element_annotations: ["test_sub_mix_0_audio_element_mono"]
296        rendering_config {
297          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
298        }
299        element_mix_gain {
300          param_definition {
301            parameter_id: 999  # Non-existent; default will be used
302            parameter_rate: 48000
303            param_definition_mode: 1
304            reserved: 0
305          }
306          default_mix_gain: 0
307        }
308      },
309      {
310        audio_element_id: 301
311        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo"]
312        rendering_config {
313          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
314        }
315        element_mix_gain {
316          param_definition {
317            parameter_id: 998  # Non-existent; default will be used
318            parameter_rate: 48000
319            param_definition_mode: 1
320            reserved: 0
321          }
322          default_mix_gain: 0
323        }
324      },
325      {
326        audio_element_id: 302
327        localized_element_annotations: ["test_sub_mix_0_audio_element_LFE"]
328        rendering_config {
329          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
330        }
331        element_mix_gain {
332          param_definition {
333            parameter_id: 998  # Non-existent; default will be used
334            parameter_rate: 48000
335            param_definition_mode: 1
336            reserved: 0
337          }
338          default_mix_gain: 0
339        }
340      },
341      {
342        audio_element_id: 303
343        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_rs"]
344        rendering_config {
345          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
346        }
347        element_mix_gain {
348          param_definition {
349            parameter_id: 998  # Non-existent; default will be used
350            parameter_rate: 48000
351            param_definition_mode: 1
352            reserved: 0
353          }
354          default_mix_gain: 0
355        }
356      },
357      {
358        audio_element_id: 304
359        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_tf"]
360        rendering_config {
361          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
362        }
363        element_mix_gain {
364          param_definition {
365            parameter_id: 998  # Non-existent; default will be used
366            parameter_rate: 48000
367            param_definition_mode: 1
368            reserved: 0
369          }
370          default_mix_gain: 0
371        }
372      },
373      {
374        audio_element_id: 305
375        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_tb"]
376        rendering_config {
377          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
378        }
379        element_mix_gain {
380          param_definition {
381            parameter_id: 998  # Non-existent; default will be used
382            parameter_rate: 48000
383            param_definition_mode: 1
384            reserved: 0
385          }
386          default_mix_gain: 0
387        }
388      },
389      {
390        audio_element_id: 306
391        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_f"]
392        rendering_config {
393          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
394        }
395        element_mix_gain {
396          param_definition {
397            parameter_id: 998  # Non-existent; default will be used
398            parameter_rate: 48000
399            param_definition_mode: 1
400            reserved: 0
401          }
402          default_mix_gain: 0
403        }
404      },
405      {
406        audio_element_id: 307
407        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_si"]
408        rendering_config {
409          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
410        }
411        element_mix_gain {
412          param_definition {
413            parameter_id: 998  # Non-existent; default will be used
414            parameter_rate: 48000
415            param_definition_mode: 1
416            reserved: 0
417          }
418          default_mix_gain: 0
419        }
420      },
421      {
422        audio_element_id: 308
423        localized_element_annotations: ["test_sub_mix_0_audio_element_stereo_tp_si"]
424        rendering_config {
425          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
426        }
427        element_mix_gain {
428          param_definition {
429            parameter_id: 998  # Non-existent; default will be used
430            parameter_rate: 48000
431            param_definition_mode: 1
432            reserved: 0
433          }
434          default_mix_gain: 0
435        }
436      }
437    ]
438    output_mix_gain {
439      param_definition {
440        parameter_id: 997  # Non-existent; default will be used
441        parameter_rate: 48000
442        param_definition_mode: 1
443        reserved: 0
444      }
445      default_mix_gain: 0
446    }
447    num_layouts: 1
448    layouts {
449      loudness_layout {
450        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
451        ss_layout {
452          sound_system: SOUND_SYSTEM_A_0_2_0
453          reserved: 0
454        }
455      }
456      loudness {
457        info_type_bit_masks: []
458        integrated_loudness: -2247
459        digital_peak: 0
460      }
461    }
462  }
463}
464
465audio_frame_metadata: [
466  {
467    wav_filename: "Transport_9.1.6_5s.wav"
468    samples_to_trim_at_end: 640
469    samples_to_trim_at_start: 0
470    audio_element_id: 300
471    channel_metadatas: [
472      { channel_id: 2 channel_label: CHANNEL_LABEL_MONO }  # FC in the original file.
473    ]
474  },
475  {
476    wav_filename: "Transport_9.1.6_5s.wav"
477    samples_to_trim_at_end: 640
478    samples_to_trim_at_start: 0
479    audio_element_id: 301
480    channel_metadatas: [
481      { channel_id: 6 channel_label: CHANNEL_LABEL_L_2 },  # FLc in the original file.
482      { channel_id: 7 channel_label: CHANNEL_LABEL_R_2 }  # FRc in the original file.
483    ]
484  },
485  {
486    wav_filename: "Transport_9.1.6_5s.wav"
487    samples_to_trim_at_end: 640
488    samples_to_trim_at_start: 0
489    audio_element_id: 302
490    channel_metadatas: [
491      { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }
492    ]
493  },
494  {
495    wav_filename: "Transport_9.1.6_5s.wav"
496    samples_to_trim_at_end: 640
497    samples_to_trim_at_start: 0
498    audio_element_id: 303
499    channel_metadatas: [
500      { channel_id: 4 channel_label: CHANNEL_LABEL_LRS_7 },  # BL in the original file.
501      { channel_id: 5 channel_label: CHANNEL_LABEL_RRS_7 }  # BR in the original file.
502    ]
503  },
504  {
505    wav_filename: "Transport_9.1.6_5s.wav"
506    samples_to_trim_at_end: 640
507    samples_to_trim_at_start: 0
508    audio_element_id: 304
509    channel_metadatas: [
510      { channel_id: 10 channel_label: CHANNEL_LABEL_LTF_4 },  # TpFL in the original file.
511      { channel_id: 11 channel_label: CHANNEL_LABEL_RTF_4 }  # TpFR in the original file.
512    ]
513  },
514  {
515    wav_filename: "Transport_9.1.6_5s.wav"
516    samples_to_trim_at_end: 640
517    samples_to_trim_at_start: 0
518    audio_element_id: 305
519    channel_metadatas: [
520      { channel_id: 12 channel_label: CHANNEL_LABEL_LTB_4 },  # TpBL in the original file.
521      { channel_id: 13 channel_label: CHANNEL_LABEL_RTB_4 }  # TpBR in the original file.
522    ]
523  },
524  {
525    wav_filename: "Transport_9.1.6_5s.wav"
526    samples_to_trim_at_end: 640
527    samples_to_trim_at_start: 0
528    audio_element_id: 306
529    channel_metadatas: [
530      { channel_id: 0 channel_label: CHANNEL_LABEL_FL },
531      { channel_id: 1 channel_label: CHANNEL_LABEL_FR }
532    ]
533  },
534  {
535    wav_filename: "Transport_9.1.6_5s.wav"
536    samples_to_trim_at_end: 640
537    samples_to_trim_at_start: 0
538    audio_element_id: 307
539    channel_metadatas: [
540      { channel_id: 8 channel_label: CHANNEL_LABEL_SI_L },
541      { channel_id: 9 channel_label: CHANNEL_LABEL_SI_R }
542    ]
543  },
544  {
545    wav_filename: "Transport_9.1.6_5s.wav"
546    samples_to_trim_at_end: 640
547    samples_to_trim_at_start: 0
548    audio_element_id: 308
549    channel_metadatas: [
550      { channel_id: 14 channel_label: CHANNEL_LABEL_TP_SI_L },
551      { channel_id: 15 channel_label: CHANNEL_LABEL_TP_SI_R }
552    ]
553  }
554]
555
556temporal_delimiter_metadata {
557  enable_temporal_delimiters: false
558}
559