• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024, 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# txtpbfmt: disable
14
15test_vector_metadata {
16  human_readable_description:
17    "A simple example of a third-order projection ambisonics + Stereo-TpSi "
18    "Base-Enhanced profile IAMF stream and a 9.1.6 output layout."
19  file_name_prefix: "test_000613"
20  is_valid: true
21  is_valid_to_decode: true
22  validate_user_loudness: true
23  mp4_fixed_timestamp: "2024-08-08 00:00:00"
24  test_repository_tags: ["github/aomediacodec/libiamf/main"]
25  primary_tested_spec_sections: [
26    "3.6.2/loudspeaker_layout == Expanded",
27    "3.6.2/expanded_loudspeaker_layout == Stereo-TpSi",
28    "3.6.3/ambisonics_projection_config",
29    "3.7.3/sound_system == 9.1.6",
30    "3.7.4/default_mix_gain",
31    "4.2/Base-Enhanced Profile",
32    "8.5.1/Loudness Information"
33  ]
34  base_test: "test_000400"
35}
36
37encoder_control_metadata {
38  add_build_information_tag: false
39}
40
41ia_sequence_header_metadata {
42  primary_profile: PROFILE_VERSION_BASE_ENHANCED
43  additional_profile: PROFILE_VERSION_BASE_ENHANCED
44}
45
46codec_config_metadata {
47  codec_config_id: 200
48  codec_config {
49    codec_id: CODEC_ID_LPCM
50    num_samples_per_frame: 1024
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: 16
67    audio_substream_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
68    num_parameters: 0
69    ambisonics_config {
70      ambisonics_mode: AMBISONICS_MODE_PROJECTION
71      ambisonics_projection_config {
72        output_channel_count: 16
73        substream_count: 16
74        coupled_substream_count: 0
75        demixing_matrix: [
76          32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 0
77          0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 1
78          0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 2
79          0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 3
80          0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 4
81          0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 5
82          0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0,  # col 6
83          0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0,  # col 7
84          0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0,  # col 8
85          0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0,  # col 9
86          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0,  # col 10
87          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0,  # col 11
88          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0,  # col 12
89          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0,  # col 13
90          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0,  # col 14
91          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767   # col 15
92        ]
93      }
94    }
95  },
96  {
97    audio_element_id: 301
98    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
99    reserved: 0
100    codec_config_id: 200
101    num_substreams: 1
102    audio_substream_ids: [16]
103    num_parameters: 0
104    scalable_channel_layout_config {
105      num_layers: 1
106      reserved: 0
107      channel_audio_layer_configs: [
108        {
109          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
110          output_gain_is_present_flag: 0
111          recon_gain_is_present_flag: 0
112          reserved_a: 0
113          substream_count: 1
114          coupled_substream_count: 1
115          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_TP_SI
116        }
117      ]
118    }
119  }
120]
121
122mix_presentation_metadata {
123  mix_presentation_id: 42
124  count_label: 1
125  annotations_language: ["en-us"]
126  localized_presentation_annotations: ["test_mix_pres"]
127  num_sub_mixes: 1
128  sub_mixes {
129    num_audio_elements: 2
130    audio_elements: [
131      {
132        audio_element_id: 300
133        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
134        rendering_config {
135          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
136        }
137        element_mix_gain {
138          param_definition {
139            parameter_id: 999  # Non-existent; default will be used
140            parameter_rate: 48000
141            param_definition_mode: 1
142            reserved: 0
143          }
144          default_mix_gain: -768
145        }
146      },
147      {
148        audio_element_id: 301
149        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
150        rendering_config {
151          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
152        }
153        element_mix_gain {
154          param_definition {
155            parameter_id: 998  # Non-existent; default will be used
156            parameter_rate: 48000
157            param_definition_mode: 1
158            reserved: 0
159          }
160          default_mix_gain: -768
161        }
162      }
163    ]
164    output_mix_gain {
165      param_definition {
166        parameter_id: 997  # Non-existent; default will be used
167        parameter_rate: 48000
168        param_definition_mode: 1
169        reserved: 0
170      }
171      default_mix_gain: 0
172    }
173    num_layouts: 2
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: -3538
185        digital_peak: -697
186      }
187    }
188    layouts {
189      loudness_layout {
190        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
191        ss_layout {
192          sound_system: SOUND_SYSTEM_13_6_9_0
193          reserved: 0
194        }
195      }
196      loudness {
197        info_type_bit_masks: []
198        integrated_loudness: -4236
199        digital_peak: -1449
200      }
201    }
202  }
203}
204
205audio_frame_metadata: [
206  {
207    wav_filename: "Transport_TOA_5s.wav"
208    samples_to_trim_at_end: 640
209    samples_to_trim_at_start: 0
210    audio_element_id: 300
211        channel_metadatas: [
212      { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
213      { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
214      { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
215      { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 },
216      { channel_id: 4 channel_label: CHANNEL_LABEL_A_4 },
217      { channel_id: 5 channel_label: CHANNEL_LABEL_A_5 },
218      { channel_id: 6 channel_label: CHANNEL_LABEL_A_6 },
219      { channel_id: 7 channel_label: CHANNEL_LABEL_A_7 },
220      { channel_id: 8 channel_label: CHANNEL_LABEL_A_8 },
221      { channel_id: 9 channel_label: CHANNEL_LABEL_A_9 },
222      { channel_id: 10 channel_label: CHANNEL_LABEL_A_10 },
223      { channel_id: 11 channel_label: CHANNEL_LABEL_A_11 },
224      { channel_id: 12 channel_label: CHANNEL_LABEL_A_12 },
225      { channel_id: 13 channel_label: CHANNEL_LABEL_A_13 },
226      { channel_id: 14 channel_label: CHANNEL_LABEL_A_14 },
227      { channel_id: 15 channel_label: CHANNEL_LABEL_A_15 }
228    ]
229  },
230  {
231    wav_filename: "Mechanism_5s.wav"
232    samples_to_trim_at_end: 640
233    samples_to_trim_at_start: 0
234    audio_element_id: 301
235    channel_metadatas: [
236      { channel_id: 10 channel_label: CHANNEL_LABEL_TP_SI_L },  # Ltb4 in the original file.
237      { channel_id: 11 channel_label: CHANNEL_LABEL_TP_SI_R }  # Rtb4 in the original file.
238    ]
239  }
240]
241
242temporal_delimiter_metadata {
243  enable_temporal_delimiters: false
244}
245