• 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
14test_vector_metadata {
15  human_readable_description:
16    "A simple example of a first-order mono ambisonics + Stereo-F "
17    "Base-Enhanced profile IAMF stream and a 9.1.6 output layout."
18  file_name_prefix: "test_000611"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-08-08 00:00:00"
23  test_repository_tags: ["github/aomediacodec/libiamf/main"]
24  primary_tested_spec_sections: [
25    "3.6.2/loudspeaker_layout == Expanded",
26    "3.6.2/expanded_loudspeaker_layout == Stereo-F",
27    "3.6.3/ambisonics_mono_config",
28    "3.7.3/sound_system == 9.1.6",
29    "3.7.4/default_mix_gain",
30    "4.2/Base-Enhanced Profile",
31    "8.5.1/Loudness Information"
32  ]
33  base_test: "test_000400"
34}
35
36encoder_control_metadata {
37  add_build_information_tag: false
38}
39
40ia_sequence_header_metadata {
41  primary_profile: PROFILE_VERSION_BASE_ENHANCED
42  additional_profile: PROFILE_VERSION_BASE_ENHANCED
43}
44
45codec_config_metadata {
46  codec_config_id: 200
47  codec_config {
48    codec_id: CODEC_ID_LPCM
49    num_samples_per_frame: 1024
50    audio_roll_distance: 0
51    decoder_config_lpcm {
52      sample_format_flags: LPCM_LITTLE_ENDIAN
53      sample_size: 16
54      sample_rate: 48000
55    }
56  }
57}
58
59audio_element_metadata: [
60  {
61    audio_element_id: 300
62    audio_element_type: AUDIO_ELEMENT_SCENE_BASED
63    reserved: 0
64    codec_config_id: 200
65    num_substreams: 4
66    audio_substream_ids: [0, 1, 2, 3]
67    num_parameters: 0
68    ambisonics_config {
69      ambisonics_mode: AMBISONICS_MODE_MONO
70      ambisonics_mono_config {
71        output_channel_count: 4
72        substream_count: 4
73        channel_mapping: [0, 1, 2, 3]
74      }
75    }
76  },
77  {
78    audio_element_id: 301
79    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
80    reserved: 0
81    codec_config_id: 200
82    num_substreams: 1
83    audio_substream_ids: [4]
84    num_parameters: 0
85    scalable_channel_layout_config {
86      num_layers: 1
87      reserved: 0
88      channel_audio_layer_configs: [
89        {
90          loudspeaker_layout: LOUDSPEAKER_LAYOUT_EXPANDED
91          output_gain_is_present_flag: 0
92          recon_gain_is_present_flag: 0
93          reserved_a: 0
94          substream_count: 1
95          coupled_substream_count: 1
96          expanded_loudspeaker_layout: EXPANDED_LOUDSPEAKER_LAYOUT_STEREO_F
97        }
98      ]
99    }
100  }
101]
102
103mix_presentation_metadata {
104  mix_presentation_id: 42
105  count_label: 1
106  annotations_language: ["en-us"]
107  localized_presentation_annotations: ["test_mix_pres"]
108  num_sub_mixes: 1
109  sub_mixes {
110    num_audio_elements: 2
111    audio_elements: [
112      {
113        audio_element_id: 300
114        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
115        rendering_config {
116          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
117        }
118        element_mix_gain {
119          param_definition {
120            parameter_id: 999  # Non-existent; default will be used
121            parameter_rate: 48000
122            param_definition_mode: 1
123            reserved: 0
124          }
125          default_mix_gain: -768
126        }
127      },
128      {
129        audio_element_id: 301
130        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
131        rendering_config {
132          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
133        }
134        element_mix_gain {
135          param_definition {
136            parameter_id: 998  # Non-existent; default will be used
137            parameter_rate: 48000
138            param_definition_mode: 1
139            reserved: 0
140          }
141          default_mix_gain: -768
142        }
143      }
144    ]
145    output_mix_gain {
146      param_definition {
147        parameter_id: 997  # Non-existent; default will be used
148        parameter_rate: 48000
149        param_definition_mode: 1
150        reserved: 0
151      }
152      default_mix_gain: 0
153    }
154    num_layouts: 2
155    layouts {
156      loudness_layout {
157        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
158        ss_layout {
159          sound_system: SOUND_SYSTEM_A_0_2_0
160          reserved: 0
161        }
162      }
163      loudness {
164        info_type_bit_masks: []
165        integrated_loudness: -3561
166        digital_peak: -409
167      }
168    }
169    layouts {
170      loudness_layout {
171        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
172        ss_layout {
173          sound_system: SOUND_SYSTEM_13_6_9_0
174          reserved: 0
175        }
176      }
177      loudness {
178        info_type_bit_masks: []
179        integrated_loudness: -3584
180        digital_peak: -1772
181      }
182    }
183  }
184}
185
186audio_frame_metadata: [
187  {
188    wav_filename: "Transport_TOA_5s.wav"
189    samples_to_trim_at_end: 640
190    samples_to_trim_at_start: 0
191    audio_element_id: 300
192    channel_metadatas: [
193      { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
194      { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
195      { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
196      { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }
197    ]
198  },
199  {
200    wav_filename: "Mechanism_5s.wav"
201    samples_to_trim_at_end: 640
202    samples_to_trim_at_start: 0
203    audio_element_id: 301
204    channel_metadatas: [
205      { channel_id: 0 channel_label: CHANNEL_LABEL_FL },  # L7 in the original file.
206      { channel_id: 1 channel_label: CHANNEL_LABEL_FR }  # R7 in the original file.
207    ]
208  }
209]
210
211temporal_delimiter_metadata {
212  enable_temporal_delimiters: false
213}
214