• 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 2-layer IAMF stream encoded using Opus with the last layer "
17    "being 5.1.0 with Demixing Parameter Block OBUs."
18  file_name_prefix: "test_000061"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-06-20 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/param_definition_mode",
29    "3.6.1/parameter_rate",
30    "3.6.2/channel_audio_layer_config",
31    "3.8/demixing_info_parameter_data",
32    "3.8.2/Demixing Info Parameter Data Syntax and Semantics",
33    "7/IAMF Processing",
34    "7.2/demixing",
35    "7.2.2/De-mixer",
36    "7.3.2/Rendering an Audio Element",
37    "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers"
38  ]
39  base_test: "test_000056"
40  output_wav_file_bit_depth_override: 16
41}
42
43encoder_control_metadata {
44  add_build_information_tag: false
45}
46
47ia_sequence_header_metadata {
48  primary_profile: PROFILE_VERSION_SIMPLE
49  additional_profile: PROFILE_VERSION_SIMPLE
50}
51
52codec_config_metadata {
53  codec_config_id: 200
54  codec_config {
55    codec_id: CODEC_ID_OPUS
56    num_samples_per_frame: 960
57    audio_roll_distance: -4
58    decoder_config_opus {
59      version: 1
60      pre_skip: 312
61      input_sample_rate: 48000
62      opus_encoder_metadata {
63        target_bitrate_per_channel: 48000
64        application: APPLICATION_AUDIO
65        use_float_api: false
66      }
67    }
68  }
69}
70
71audio_element_metadata {
72  audio_element_id: 300
73  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
74  reserved: 0
75  codec_config_id: 200
76  num_substreams: 4
77  audio_substream_ids: [0, 1, 2, 3]
78  num_parameters: 2
79  audio_element_params {
80    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
81    demixing_param: {
82      param_definition {
83        parameter_id: 102
84        parameter_rate: 48000
85        param_definition_mode: 0
86        reserved: 0
87        duration: 960
88        num_subblocks: 1
89        constant_subblock_duration: 960
90      }
91      default_demixing_info_parameter_data: {
92        dmixp_mode: DMIXP_MODE_2
93      }
94      default_w: 0
95    }
96  }
97  audio_element_params {
98    param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN
99    recon_gain_param {
100      param_definition {
101        parameter_id: 999  # Non-existent; default will be used
102        parameter_rate: 48000
103        param_definition_mode: 0
104        reserved: 0
105        duration: 960
106        num_subblocks: 1
107        constant_subblock_duration: 960
108      }
109    }
110  }
111  scalable_channel_layout_config {
112    num_layers: 2
113    reserved: 0
114    channel_audio_layer_configs: [
115      {
116        loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
117        output_gain_is_present_flag: 0
118        recon_gain_is_present_flag: 0
119        reserved_a: 0
120        substream_count: 1
121        coupled_substream_count: 1
122      },
123      {
124        loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH
125        output_gain_is_present_flag: 0
126        recon_gain_is_present_flag: 1
127        reserved_a: 0
128        substream_count: 3
129        coupled_substream_count: 1
130      }
131    ]
132  }
133}
134
135mix_presentation_metadata {
136  mix_presentation_id: 42
137  count_label: 1
138  annotations_language: ["en-us"]
139  localized_presentation_annotations: ["test_mix_pres"]
140  num_sub_mixes: 1
141  sub_mixes {
142    num_audio_elements: 1
143    audio_elements {
144      audio_element_id: 300
145      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
146      rendering_config {
147        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
148      }
149      element_mix_gain {
150        param_definition {
151          parameter_id: 100
152          parameter_rate: 48000
153          param_definition_mode: 1
154          reserved: 0
155        }
156        default_mix_gain: 0
157      }
158    }
159    output_mix_gain {
160      param_definition {
161        parameter_id: 100
162        parameter_rate: 48000
163        param_definition_mode: 1
164        reserved: 0
165      }
166      default_mix_gain: 0
167    }
168    num_layouts: 2
169    layouts {
170      loudness_layout {
171        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
172        ss_layout {
173          sound_system: SOUND_SYSTEM_A_0_2_0
174          reserved: 0
175        }
176      }
177      loudness {
178        info_type_bit_masks: []
179        integrated_loudness: -5273
180        digital_peak: -2197
181      }
182    }
183    layouts {
184      loudness_layout {
185        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
186        ss_layout {
187          sound_system: SOUND_SYSTEM_B_0_5_0
188          reserved: 0
189        }
190      }
191      loudness {
192        info_type_bit_masks: []
193        integrated_loudness: -5886
194        digital_peak: -2845
195      }
196    }
197  }
198}
199
200audio_frame_metadata {
201  # Not using every channel in the input wav file.
202  wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_0.5s.wav"
203  samples_to_trim_at_end: 648
204  samples_to_trim_at_start: 312
205  audio_element_id: 300
206  channel_metadatas: [
207    { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 },
208    { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 },
209    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
210    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
211    { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 },
212    { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 }
213  ]
214}
215
216parameter_block_metadata {
217  parameter_id: 100
218  start_timestamp: 0
219  duration: 24960
220  num_subblocks: 1
221  constant_subblock_duration: 24960
222  subblocks: [
223    {
224      mix_gain_parameter_data {
225        animation_type: ANIMATE_STEP
226        param_data {
227          step {
228            start_point_value: 0
229          }
230        }
231      }
232    }
233  ]
234}
235
236parameter_block_metadata {
237  parameter_id: 102
238  start_timestamp: 0
239  duration: 960
240  num_subblocks: 1
241  constant_subblock_duration: 960
242  subblocks: [
243    {
244      demixing_info_parameter_data: {
245        dmixp_mode: DMIXP_MODE_2
246      }
247    }
248  ]
249}
250
251parameter_block_metadata {
252  parameter_id: 102
253  start_timestamp: 960
254  duration: 960
255  num_subblocks: 1
256  constant_subblock_duration: 960
257  subblocks: [
258    {
259      demixing_info_parameter_data: {
260        dmixp_mode: DMIXP_MODE_2
261      }
262    }
263  ]
264}
265
266parameter_block_metadata {
267  parameter_id: 102
268  start_timestamp: 1920
269  duration: 960
270  num_subblocks: 1
271  constant_subblock_duration: 960
272  subblocks: [
273    {
274      demixing_info_parameter_data: {
275        dmixp_mode: DMIXP_MODE_2
276      }
277    }
278  ]
279}
280
281parameter_block_metadata {
282  parameter_id: 102
283  start_timestamp: 2880
284  duration: 960
285  num_subblocks: 1
286  constant_subblock_duration: 960
287  subblocks: [
288    {
289      demixing_info_parameter_data: {
290        dmixp_mode: DMIXP_MODE_2
291      }
292    }
293  ]
294}
295
296parameter_block_metadata {
297  parameter_id: 102
298  start_timestamp: 3840
299  duration: 960
300  num_subblocks: 1
301  constant_subblock_duration: 960
302  subblocks: [
303    {
304      demixing_info_parameter_data: {
305        dmixp_mode: DMIXP_MODE_2
306      }
307    }
308  ]
309}
310
311parameter_block_metadata {
312  parameter_id: 102
313  start_timestamp: 4800
314  duration: 960
315  num_subblocks: 1
316  constant_subblock_duration: 960
317  subblocks: [
318    {
319      demixing_info_parameter_data: {
320        dmixp_mode: DMIXP_MODE_2
321      }
322    }
323  ]
324}
325
326parameter_block_metadata {
327  parameter_id: 102
328  start_timestamp: 5760
329  duration: 960
330  num_subblocks: 1
331  constant_subblock_duration: 960
332  subblocks: [
333    {
334      demixing_info_parameter_data: {
335        dmixp_mode: DMIXP_MODE_2
336      }
337    }
338  ]
339}
340
341parameter_block_metadata {
342  parameter_id: 102
343  start_timestamp: 6720
344  duration: 960
345  num_subblocks: 1
346  constant_subblock_duration: 960
347  subblocks: [
348    {
349      demixing_info_parameter_data: {
350        dmixp_mode: DMIXP_MODE_2
351      }
352    }
353  ]
354}
355
356parameter_block_metadata {
357  parameter_id: 102
358  start_timestamp: 7680
359  duration: 960
360  num_subblocks: 1
361  constant_subblock_duration: 960
362  subblocks: [
363    {
364      demixing_info_parameter_data: {
365        dmixp_mode: DMIXP_MODE_2
366      }
367    }
368  ]
369}
370
371parameter_block_metadata {
372  parameter_id: 102
373  start_timestamp: 8640
374  duration: 960
375  num_subblocks: 1
376  constant_subblock_duration: 960
377  subblocks: [
378    {
379      demixing_info_parameter_data: {
380        dmixp_mode: DMIXP_MODE_2
381      }
382    }
383  ]
384}
385
386parameter_block_metadata {
387  parameter_id: 102
388  start_timestamp: 9600
389  duration: 960
390  num_subblocks: 1
391  constant_subblock_duration: 960
392  subblocks: [
393    {
394      demixing_info_parameter_data: {
395        dmixp_mode: DMIXP_MODE_2
396      }
397    }
398  ]
399}
400
401parameter_block_metadata {
402  parameter_id: 102
403  start_timestamp: 10560
404  duration: 960
405  num_subblocks: 1
406  constant_subblock_duration: 960
407  subblocks: [
408    {
409      demixing_info_parameter_data: {
410        dmixp_mode: DMIXP_MODE_2
411      }
412    }
413  ]
414}
415
416parameter_block_metadata {
417  parameter_id: 102
418  start_timestamp: 11520
419  duration: 960
420  num_subblocks: 1
421  constant_subblock_duration: 960
422  subblocks: [
423    {
424      demixing_info_parameter_data: {
425        dmixp_mode: DMIXP_MODE_2
426      }
427    }
428  ]
429}
430
431parameter_block_metadata {
432  parameter_id: 102
433  start_timestamp: 12480
434  duration: 960
435  num_subblocks: 1
436  constant_subblock_duration: 960
437  subblocks: [
438    {
439      demixing_info_parameter_data: {
440        dmixp_mode: DMIXP_MODE_2
441      }
442    }
443  ]
444}
445
446parameter_block_metadata {
447  parameter_id: 102
448  start_timestamp: 13440
449  duration: 960
450  num_subblocks: 1
451  constant_subblock_duration: 960
452  subblocks: [
453    {
454      demixing_info_parameter_data: {
455        dmixp_mode: DMIXP_MODE_2
456      }
457    }
458  ]
459}
460
461parameter_block_metadata {
462  parameter_id: 102
463  start_timestamp: 14400
464  duration: 960
465  num_subblocks: 1
466  constant_subblock_duration: 960
467  subblocks: [
468    {
469      demixing_info_parameter_data: {
470        dmixp_mode: DMIXP_MODE_2
471      }
472    }
473  ]
474}
475
476parameter_block_metadata {
477  parameter_id: 102
478  start_timestamp: 15360
479  duration: 960
480  num_subblocks: 1
481  constant_subblock_duration: 960
482  subblocks: [
483    {
484      demixing_info_parameter_data: {
485        dmixp_mode: DMIXP_MODE_2
486      }
487    }
488  ]
489}
490
491parameter_block_metadata {
492  parameter_id: 102
493  start_timestamp: 16320
494  duration: 960
495  num_subblocks: 1
496  constant_subblock_duration: 960
497  subblocks: [
498    {
499      demixing_info_parameter_data: {
500        dmixp_mode: DMIXP_MODE_2
501      }
502    }
503  ]
504}
505
506parameter_block_metadata {
507  parameter_id: 102
508  start_timestamp: 17280
509  duration: 960
510  num_subblocks: 1
511  constant_subblock_duration: 960
512  subblocks: [
513    {
514      demixing_info_parameter_data: {
515        dmixp_mode: DMIXP_MODE_2
516      }
517    }
518  ]
519}
520
521parameter_block_metadata {
522  parameter_id: 102
523  start_timestamp: 18240
524  duration: 960
525  num_subblocks: 1
526  constant_subblock_duration: 960
527  subblocks: [
528    {
529      demixing_info_parameter_data: {
530        dmixp_mode: DMIXP_MODE_2
531      }
532    }
533  ]
534}
535
536parameter_block_metadata {
537  parameter_id: 102
538  start_timestamp: 19200
539  duration: 960
540  num_subblocks: 1
541  constant_subblock_duration: 960
542  subblocks: [
543    {
544      demixing_info_parameter_data: {
545        dmixp_mode: DMIXP_MODE_2
546      }
547    }
548  ]
549}
550
551parameter_block_metadata {
552  parameter_id: 102
553  start_timestamp: 20160
554  duration: 960
555  num_subblocks: 1
556  constant_subblock_duration: 960
557  subblocks: [
558    {
559      demixing_info_parameter_data: {
560        dmixp_mode: DMIXP_MODE_2
561      }
562    }
563  ]
564}
565
566parameter_block_metadata {
567  parameter_id: 102
568  start_timestamp: 21120
569  duration: 960
570  num_subblocks: 1
571  constant_subblock_duration: 960
572  subblocks: [
573    {
574      demixing_info_parameter_data: {
575        dmixp_mode: DMIXP_MODE_2
576      }
577    }
578  ]
579}
580
581parameter_block_metadata {
582  parameter_id: 102
583  start_timestamp: 22080
584  duration: 960
585  num_subblocks: 1
586  constant_subblock_duration: 960
587  subblocks: [
588    {
589      demixing_info_parameter_data: {
590        dmixp_mode: DMIXP_MODE_2
591      }
592    }
593  ]
594}
595
596parameter_block_metadata {
597  parameter_id: 102
598  start_timestamp: 23040
599  duration: 960
600  num_subblocks: 1
601  constant_subblock_duration: 960
602  subblocks: [
603    {
604      demixing_info_parameter_data: {
605        dmixp_mode: DMIXP_MODE_2
606      }
607    }
608  ]
609}
610
611parameter_block_metadata {
612  parameter_id: 102
613  start_timestamp: 24000
614  duration: 960
615  num_subblocks: 1
616  constant_subblock_duration: 960
617  subblocks: [
618    {
619      demixing_info_parameter_data: {
620        dmixp_mode: DMIXP_MODE_2
621      }
622    }
623  ]
624}
625
626temporal_delimiter_metadata {
627  enable_temporal_delimiters: false
628}
629