• 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    "An invalid IAMF stream with two Mix Presentation OBUs. The stream is "
17    "invalid because one of the Mix Presentation OBUs has zero sub-mixes."
18  file_name_prefix: "test_000502"
19  # The encoder should not normally encode a mix presentation with zero
20  # sub-mixes.
21  is_valid: false
22  # A compliant decoder can decode the mix with `mix_presentation_id` 42.
23  is_valid_to_decode: true
24  validate_user_loudness: true
25  mp4_fixed_timestamp: "2023-08-07 00:00:00"
26  test_repository_tags: [
27    "github/aomediacodec/libiamf/main",
28    "github/aomediacodec/libiamf/v1.0.0-errata"
29  ]
30  primary_tested_spec_sections: [
31    "3.7/num_sub_mixes"
32  ]
33  base_test: "test_000409"
34}
35
36encoder_control_metadata {
37  add_build_information_tag: false
38}
39
40ia_sequence_header_metadata {
41  primary_profile: PROFILE_VERSION_BASE
42  additional_profile: PROFILE_VERSION_BASE
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_CHANNEL_BASED
63    reserved: 0
64    codec_config_id: 200
65    num_substreams: 1
66    audio_substream_ids: [0]
67    num_parameters: 0
68    scalable_channel_layout_config {
69      num_layers: 1
70      reserved: 0
71      channel_audio_layer_configs: [
72        {
73          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
74          output_gain_is_present_flag: 0
75          recon_gain_is_present_flag: 0
76          reserved_a: 0
77          substream_count: 1
78          coupled_substream_count: 1
79        }
80      ]
81    }
82  },
83  {
84    audio_element_id: 301
85    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
86    reserved: 0
87    codec_config_id: 200
88    num_substreams: 1
89    audio_substream_ids: [1]
90    num_parameters: 0
91    scalable_channel_layout_config {
92      num_layers: 1
93      reserved: 0
94      channel_audio_layer_configs: [
95        {
96          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
97          output_gain_is_present_flag: 0
98          recon_gain_is_present_flag: 0
99          reserved_a: 0
100          substream_count: 1
101          coupled_substream_count: 1
102        }
103      ]
104    }
105  }
106]
107
108mix_presentation_metadata: [
109  {
110    mix_presentation_id: 42
111    count_label: 1
112    annotations_language: ["en-us"]
113    localized_presentation_annotations: ["test_mix_pres_0"]
114    num_sub_mixes: 1
115    sub_mixes {
116      num_audio_elements: 2
117      audio_elements: [
118        {
119          audio_element_id: 300
120          localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
121          rendering_config {
122            headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
123          }
124          element_mix_gain {
125            param_definition {
126              parameter_id: 999  # Non-existent; default will be used
127              parameter_rate: 48000
128              param_definition_mode: 1
129              reserved: 0
130            }
131            default_mix_gain: -768
132          }
133        },
134        {
135          audio_element_id: 301
136          localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
137          rendering_config {
138            headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
139          }
140          element_mix_gain {
141            param_definition {
142              parameter_id: 998  # Non-existent; default will be used
143              parameter_rate: 48000
144              param_definition_mode: 1
145              reserved: 0
146            }
147            default_mix_gain: -768
148          }
149        }
150      ]
151      output_mix_gain {
152        param_definition {
153          parameter_id: 997  # Non-existent; default will be used
154          parameter_rate: 48000
155          param_definition_mode: 1
156        }
157        default_mix_gain: 0
158      }
159      num_layouts: 1
160      layouts {
161        loudness_layout {
162          layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
163          ss_layout {
164            sound_system: SOUND_SYSTEM_A_0_2_0
165            reserved: 0
166          }
167        }
168        loudness {
169          info_type_bit_masks: []
170          integrated_loudness: -5451
171          digital_peak: -1784
172        }
173      }
174    }
175  },
176  {
177    mix_presentation_id: 43
178    count_label: 1
179    annotations_language: ["en-us"]
180    localized_presentation_annotations: ["test_mix_pres_1"]
181    num_sub_mixes: 0
182  }
183]
184
185audio_frame_metadata: [
186  {
187    wav_filename: "Mechanism_5s.wav"
188    samples_to_trim_at_end: 640
189    samples_to_trim_at_start: 0
190    audio_element_id: 300
191    channel_metadatas: [
192      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
193      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
194    ]
195  },
196  {
197    wav_filename: "dialog_clip_stereo.wav"
198    samples_to_trim_at_end: 640
199    samples_to_trim_at_start: 0
200    audio_element_id: 301
201    channel_metadatas: [
202      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
203      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
204    ]
205  }
206]
207
208temporal_delimiter_metadata {
209  enable_temporal_delimiters: false
210}
211