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