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