• 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 3-layer IAMF stream scalable encoded with the "
17    "channel layouts: 3.1.2ch/5.1.2ch/7.1.4ch."
18  file_name_prefix: "test_000225"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-06-23 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 == 3.1.2",
30    "3.6.2/loudspeaker_layout == 5.1.2",
31    "3.6.2/loudspeaker_layout == 7.1.4",
32    "3.6.2/output_gain_is_present_flag",
33    "3.6.2/output_gain_flags",
34    "3.6.2/output_gain",
35    "3.6.2.1/Channel Layout Generation Rule",
36    "7/IAMF Processing",
37    "7.2.1/Gain",
38    "7.2.2/De-mixer",
39    "7.3.2/Rendering an Audio Element",
40    "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers",
41    "7.6.1/Dynamic Down-mix Matrix",
42    "9.1.2.1/Annex A2.1: Down-mix parameter and Loudness",
43    "9.1.2.2/Annex A2.2: Down-mix Mechanism",
44    "9.1.2.4/Annex A2.4: Channel Group Generation Rule"
45  ]
46  base_test: "test_0000211"
47}
48
49encoder_control_metadata {
50  add_build_information_tag: false
51}
52
53ia_sequence_header_metadata {
54  primary_profile: PROFILE_VERSION_SIMPLE
55  additional_profile: PROFILE_VERSION_SIMPLE
56}
57
58codec_config_metadata {
59  codec_config_id: 200
60  codec_config {
61    codec_id: CODEC_ID_LPCM
62    num_samples_per_frame: 1024
63    audio_roll_distance: 0
64    decoder_config_lpcm {
65      sample_format_flags: LPCM_LITTLE_ENDIAN
66      sample_size: 16
67      sample_rate: 48000
68    }
69  }
70}
71
72audio_element_metadata {
73  audio_element_id: 300
74  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
75  reserved: 0
76  codec_config_id: 200
77  num_substreams: 7
78  audio_substream_ids: [0, 1, 2, 3, 4, 5, 6]
79  num_parameters: 1
80  audio_element_params {
81    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
82    demixing_param: {
83      param_definition {
84        parameter_id: 999  # Non-existent; default will be used
85        parameter_rate: 48000
86        param_definition_mode: 0
87        reserved: 0
88        duration: 1024
89        num_subblocks: 1
90        constant_subblock_duration: 1024
91      }
92      default_demixing_info_parameter_data: {
93        dmixp_mode: DMIXP_MODE_1
94      }
95      default_w: 0
96    }
97  }
98  scalable_channel_layout_config {
99    num_layers: 3
100    reserved: 0
101    channel_audio_layer_configs: [
102      {
103        loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH  # [L3/R3, Ltf3/Rtf3, C, LFE]
104        output_gain_is_present_flag: 1
105        recon_gain_is_present_flag: 0
106        reserved_a: 0
107        substream_count: 4
108        coupled_substream_count: 2
109        output_gain_flag: 51
110        output_gain: 359
111      },
112      {
113        loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_2_CH  # [L5/R5]
114        output_gain_is_present_flag: 1
115        recon_gain_is_present_flag: 0
116        reserved_a: 0
117        substream_count: 1
118        coupled_substream_count: 1
119        output_gain_flag: 0
120        output_gain: 0
121      },
122      {
123        loudspeaker_layout: LOUDSPEAKER_LAYOUT_7_1_4_CH  # 7.1.4 [Lss7/Rss7, Ltf4/Rtf4]
124        output_gain_is_present_flag: 1
125        recon_gain_is_present_flag: 0
126        reserved_a: 0
127        substream_count: 2
128        coupled_substream_count: 2
129        output_gain_flag: 0
130        output_gain: 0
131      }
132    ]
133  }
134}
135
136mix_presentation_metadata {
137  mix_presentation_id: 42
138  count_label: 1
139  annotations_language: ["en-us"]
140  localized_presentation_annotations: ["test_mix_pres"]
141  num_sub_mixes: 1
142  sub_mixes {
143    num_audio_elements: 1
144    audio_elements {
145      audio_element_id: 300
146      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
147      rendering_config {
148        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
149      }
150      element_mix_gain {
151        param_definition {
152          parameter_id: 998
153          parameter_rate: 48000
154          param_definition_mode: 1
155          reserved: 0
156        }
157        default_mix_gain: 0
158      }
159    }
160    output_mix_gain {
161      param_definition {
162        parameter_id: 997
163        parameter_rate: 48000
164        param_definition_mode: 1
165        reserved: 0
166      }
167      default_mix_gain: 0
168    }
169    num_layouts: 4
170    layouts {
171      loudness_layout {
172        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
173        ss_layout {
174          sound_system: SOUND_SYSTEM_A_0_2_0
175          reserved: 0
176        }
177      }
178      loudness {
179        info_type_bit_masks: []
180        integrated_loudness: -4013
181        digital_peak: 0
182      }
183    }
184    layouts {
185      loudness_layout {
186        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
187        ss_layout {
188          sound_system: SOUND_SYSTEM_11_2_3_0
189          reserved: 0
190        }
191      }
192      loudness {
193        info_type_bit_masks: []
194        integrated_loudness: -4139
195        digital_peak: 0
196      }
197    }
198    layouts {
199      loudness_layout {
200        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
201        ss_layout {
202          sound_system: SOUND_SYSTEM_C_2_5_0
203          reserved: 0
204        }
205      }
206      loudness {
207        info_type_bit_masks: []
208        integrated_loudness: -3775
209        digital_peak: 0
210      }
211    }
212    layouts {
213      loudness_layout {
214        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
215        ss_layout {
216          sound_system: SOUND_SYSTEM_J_4_7_0
217          reserved: 0
218        }
219      }
220      loudness {
221        info_type_bit_masks: []
222        integrated_loudness: -4112
223        digital_peak: -998
224      }
225    }
226  }
227}
228
229audio_frame_metadata {
230  # Not using every channel in the input wav file.
231  wav_filename: "Mechanism_5s.wav"
232  samples_to_trim_at_end: 640
233  samples_to_trim_at_start: 0
234  audio_element_id: 300
235  channel_metadatas: [
236    { channel_id: 0 channel_label: CHANNEL_LABEL_L_7 },
237    { channel_id: 1 channel_label: CHANNEL_LABEL_R_7 },
238    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
239    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
240    { channel_id: 4 channel_label: CHANNEL_LABEL_LSS_7 },
241    { channel_id: 5 channel_label: CHANNEL_LABEL_RSS_7 },
242    { channel_id: 6 channel_label: CHANNEL_LABEL_LRS_7 },
243    { channel_id: 7 channel_label: CHANNEL_LABEL_RRS_7 },
244    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_4 },
245    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_4 },
246    { channel_id: 10 channel_label: CHANNEL_LABEL_LTB_4 },
247    { channel_id: 11 channel_label: CHANNEL_LABEL_RTB_4 }
248  ]
249}
250
251temporal_delimiter_metadata {
252  enable_temporal_delimiters: false
253}
254