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