• 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 4-layer IAMF stream encoded using Opus with the last layer "
17    "being 7.1.4 and `default_w == 0` with `headphones_rendering_mode == 1`."
18  file_name_prefix: "test_000089"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-07-13 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/default_w",
29    "3.6.2/channel_audio_layer_config",
30    "3.6.2/loudspeaker_layout == Stereo",
31    "3.6.2/loudspeaker_layout == 3.1.2",
32    "3.6.2/loudspeaker_layout == 7.1.2",
33    "3.6.2/loudspeaker_layout == 7.1.4",
34    "3.6.2/num_layers",
35    "3.7.3/headphones_rendering_mode == 1",
36    "3.9/Audio Frame OBU Syntax and Semantics",
37    "3.11.1/OPUS Specific",
38    "6/ISOBMFF IAMF Encapsulation",
39    "7/IAMF Processing",
40    "7.3.2/Rendering an Audio Element",
41    "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers",
42    "7.3.2.3/Rendering a Channel-Based Audio Element to Headphones"
43  ]
44  base_test: "test_000050"
45  output_wav_file_bit_depth_override: 16
46}
47
48encoder_control_metadata {
49  add_build_information_tag: false
50}
51
52ia_sequence_header_metadata {
53  primary_profile: PROFILE_VERSION_SIMPLE
54  additional_profile: PROFILE_VERSION_SIMPLE
55}
56
57codec_config_metadata {
58  codec_config_id: 200
59  codec_config {
60    codec_id: CODEC_ID_OPUS
61    num_samples_per_frame: 960
62    audio_roll_distance: -4
63    decoder_config_opus {
64      version: 1
65      pre_skip: 312
66      input_sample_rate: 48000
67      opus_encoder_metadata {
68        target_bitrate_per_channel: 48000
69        application: APPLICATION_AUDIO
70        use_float_api: false
71      }
72    }
73  }
74}
75
76audio_element_metadata {
77  audio_element_id: 300
78  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
79  reserved: 0
80  codec_config_id: 200
81  num_substreams: 7
82  audio_substream_ids: [0, 1, 2, 3, 4, 5, 6]
83  num_parameters: 2
84  audio_element_params {
85    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
86    demixing_param: {
87      param_definition {
88        parameter_id: 998  # Non-existent; default will be used
89        parameter_rate: 48000
90        param_definition_mode: 0
91        reserved: 0
92        duration: 960
93        num_subblocks: 1
94        constant_subblock_duration: 960
95      }
96      default_demixing_info_parameter_data: {
97        dmixp_mode: DMIXP_MODE_2
98      }
99      default_w: 0
100    }
101  }
102  audio_element_params {
103    param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN
104    recon_gain_param {
105      param_definition {
106        parameter_id: 999  # Non-existent; default will be used
107        parameter_rate: 48000
108        param_definition_mode: 0
109        reserved: 0
110        duration: 960
111        num_subblocks: 1
112        constant_subblock_duration: 960
113      }
114    }
115  }
116  scalable_channel_layout_config {
117    num_layers: 4
118    reserved: 0
119    channel_audio_layer_configs: [
120      {
121        loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
122        output_gain_is_present_flag: 0
123        recon_gain_is_present_flag: 0
124        reserved_a: 0
125        substream_count: 1
126        coupled_substream_count: 1
127      },
128      {
129        loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH
130        output_gain_is_present_flag: 0
131        recon_gain_is_present_flag: 1
132        reserved_a: 0
133        substream_count: 3
134        coupled_substream_count: 1
135      },
136      {
137        loudspeaker_layout: LOUDSPEAKER_LAYOUT_7_1_2_CH
138        output_gain_is_present_flag: 0
139        recon_gain_is_present_flag: 1
140        reserved_a: 0
141        substream_count: 2
142        coupled_substream_count: 2
143      },
144      {
145        loudspeaker_layout: LOUDSPEAKER_LAYOUT_7_1_4_CH
146        output_gain_is_present_flag: 0
147        recon_gain_is_present_flag: 1
148        reserved_a: 0
149        substream_count: 1
150        coupled_substream_count: 1
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: 1
164    audio_elements {
165      audio_element_id: 300
166      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
167      rendering_config {
168        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
169      }
170      element_mix_gain {
171        param_definition {
172          parameter_id: 100
173          parameter_rate: 48000
174          param_definition_mode: 1
175          reserved: 0
176        }
177        default_mix_gain: 0
178      }
179    }
180    output_mix_gain {
181      param_definition {
182        parameter_id: 100
183        parameter_rate: 48000
184        param_definition_mode: 1
185        reserved: 0
186      }
187      default_mix_gain: 0
188    }
189    num_layouts: 4
190    layouts {
191      loudness_layout {
192        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
193        ss_layout {
194          sound_system: SOUND_SYSTEM_A_0_2_0
195          reserved: 0
196        }
197      }
198      loudness {
199        info_type_bit_masks: []
200        integrated_loudness: -6428
201        digital_peak: -2108
202      }
203    }
204    layouts {
205      loudness_layout {
206        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
207        ss_layout {
208          sound_system: SOUND_SYSTEM_11_2_3_0
209          reserved: 0
210        }
211      }
212      loudness {
213        info_type_bit_masks: []
214        integrated_loudness: -6424
215        digital_peak: -2687
216      }
217    }
218    layouts {
219      loudness_layout {
220        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
221        ss_layout {
222          sound_system: SOUND_SYSTEM_10_2_7_0
223          reserved: 0
224        }
225      }
226      loudness {
227        info_type_bit_masks: []
228        integrated_loudness: -6436
229        digital_peak: -2816
230      }
231    }
232    layouts {
233      loudness_layout {
234        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
235        ss_layout {
236          sound_system: SOUND_SYSTEM_J_4_7_0
237          reserved: 0
238        }
239      }
240      loudness {
241        info_type_bit_masks: []
242        integrated_loudness: -6529
243        digital_peak: -2816
244      }
245    }
246  }
247}
248
249audio_frame_metadata {
250  wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_concat.wav"
251  samples_to_trim_at_end: 264
252  samples_to_trim_at_start: 312
253  audio_element_id: 300
254  channel_metadatas: [
255    { channel_id: 0 channel_label: CHANNEL_LABEL_L_7 },
256    { channel_id: 1 channel_label: CHANNEL_LABEL_R_7 },
257    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
258    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
259    { channel_id: 4 channel_label: CHANNEL_LABEL_LSS_7 },
260    { channel_id: 5 channel_label: CHANNEL_LABEL_RSS_7 },
261    { channel_id: 6 channel_label: CHANNEL_LABEL_LRS_7 },
262    { channel_id: 7 channel_label: CHANNEL_LABEL_RRS_7 },
263    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_4 },
264    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_4 },
265    { channel_id: 10 channel_label: CHANNEL_LABEL_LTB_4 },
266    { channel_id: 11 channel_label: CHANNEL_LABEL_RTB_4 }
267  ]
268}
269
270parameter_block_metadata {
271  parameter_id: 100
272  start_timestamp: 0
273  duration: 1093440
274  num_subblocks: 1
275  constant_subblock_duration: 1093440
276  subblocks: [
277    {
278      mix_gain_parameter_data {
279        animation_type: ANIMATE_STEP
280        param_data {
281          step {
282            start_point_value: 0
283          }
284        }
285      }
286    }
287  ]
288}
289
290temporal_delimiter_metadata {
291  enable_temporal_delimiters: false
292}
293