• 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 3-layer IAMF stream encoded using Opus with the last layer "
17    "being 7.1.2."
18  file_name_prefix: "test_000051"
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.2/channel_audio_layer_config",
29    "3.6.2/loudspeaker_layout == Stereo",
30    "3.6.2/loudspeaker_layout == 3.1.2",
31    "3.6.2/loudspeaker_layout == 7.1.2",
32    "3.6.2/num_layers",
33    "3.9/Audio Frame OBU Syntax and Semantics",
34    "3.11.1/OPUS Specific"
35  ]
36  base_test: "test_000050"
37  output_wav_file_bit_depth_override: 16
38}
39
40encoder_control_metadata {
41  add_build_information_tag: false
42}
43
44ia_sequence_header_metadata {
45  primary_profile: PROFILE_VERSION_SIMPLE
46  additional_profile: PROFILE_VERSION_SIMPLE
47}
48
49codec_config_metadata {
50  codec_config_id: 200
51  codec_config {
52    codec_id: CODEC_ID_OPUS
53    num_samples_per_frame: 960
54    audio_roll_distance: -4
55    decoder_config_opus {
56      version: 1
57      pre_skip: 312
58      input_sample_rate: 48000
59      opus_encoder_metadata {
60        target_bitrate_per_channel: 48000
61        application: APPLICATION_AUDIO
62        use_float_api: false
63      }
64    }
65  }
66}
67
68audio_element_metadata {
69  audio_element_id: 300
70  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
71  reserved: 0
72  codec_config_id: 200
73  num_substreams: 6
74  audio_substream_ids: [0, 1, 2, 3, 4, 5]
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: 998  # 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: 999  # 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: 3
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_3_1_2_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        loudspeaker_layout: LOUDSPEAKER_LAYOUT_7_1_2_CH
130        output_gain_is_present_flag: 0
131        recon_gain_is_present_flag: 1
132        reserved_a: 0
133        substream_count: 2
134        coupled_substream_count: 2
135      }
136    ]
137  }
138}
139
140mix_presentation_metadata {
141  mix_presentation_id: 42
142  count_label: 1
143  annotations_language: ["en-us"]
144  localized_presentation_annotations: ["test_mix_pres"]
145  num_sub_mixes: 1
146  sub_mixes {
147    num_audio_elements: 1
148    audio_elements {
149      audio_element_id: 300
150      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
151      rendering_config {
152        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
153      }
154      element_mix_gain {
155        param_definition {
156          parameter_id: 100
157          parameter_rate: 48000
158          param_definition_mode: 1
159          reserved: 0
160        }
161        default_mix_gain: 0
162      }
163    }
164    output_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    num_layouts: 3
174    layouts {
175      loudness_layout {
176        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
177        ss_layout {
178          sound_system: SOUND_SYSTEM_A_0_2_0
179          reserved: 0
180        }
181      }
182      loudness {
183        info_type_bit_masks: []
184        integrated_loudness: -6110
185        digital_peak: -2108
186      }
187    }
188    layouts {
189      loudness_layout {
190        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
191        ss_layout {
192          sound_system: SOUND_SYSTEM_11_2_3_0
193          reserved: 0
194        }
195      }
196      loudness {
197        info_type_bit_masks: []
198        integrated_loudness: -6297
199        digital_peak: -2687
200      }
201    }
202    layouts {
203      loudness_layout {
204        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
205        ss_layout {
206          sound_system: SOUND_SYSTEM_10_2_7_0
207          reserved: 0
208        }
209      }
210      loudness {
211        info_type_bit_masks: []
212        integrated_loudness: -6308
213        digital_peak: -2816
214      }
215    }
216  }
217}
218
219audio_frame_metadata {
220  # Not using every channel in the input wav file.
221  wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav"
222  samples_to_trim_at_end: 648
223  samples_to_trim_at_start: 312
224  audio_element_id: 300
225  channel_metadatas: [
226    { channel_id: 0 channel_label: CHANNEL_LABEL_L_7 },
227    { channel_id: 1 channel_label: CHANNEL_LABEL_R_7 },
228    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
229    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
230    { channel_id: 4 channel_label: CHANNEL_LABEL_LSS_7 },
231    { channel_id: 5 channel_label: CHANNEL_LABEL_RSS_7 },
232    { channel_id: 6 channel_label: CHANNEL_LABEL_LRS_7 },
233    { channel_id: 7 channel_label: CHANNEL_LABEL_RRS_7 },
234    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_2 },
235    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_2 }
236  ]
237
238}
239
240parameter_block_metadata {
241  parameter_id: 100
242  start_timestamp: 0
243  duration: 240960
244  num_subblocks: 1
245  constant_subblock_duration: 240960
246  subblocks: [
247    {
248      mix_gain_parameter_data {
249        animation_type: ANIMATE_STEP
250        param_data {
251          step {
252            start_point_value: 0
253          }
254        }
255      }
256    }
257  ]
258}
259
260temporal_delimiter_metadata {
261  enable_temporal_delimiters: false
262}
263