• 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: "A simple example of a stereo + stereo base profile IAMF stream using bezier gain."
16  file_name_prefix: "test_000407"
17  is_valid: true
18  is_valid_to_decode: true
19  validate_user_loudness: true
20  mp4_fixed_timestamp: "2023-04-19 00:00:00"
21  test_repository_tags: [
22    "github/aomediacodec/libiamf/main",
23    "github/aomediacodec/libiamf/v1.0.0-errata"
24  ]
25  primary_tested_spec_sections: [
26    "3.8.1/animation_type == BEZIER",
27    "7/IAMF Processing",
28    "7.4/animation_type == BEZIER"
29  ]
30  base_test: "test_000400"
31}
32
33encoder_control_metadata {
34  add_build_information_tag: false
35}
36
37ia_sequence_header_metadata {
38  primary_profile: PROFILE_VERSION_BASE
39  additional_profile: PROFILE_VERSION_BASE
40}
41
42codec_config_metadata {
43  codec_config_id: 200
44  codec_config {
45    codec_id: CODEC_ID_LPCM
46    num_samples_per_frame: 1024
47    audio_roll_distance: 0
48    decoder_config_lpcm {
49      sample_format_flags: LPCM_LITTLE_ENDIAN
50      sample_size: 16
51      sample_rate: 48000
52    }
53  }
54}
55
56audio_element_metadata: [
57  {
58    audio_element_id: 300
59    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
60    reserved: 0
61    codec_config_id: 200
62    num_substreams: 1
63    audio_substream_ids: [0]
64    num_parameters: 0
65    scalable_channel_layout_config {
66      num_layers: 1
67      reserved: 0
68      channel_audio_layer_configs: [
69        {
70          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
71          output_gain_is_present_flag: 0
72          recon_gain_is_present_flag: 0
73          reserved_a: 0
74          substream_count: 1
75          coupled_substream_count: 1
76        }
77      ]
78    }
79  },
80  {
81    audio_element_id: 301
82    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
83    reserved: 0
84    codec_config_id: 200
85    num_substreams: 1
86    audio_substream_ids: [1]
87    num_parameters: 0
88    scalable_channel_layout_config {
89      num_layers: 1
90      reserved: 0
91      channel_audio_layer_configs: [
92        {
93          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
94          output_gain_is_present_flag: 0
95          recon_gain_is_present_flag: 0
96          reserved_a: 0
97          substream_count: 1
98          coupled_substream_count: 1
99        }
100      ]
101    }
102  }
103]
104
105mix_presentation_metadata {
106  mix_presentation_id: 42
107  count_label: 1
108  annotations_language: ["en-us"]
109  localized_presentation_annotations: ["test_mix_pres"]
110  num_sub_mixes: 1
111  sub_mixes {
112    num_audio_elements: 2
113    audio_elements: [
114      {
115        audio_element_id: 300
116        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
117        rendering_config {
118          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
119        }
120        element_mix_gain {
121          param_definition {
122            parameter_id: 999  # Non-existent; default will be used
123            parameter_rate: 48000
124            param_definition_mode: 1
125            reserved: 0
126          }
127          default_mix_gain: -768
128        }
129      },
130      {
131        audio_element_id: 301
132        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
133        rendering_config {
134          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
135        }
136        element_mix_gain {
137          param_definition {
138            parameter_id: 998  # Non-existent; default will be used
139            parameter_rate: 48000
140            param_definition_mode: 1
141            reserved: 0
142          }
143          default_mix_gain: -768
144        }
145      }
146    ]
147    output_mix_gain {
148      param_definition {
149        parameter_id: 400
150        parameter_rate: 48000
151        param_definition_mode: 1
152        reserved: 0
153      }
154      default_mix_gain: 0
155    }
156    num_layouts: 1
157    layouts {
158      loudness_layout {
159        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
160        ss_layout {
161          sound_system: SOUND_SYSTEM_A_0_2_0
162          reserved: 0
163        }
164      }
165      loudness {
166        info_type_bit_masks: []
167        integrated_loudness: -4683
168        digital_peak: -1016
169      }
170    }
171  }
172}
173
174audio_frame_metadata: [
175  {
176    wav_filename: "Mechanism_5s.wav"
177    samples_to_trim_at_end: 640
178    samples_to_trim_at_start: 0
179    audio_element_id: 300
180    channel_metadatas: [
181      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
182      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
183    ]
184  },
185  {
186    wav_filename: "dialog_clip_stereo.wav"
187    samples_to_trim_at_end: 640
188    samples_to_trim_at_start: 0
189    audio_element_id: 301
190    channel_metadatas: [
191      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
192      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
193    ]
194  }
195]
196
197parameter_block_metadata {
198  parameter_id: 400
199  start_timestamp: 0
200  duration: 1024
201  num_subblocks: 1
202  constant_subblock_duration: 1024
203  subblocks: [
204    {
205      mix_gain_parameter_data {
206        animation_type: ANIMATE_BEZIER
207        param_data {
208          bezier {
209            start_point_value: 0
210            end_point_value: 768
211            control_point_value: 384
212            control_point_relative_time: 128
213          }
214        }
215      }
216    }
217  ]
218}
219
220parameter_block_metadata {
221  parameter_id: 400
222  start_timestamp: 1024
223  duration: 238592
224  num_subblocks: 1
225  constant_subblock_duration: 238592
226  subblocks: [
227    {
228      mix_gain_parameter_data {
229        animation_type: ANIMATE_STEP
230        param_data {
231          step {
232            start_point_value: 768
233          }
234        }
235      }
236    }
237  ]
238}
239
240parameter_block_metadata {
241  parameter_id: 400
242  start_timestamp: 239616
243  duration: 1024
244  num_subblocks: 1
245  constant_subblock_duration: 1024
246  subblocks: [
247    {
248      mix_gain_parameter_data {
249        animation_type: ANIMATE_BEZIER
250        param_data {
251          bezier {
252            start_point_value: 768
253            end_point_value: 0
254            control_point_value: 384
255            control_point_relative_time: 128
256          }
257        }
258      }
259    }
260  ]
261}
262
263temporal_delimiter_metadata {
264  enable_temporal_delimiters: false
265}
266