• 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 two-layer 5.1 + stereo base profile IAMF "
17    "stream encoded using Opus."
18  file_name_prefix: "test_000087"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-07-12 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.2/loudspeaker_layout == Stereo",
29    "3.6.2/loudspeaker_layout == 5.1",
30    "3.7.4/default_mix_gain",
31    "3.11.1/OPUS Specific",
32    "4.2/Base Profile",
33    "8.5.1/Loudness Information"
34  ]
35  base_test: "test_000405"
36  output_wav_file_bit_depth_override: 16
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_OPUS
52    num_samples_per_frame: 960
53    audio_roll_distance: -4
54    decoder_config_opus {
55      version: 1
56      pre_skip: 312
57      input_sample_rate: 48000
58      opus_encoder_metadata {
59        target_bitrate_per_channel: 48000
60        application: APPLICATION_AUDIO
61        use_float_api: false
62      }
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: 4
74    audio_substream_ids: [0, 1, 2, 3]
75    num_parameters: 2
76    audio_element_params {
77      param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
78      demixing_param: {
79        param_definition {
80          parameter_id: 996  # Non-existent; default will be used
81          parameter_rate: 48000
82          param_definition_mode: 0
83          reserved: 0
84          duration: 960
85          num_subblocks: 1
86          constant_subblock_duration: 960
87        }
88        default_demixing_info_parameter_data: {
89          dmixp_mode: DMIXP_MODE_2
90        }
91        default_w: 0
92      }
93    }
94    audio_element_params {
95      param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN
96      recon_gain_param {
97        param_definition {
98          parameter_id: 995  # Non-existent; default will be used
99          parameter_rate: 48000
100          param_definition_mode: 0
101          reserved: 0
102          duration: 960
103          num_subblocks: 1
104          constant_subblock_duration: 960
105        }
106      }
107    }
108    scalable_channel_layout_config {
109      num_layers: 2
110      reserved: 0
111      channel_audio_layer_configs: [
112        {
113          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
114          output_gain_is_present_flag: 0
115          recon_gain_is_present_flag: 0
116          reserved_a: 0
117          substream_count: 1
118          coupled_substream_count: 1
119        },
120        {
121          loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH
122          output_gain_is_present_flag: 0
123          recon_gain_is_present_flag: 1
124          reserved_a: 0
125          substream_count: 3
126          coupled_substream_count: 1
127        }
128      ]
129    }
130  },
131  {
132    audio_element_id: 301
133    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
134    reserved: 0
135    codec_config_id: 200
136    num_substreams: 1
137    audio_substream_ids: [4]
138    num_parameters: 0
139    scalable_channel_layout_config {
140      num_layers: 1
141      reserved: 0
142      channel_audio_layer_configs: [
143        {
144          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
145          output_gain_is_present_flag: 0
146          recon_gain_is_present_flag: 0
147          reserved_a: 0
148          substream_count: 1
149          coupled_substream_count: 1
150        }
151      ]
152    }
153  }
154]
155
156mix_presentation_metadata {
157  mix_presentation_id: 42
158  count_label: 1
159  annotations_language: ["en-us"]
160  localized_presentation_annotations: ["test_mix_pres"]
161  num_sub_mixes: 1
162  sub_mixes {
163    num_audio_elements: 2
164    audio_elements: [
165      {
166        audio_element_id: 300
167        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
168        rendering_config {
169          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
170        }
171        element_mix_gain {
172          param_definition {
173            parameter_id: 999  # Non-existent; default will be used
174            parameter_rate: 48000
175            param_definition_mode: 1
176            reserved: 0
177          }
178          default_mix_gain: -768
179        }
180      },
181      {
182        audio_element_id: 301
183        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
184        rendering_config {
185          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
186        }
187        element_mix_gain {
188          param_definition {
189            parameter_id: 998  # Non-existent; default will be used
190            parameter_rate: 48000
191            param_definition_mode: 1
192            reserved: 0
193          }
194          default_mix_gain: -768
195        }
196      }
197    ]
198    output_mix_gain {
199      param_definition {
200        parameter_id: 997  # Non-existent; default will be used
201        parameter_rate: 48000
202        param_definition_mode: 1
203        reserved: 0
204      }
205      default_mix_gain: 0
206    }
207    num_layouts: 2
208    layouts {
209      loudness_layout {
210        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
211        ss_layout {
212          sound_system: SOUND_SYSTEM_A_0_2_0
213          reserved: 0
214        }
215      }
216      loudness {
217        info_type_bit_masks: []
218        integrated_loudness: -5114
219        digital_peak: -1416
220      }
221    }
222    layouts {
223      loudness_layout {
224        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
225        ss_layout {
226          sound_system: SOUND_SYSTEM_B_0_5_0
227          reserved: 0
228        }
229      }
230      loudness {
231        info_type_bit_masks: []
232        integrated_loudness: -5119
233        digital_peak: -1784
234      }
235    }
236  }
237}
238
239audio_frame_metadata: [
240  {
241    wav_filename: "Mechanism_5s.wav"
242    samples_to_trim_at_end: 648
243    samples_to_trim_at_start: 312
244    audio_element_id: 300
245    channel_metadatas: [
246      { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 },
247      { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 },
248      { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
249      { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
250      { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 },
251      { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 }
252    ]
253  },
254  {
255    wav_filename: "dialog_clip_stereo.wav"
256    samples_to_trim_at_end: 648
257    samples_to_trim_at_start: 312
258    audio_element_id: 301
259    channel_metadatas: [
260      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
261      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
262    ]
263  }
264]
265
266temporal_delimiter_metadata {
267  enable_temporal_delimiters: false
268}
269