• 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 2-layer IAMF stream encoded using FLAC with the last layer "
17    "being 5.1."
18  file_name_prefix: "test_000073"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-05-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/channel_audio_layer_config",
29    "3.6.2/loudspeaker_layout == Stereo",
30    "3.6.2/loudspeaker_layout == 5.1",
31    "3.6.2/num_layers",
32    "3.9/Audio Frame OBU Syntax and Semantics",
33    "3.11.3/FLAC Specific"
34  ]
35  base_test: "test_000036"
36}
37
38encoder_control_metadata {
39  add_build_information_tag: false
40}
41
42ia_sequence_header_metadata {
43  primary_profile: PROFILE_VERSION_SIMPLE
44  additional_profile: PROFILE_VERSION_SIMPLE
45}
46
47codec_config_metadata {
48  codec_config_id: 200
49  codec_config {
50    codec_id: CODEC_ID_FLAC
51    num_samples_per_frame: 512
52    audio_roll_distance: 0
53    decoder_config_flac: {
54      metadata_blocks: {
55        header: {
56          last_metadata_block_flag: true
57          block_type: FLAC_BLOCK_TYPE_STREAMINFO
58          metadata_data_block_length: 34
59        }
60        stream_info {
61          minimum_block_size: 512
62          maximum_block_size: 512
63          sample_rate: 48000
64          bits_per_sample: 15  # Flac interprets this as 16 bits.
65          total_samples_in_stream: 647851
66        }
67      }
68      flac_encoder_metadata {
69        compression_level: 8
70      }
71    }
72  }
73}
74
75audio_element_metadata {
76  audio_element_id: 300
77  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
78  reserved: 0
79  codec_config_id: 200
80  num_substreams: 4
81  audio_substream_ids: [0, 1, 2, 3]
82  num_parameters: 1
83  audio_element_params {
84    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
85    demixing_param: {
86      param_definition {
87        parameter_id: 998  # Non-existent; default will be used
88        parameter_rate: 48000
89        param_definition_mode: 0
90        reserved: 0
91        duration: 512
92        num_subblocks: 1
93        constant_subblock_duration: 512
94      }
95      default_demixing_info_parameter_data: {
96        dmixp_mode: DMIXP_MODE_2
97      }
98      default_w: 0
99    }
100  }
101  scalable_channel_layout_config {
102    num_layers: 2
103    reserved: 0
104    channel_audio_layer_configs: [
105      {
106        loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
107        output_gain_is_present_flag: 0
108        recon_gain_is_present_flag: 0
109        reserved_a: 0
110        substream_count: 1
111        coupled_substream_count: 1
112      },
113      {
114        loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH
115        output_gain_is_present_flag: 0
116        recon_gain_is_present_flag: 0
117        reserved_a: 0
118        substream_count: 3
119        coupled_substream_count: 1
120      }
121    ]
122  }
123}
124
125mix_presentation_metadata {
126  mix_presentation_id: 42
127  count_label: 1
128  annotations_language: ["en-us"]
129  localized_presentation_annotations: ["test_mix_pres"]
130  num_sub_mixes: 1
131  sub_mixes {
132    num_audio_elements: 1
133    audio_elements {
134      audio_element_id: 300
135      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
136      rendering_config {
137        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138      }
139      element_mix_gain {
140        param_definition {
141          parameter_id: 100
142          parameter_rate: 48000
143          param_definition_mode: 1
144          reserved: 0
145        }
146        default_mix_gain: 0
147      }
148    }
149    output_mix_gain {
150      param_definition {
151        parameter_id: 100
152        parameter_rate: 48000
153        param_definition_mode: 1
154        reserved: 0
155      }
156      default_mix_gain: 0
157    }
158    num_layouts: 2
159    layouts {
160      loudness_layout {
161        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
162        ss_layout {
163          sound_system: SOUND_SYSTEM_A_0_2_0
164          reserved: 0
165        }
166      }
167      loudness {
168        info_type_bit_masks: []
169        integrated_loudness: -4618
170        digital_peak: -630
171      }
172    }
173    layouts {
174      loudness_layout {
175        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
176        ss_layout {
177          sound_system: SOUND_SYSTEM_B_0_5_0
178          reserved: 0
179        }
180      }
181      loudness {
182        info_type_bit_masks: []
183        integrated_loudness: -4637
184        digital_peak: -1009
185      }
186    }
187  }
188}
189
190audio_frame_metadata {
191  wav_filename: "Mechanism_5s.wav"
192  samples_to_trim_at_end: 128
193  samples_to_trim_at_start: 0
194  audio_element_id: 300
195  channel_metadatas: [
196    { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 },
197    { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 },
198    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
199    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
200    { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 },
201    { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 }
202  ]
203}
204
205parameter_block_metadata {
206  parameter_id: 100
207  start_timestamp: 0
208  duration: 645120
209  num_subblocks: 1
210  constant_subblock_duration: 645120
211  subblocks: [
212    {
213      mix_gain_parameter_data {
214        animation_type: ANIMATE_STEP
215        param_data {
216          step {
217            start_point_value: 0
218          }
219        }
220      }
221    }
222  ]
223}
224
225temporal_delimiter_metadata {
226  enable_temporal_delimiters: false
227}
228