• 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 first-order ambisonics + a 2 layer 5.1.2 base profile IAMF "
17    "stream."
18  file_name_prefix: "test_000086"
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.2/loudspeaker_layout == 5.1.2",
29    "3.6.3/ambisonics_mono_config",
30    "3.7.4/default_mix_gain",
31    "4.2/Base Profile",
32    "8.5.1/Loudness Information"
33  ]
34  base_test: "test_000300"
35}
36
37encoder_control_metadata {
38  add_build_information_tag: false
39}
40
41ia_sequence_header_metadata {
42  primary_profile: PROFILE_VERSION_BASE
43  additional_profile: PROFILE_VERSION_BASE
44}
45
46codec_config_metadata {
47  codec_config_id: 200
48  codec_config {
49    codec_id: CODEC_ID_LPCM
50    num_samples_per_frame: 64
51    audio_roll_distance: 0
52    decoder_config_lpcm {
53      sample_format_flags: LPCM_LITTLE_ENDIAN
54      sample_size: 16
55      sample_rate: 48000
56    }
57  }
58}
59
60audio_element_metadata: [
61  {
62    audio_element_id: 300
63    audio_element_type: AUDIO_ELEMENT_SCENE_BASED
64    reserved: 0
65    codec_config_id: 200
66    num_substreams: 4
67    audio_substream_ids: [0, 1, 2, 3]
68    num_parameters: 0
69    ambisonics_config {
70      ambisonics_mode: AMBISONICS_MODE_MONO
71      ambisonics_mono_config {
72        output_channel_count: 4
73        substream_count: 4
74        channel_mapping: [0, 1, 2, 3]
75      }
76    }
77  },
78  {
79    audio_element_id: 301
80    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
81    reserved: 0
82    codec_config_id: 200
83    num_substreams: 5
84    audio_substream_ids: [4, 5, 6, 7, 8]
85    num_parameters: 1
86    audio_element_params {
87      param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
88      demixing_param: {
89        param_definition {
90          parameter_id: 996  # Non-existent; default will be used
91          parameter_rate: 48000
92          param_definition_mode: 0
93          reserved: 0
94          duration: 64
95          num_subblocks: 1
96          constant_subblock_duration: 64
97        }
98        default_demixing_info_parameter_data: {
99          dmixp_mode: DMIXP_MODE_1
100        }
101        default_w: 0
102      }
103    }
104    scalable_channel_layout_config {
105      num_layers: 2
106      reserved: 0
107      channel_audio_layer_configs: [
108        {
109          loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH  # [L3/R3, Ltf3/Rtf3, C, LFE]
110          output_gain_is_present_flag: 1
111          recon_gain_is_present_flag: 0
112          reserved_a: 0
113          substream_count: 4
114          coupled_substream_count: 2
115          output_gain_flag: 51
116          output_gain: 0
117        },
118        {
119          loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_2_CH  # [L5/R5]
120          output_gain_is_present_flag: 1
121          recon_gain_is_present_flag: 0
122          reserved_a: 0
123          substream_count: 1
124          coupled_substream_count: 1
125          output_gain_flag: 0
126          output_gain: 0
127        }
128      ]
129    }
130  }
131]
132
133mix_presentation_metadata {
134  mix_presentation_id: 42
135  count_label: 1
136  annotations_language: ["en-us"]
137  localized_presentation_annotations: ["test_mix_pres"]
138  num_sub_mixes: 1
139  sub_mixes {
140    num_audio_elements: 2
141    audio_elements: [
142      {
143        audio_element_id: 300
144        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
145        rendering_config {
146          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
147        }
148        element_mix_gain {
149          param_definition {
150            parameter_id: 999  # Non-existent; default will be used
151            parameter_rate: 48000
152            param_definition_mode: 1
153            reserved: 0
154          }
155          default_mix_gain: -768
156        }
157      },
158      {
159        audio_element_id: 301
160        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
161        rendering_config {
162          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
163        }
164        element_mix_gain {
165          param_definition {
166            parameter_id: 998  # Non-existent; default will be used
167            parameter_rate: 48000
168            param_definition_mode: 1
169            reserved: 0
170          }
171          default_mix_gain: -768
172        }
173      }
174    ]
175    output_mix_gain {
176      param_definition {
177        parameter_id: 997  # Non-existent; default will be used
178        parameter_rate: 48000
179        param_definition_mode: 1
180        reserved: 0
181      }
182      default_mix_gain: 0
183    }
184    num_layouts: 3
185    layouts {
186      loudness_layout {
187        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
188        ss_layout {
189          sound_system: SOUND_SYSTEM_A_0_2_0
190          reserved: 0
191        }
192      }
193      loudness {
194        info_type_bit_masks: []
195        integrated_loudness: -3519
196        digital_peak: -254
197      }
198    }
199    layouts {
200      loudness_layout {
201        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
202        ss_layout {
203          sound_system: SOUND_SYSTEM_11_2_3_0
204          reserved: 0
205        }
206      }
207      loudness {
208        info_type_bit_masks: []
209        integrated_loudness: -3959
210        digital_peak: -774
211      }
212    }
213    layouts {
214      loudness_layout {
215        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
216        ss_layout {
217          sound_system: SOUND_SYSTEM_C_2_5_0
218          reserved: 0
219        }
220      }
221      loudness {
222        info_type_bit_masks: []
223        integrated_loudness: -3738
224        digital_peak: -950
225      }
226    }
227  }
228}
229
230audio_frame_metadata: [
231  {
232    wav_filename: "Transport_TOA_5s.wav"
233    samples_to_trim_at_end: 0
234    samples_to_trim_at_start: 0
235    audio_element_id: 300
236    channel_metadatas: [
237      { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
238      { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
239      { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
240      { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }
241    ]
242  },
243  {
244    # Not using every channel in the input wav file.
245    wav_filename: "Mechanism_5s.wav"
246    samples_to_trim_at_end: 0
247    samples_to_trim_at_start: 0
248    audio_element_id: 301
249    channel_metadatas: [
250      { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 },
251      { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 },
252      { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
253      { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
254      { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 },
255      { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 },
256      { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_2 },
257      { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_2 }
258    ]
259  }
260]
261
262temporal_delimiter_metadata {
263  enable_temporal_delimiters: false
264}
265