• 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 scalable encoded with the "
17    "channel layouts: 3.1.2ch/5.1.2ch."
18  file_name_prefix: "test_000224"
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/output_gain_is_present_flag",
32    "3.6.2/output_gain_flags",
33    "3.6.2/output_gain",
34    "3.6.2.1/Channel Layout Generation Rule",
35    "7.2.1/Gain",
36    "7.6.1/Dynamic Down-mix Matrix",
37    "9.1.2.2/Annex A2.2: Down-mix Mechanism",
38    "9.1.2.4/Annex A2.4: Channel Group Generation Rule"
39  ]
40  base_test: "test_000204"
41}
42
43encoder_control_metadata {
44  add_build_information_tag: false
45}
46
47ia_sequence_header_metadata {
48  primary_profile: PROFILE_VERSION_SIMPLE
49  additional_profile: PROFILE_VERSION_SIMPLE
50}
51
52codec_config_metadata {
53  codec_config_id: 200
54  codec_config {
55    codec_id: CODEC_ID_LPCM
56    num_samples_per_frame: 1024
57    audio_roll_distance: 0
58    decoder_config_lpcm {
59      sample_format_flags: LPCM_LITTLE_ENDIAN
60      sample_size: 16
61      sample_rate: 48000
62    }
63  }
64}
65
66audio_element_metadata {
67  audio_element_id: 300
68  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
69  reserved: 0
70  codec_config_id: 200
71  num_substreams: 5
72  audio_substream_ids: [0, 1, 2, 3, 4]
73  num_parameters: 1
74  audio_element_params {
75    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
76    demixing_param: {
77      param_definition {
78        parameter_id: 999  # Non-existent; default will be used
79        parameter_rate: 48000
80        param_definition_mode: 0
81        reserved: 0
82        duration: 1024
83        num_subblocks: 1
84        constant_subblock_duration: 1024
85      }
86      default_demixing_info_parameter_data: {
87        dmixp_mode: DMIXP_MODE_1
88      }
89      default_w: 0
90    }
91  }
92  scalable_channel_layout_config {
93    num_layers: 2
94    reserved: 0
95    channel_audio_layer_configs: [
96      {
97        loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH  # [L3/R3, Ltf3/Rtf3, C, LFE]
98        output_gain_is_present_flag: 1
99        recon_gain_is_present_flag: 0
100        reserved_a: 0
101        substream_count: 4
102        coupled_substream_count: 2
103        output_gain_flag: 51
104        output_gain: 0
105      },
106      {
107        loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_2_CH  # [L5/R5]
108        output_gain_is_present_flag: 1
109        recon_gain_is_present_flag: 0
110        reserved_a: 0
111        substream_count: 1
112        coupled_substream_count: 1
113        output_gain_flag: 0
114        output_gain: 0
115      }
116    ]
117  }
118}
119
120mix_presentation_metadata {
121  mix_presentation_id: 42
122  count_label: 1
123  annotations_language: ["en-us"]
124  localized_presentation_annotations: ["test_mix_pres"]
125  num_sub_mixes: 1
126  sub_mixes {
127    num_audio_elements: 1
128    audio_elements {
129      audio_element_id: 300
130      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
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: 0
142      }
143    }
144    output_mix_gain {
145      param_definition {
146        parameter_id: 997  # Non-existent; default will be used
147        parameter_rate: 48000
148        param_definition_mode: 1
149        reserved: 0
150      }
151      default_mix_gain: 0
152    }
153    num_layouts: 3
154    layouts {
155      loudness_layout {
156        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
157        ss_layout {
158          sound_system: SOUND_SYSTEM_A_0_2_0
159          reserved: 0
160        }
161      }
162      loudness {
163        info_type_bit_masks: []
164        integrated_loudness: -4511
165        digital_peak: -630
166      }
167    }
168    layouts {
169      loudness_layout {
170        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
171        ss_layout {
172          sound_system: SOUND_SYSTEM_11_2_3_0
173          reserved: 0
174        }
175      }
176      loudness {
177        info_type_bit_masks: []
178        integrated_loudness: -4637
179        digital_peak: -971
180      }
181    }
182    layouts {
183      loudness_layout {
184        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
185        ss_layout {
186          sound_system: SOUND_SYSTEM_C_2_5_0
187          reserved: 0
188        }
189      }
190      loudness {
191        info_type_bit_masks: []
192        integrated_loudness: -4559
193        digital_peak: -998
194      }
195    }
196  }
197}
198
199audio_frame_metadata {
200  # Not using every channel in the input wav file.
201  wav_filename: "Mechanism_5s.wav"
202  samples_to_trim_at_end: 640
203  samples_to_trim_at_start: 0
204  audio_element_id: 300
205  channel_metadatas: [
206    { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 },
207    { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 },
208    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
209    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
210    { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 },
211    { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 },
212    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_2 },
213    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_2 }
214  ]
215}
216
217temporal_delimiter_metadata {
218  enable_temporal_delimiters: false
219}
220