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