• 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 Base Profile IAMF stream with too many audio elements and "
17    "channels: first-order ambisonics + stereo + stereo IAMF stream encoded "
18    "using Opus."
19  file_name_prefix: "test_000128"
20  is_valid: false
21  is_valid_to_decode: false
22  validate_user_loudness: true
23  mp4_fixed_timestamp: "2024-07-08 00:00:00"
24  test_repository_tags: [
25    "github/aomediacodec/libiamf/main",
26    "github/aomediacodec/libiamf/v1.0.0-errata"
27  ]
28  primary_tested_spec_sections: [
29    "3.6/num_parameters",
30    "3.6.2/loudspeaker_layout == Stereo",
31    "3.6.3/ambisonics_mono_config",
32    "3.7.4/default_mix_gain",
33    "3.11.1/OPUS Specific",
34    "4.2/Base Profile",
35    "8.5.1/Loudness Information"
36  ]
37  base_test: "test_000303"
38  output_wav_file_bit_depth_override: 16
39}
40
41encoder_control_metadata {
42  add_build_information_tag: false
43}
44
45ia_sequence_header_metadata {
46  primary_profile: PROFILE_VERSION_BASE
47  additional_profile: PROFILE_VERSION_BASE
48}
49
50codec_config_metadata {
51  codec_config_id: 200
52  codec_config {
53    codec_id: CODEC_ID_OPUS
54    num_samples_per_frame: 960
55    audio_roll_distance: -4
56    decoder_config_opus {
57      version: 1
58      pre_skip: 312
59      input_sample_rate: 48000
60      opus_encoder_metadata {
61        target_bitrate_per_channel: 48000
62        application: APPLICATION_AUDIO
63        use_float_api: false
64      }
65    }
66  }
67}
68
69audio_element_metadata: [
70  {
71    audio_element_id: 300
72    audio_element_type: AUDIO_ELEMENT_SCENE_BASED
73    reserved: 0
74    codec_config_id: 200
75    num_substreams: 4
76    audio_substream_ids: [0, 1, 2, 3]
77    num_parameters: 0
78    ambisonics_config {
79      ambisonics_mode: AMBISONICS_MODE_MONO
80      ambisonics_mono_config {
81        output_channel_count: 4
82        substream_count: 4
83        channel_mapping: [0, 1, 2, 3]
84      }
85    }
86  },
87  {
88    audio_element_id: 301
89    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
90    reserved: 0
91    codec_config_id: 200
92    num_substreams: 1
93    audio_substream_ids: [4]
94    num_parameters: 0
95    scalable_channel_layout_config {
96      num_layers: 1
97      reserved: 0
98      channel_audio_layer_configs: [
99        {
100          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
101          output_gain_is_present_flag: 0
102          recon_gain_is_present_flag: 0
103          reserved_a: 0
104          substream_count: 1
105          coupled_substream_count: 1
106        }
107      ]
108    }
109  },
110  {
111    audio_element_id: 302
112    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
113    reserved: 0
114    codec_config_id: 200
115    num_substreams: 1
116    audio_substream_ids: [5]
117    num_parameters: 0
118    scalable_channel_layout_config {
119      num_layers: 1
120      reserved: 0
121      channel_audio_layer_configs: [
122        {
123          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
124          output_gain_is_present_flag: 0
125          recon_gain_is_present_flag: 0
126          reserved_a: 0
127          substream_count: 1
128          coupled_substream_count: 1
129        }
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: 3
143    audio_elements: [
144      {
145        audio_element_id: 300
146        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
147        rendering_config {
148          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
149        }
150        element_mix_gain {
151          param_definition {
152            parameter_id: 999  # Non-existent; default will be used
153            parameter_rate: 48000
154            param_definition_mode: 1
155            reserved: 0
156          }
157          default_mix_gain: -768
158        }
159      },
160      {
161        audio_element_id: 301
162        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
163        rendering_config {
164          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
165        }
166        element_mix_gain {
167          param_definition {
168            parameter_id: 998  # Non-existent; default will be used
169            parameter_rate: 48000
170            param_definition_mode: 1
171            reserved: 0
172          }
173          default_mix_gain: -768
174        }
175      },
176      {
177        audio_element_id: 302
178        localized_element_annotations: ["test_sub_mix_0_audio_element_2"]
179        rendering_config {
180          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
181        }
182        element_mix_gain {
183          param_definition {
184            parameter_id: 998  # Non-existent; default will be used
185            parameter_rate: 48000
186            param_definition_mode: 1
187            reserved: 0
188          }
189          default_mix_gain: -768
190        }
191      }
192    ]
193    output_mix_gain {
194      param_definition {
195        parameter_id: 997  # Non-existent; default will be used
196        parameter_rate: 48000
197        param_definition_mode: 1
198        reserved: 0
199      }
200      default_mix_gain: 0
201    }
202    num_layouts: 1
203    layouts {
204      loudness_layout {
205        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
206        ss_layout {
207          sound_system: SOUND_SYSTEM_A_0_2_0
208          reserved: 0
209        }
210      }
211      loudness {
212        info_type_bit_masks: []
213        integrated_loudness: -3399
214        digital_peak: -466
215      }
216    }
217  }
218}
219
220audio_frame_metadata: [
221  {
222    wav_filename: "Transport_TOA_5s.wav"
223    samples_to_trim_at_end: 648
224    samples_to_trim_at_start: 312
225    audio_element_id: 300
226    channel_metadatas: [
227      { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
228      { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
229      { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
230      { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }
231    ]
232  },
233  {
234    wav_filename: "dialog_clip_stereo.wav"
235    samples_to_trim_at_end: 648
236    samples_to_trim_at_start: 312
237    audio_element_id: 301
238    channel_metadatas: [
239      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
240      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
241    ]
242  },
243  {
244    wav_filename: "dialog_clip_stereo.wav"
245    samples_to_trim_at_end: 648
246    samples_to_trim_at_start: 312
247    audio_element_id: 302
248    channel_metadatas: [
249      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
250      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
251    ]
252  }
253]
254
255temporal_delimiter_metadata {
256  enable_temporal_delimiters: false
257}
258