• 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: 5.1.2ch/7.1.4ch."
18  file_name_prefix: "test_000226"
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 == 5.1.2",
30    "3.6.2/loudspeaker_layout == 7.1.4",
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    "7.6.2/Static Down-mix Matrix",
38    "9.1.2.2/Annex A2.2: Down-mix Mechanism",
39    "9.1.2.4/Annex A2.4: Channel Group Generation Rule"
40  ]
41  base_test: "test_000225"
42}
43
44encoder_control_metadata {
45  add_build_information_tag: false
46}
47
48ia_sequence_header_metadata {
49  primary_profile: PROFILE_VERSION_SIMPLE
50  additional_profile: PROFILE_VERSION_SIMPLE
51}
52
53codec_config_metadata {
54  codec_config_id: 200
55  codec_config {
56    codec_id: CODEC_ID_LPCM
57    num_samples_per_frame: 1024
58    audio_roll_distance: 0
59    decoder_config_lpcm {
60      sample_format_flags: LPCM_LITTLE_ENDIAN
61      sample_size: 16
62      sample_rate: 48000
63    }
64  }
65}
66
67audio_element_metadata {
68  audio_element_id: 300
69  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
70  reserved: 0
71  codec_config_id: 200
72  num_substreams: 7
73  audio_substream_ids: [0, 1, 2, 3, 4, 5, 6]
74  num_parameters: 1
75  audio_element_params {
76    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
77    demixing_param: {
78      param_definition {
79        parameter_id: 999  # Non-existent; default will be used
80        parameter_rate: 48000
81        param_definition_mode: 0
82        reserved: 0
83        duration: 1024
84        num_subblocks: 1
85        constant_subblock_duration: 1024
86      }
87      default_demixing_info_parameter_data: {
88        dmixp_mode: DMIXP_MODE_1
89      }
90      default_w: 0
91    }
92  }
93  scalable_channel_layout_config {
94    num_layers: 2
95    reserved: 0
96    channel_audio_layer_configs: [
97      {
98        loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_2_CH  # [L5/R5, Ls5/Rs5, Ltf2/Rtf2, C, LFE]
99        output_gain_is_present_flag: 1
100        recon_gain_is_present_flag: 0
101        reserved_a: 0
102        substream_count: 5
103        coupled_substream_count: 3
104        output_gain_flag: 15
105        output_gain: 359
106      },
107      {
108        loudspeaker_layout: LOUDSPEAKER_LAYOUT_7_1_4_CH  # 7.1.4 [Lss7/Rss7, Ltf4/Rtf4]
109        output_gain_is_present_flag: 1
110        recon_gain_is_present_flag: 0
111        reserved_a: 0
112        substream_count: 2
113        coupled_substream_count: 2
114        output_gain_flag: 0
115        output_gain: 0
116      }
117    ]
118  }
119}
120
121mix_presentation_metadata {
122  mix_presentation_id: 42
123  count_label: 1
124  annotations_language: ["en-us"]
125  localized_presentation_annotations: ["test_mix_pres"]
126  num_sub_mixes: 1
127  sub_mixes {
128    num_audio_elements: 1
129    audio_elements {
130      audio_element_id: 300
131      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
132      rendering_config {
133        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
134      }
135      element_mix_gain {
136        param_definition {
137          parameter_id: 998
138          parameter_rate: 48000
139          param_definition_mode: 1
140          reserved: 0
141        }
142        default_mix_gain: 0
143      }
144    }
145    output_mix_gain {
146      param_definition {
147        parameter_id: 997
148        parameter_rate: 48000
149        param_definition_mode: 1
150        reserved: 0
151      }
152      default_mix_gain: 0
153    }
154    num_layouts: 3
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: -4013
166        digital_peak: 0
167      }
168    }
169    layouts {
170      loudness_layout {
171        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
172        ss_layout {
173          sound_system: SOUND_SYSTEM_C_2_5_0
174          reserved: 0
175        }
176      }
177      loudness {
178        info_type_bit_masks: []
179        integrated_loudness: -3775
180        digital_peak: 0
181      }
182    }
183    layouts {
184      loudness_layout {
185        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
186        ss_layout {
187          sound_system: SOUND_SYSTEM_J_4_7_0
188          reserved: 0
189        }
190      }
191      loudness {
192        info_type_bit_masks: []
193        integrated_loudness: -4112
194        digital_peak: -998
195      }
196    }
197  }
198}
199
200audio_frame_metadata {
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_7 },
207    { channel_id: 1 channel_label: CHANNEL_LABEL_R_7 },
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_LSS_7 },
211    { channel_id: 5 channel_label: CHANNEL_LABEL_RSS_7 },
212    { channel_id: 6 channel_label: CHANNEL_LABEL_LRS_7 },
213    { channel_id: 7 channel_label: CHANNEL_LABEL_RRS_7 },
214    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_4 },
215    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_4 },
216    { channel_id: 10 channel_label: CHANNEL_LABEL_LTB_4 },
217    { channel_id: 11 channel_label: CHANNEL_LABEL_RTB_4 }
218  ]
219}
220
221temporal_delimiter_metadata {
222  enable_temporal_delimiters: false
223}
224