• 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 first-order ambisonics + stereo base profile IAMF stream encoded using "
17    "Opus."
18  file_name_prefix: "test_000303"
19  is_valid: true
20  is_valid_to_decode: true
21  validate_user_loudness: true
22  mp4_fixed_timestamp: "2023-04-19 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/num_parameters",
29    "3.6.2/loudspeaker_layout == Stereo",
30    "3.6.3/ambisonics_mono_config",
31    "3.7.4/default_mix_gain",
32    "3.11.1/OPUS Specific",
33    "4.2/Base Profile",
34    "8.5.1/Loudness Information"
35  ]
36  base_test: "test_000109"
37  output_wav_file_bit_depth_override: 16
38}
39
40encoder_control_metadata {
41  add_build_information_tag: false
42}
43
44ia_sequence_header_metadata {
45  primary_profile: PROFILE_VERSION_BASE
46  additional_profile: PROFILE_VERSION_BASE
47}
48
49codec_config_metadata {
50  codec_config_id: 200
51  codec_config {
52    codec_id: CODEC_ID_OPUS
53    num_samples_per_frame: 960
54    audio_roll_distance: -4
55    decoder_config_opus {
56      version: 1
57      pre_skip: 312
58      input_sample_rate: 48000
59      opus_encoder_metadata {
60        target_bitrate_per_channel: 48000
61        application: APPLICATION_AUDIO
62        use_float_api: false
63      }
64    }
65  }
66}
67
68audio_element_metadata: [
69  {
70    audio_element_id: 300
71    audio_element_type: AUDIO_ELEMENT_SCENE_BASED
72    reserved: 0
73    codec_config_id: 200
74    num_substreams: 4
75    audio_substream_ids: [0, 1, 2, 3]
76    num_parameters: 0
77    ambisonics_config {
78      ambisonics_mode: AMBISONICS_MODE_MONO
79      ambisonics_mono_config {
80        output_channel_count: 4
81        substream_count: 4
82        channel_mapping: [0, 1, 2, 3]
83      }
84    }
85  },
86  {
87    audio_element_id: 301
88    audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
89    reserved: 0
90    codec_config_id: 200
91    num_substreams: 1
92    audio_substream_ids: [4]
93    num_parameters: 0
94    scalable_channel_layout_config {
95      num_layers: 1
96      reserved: 0
97      channel_audio_layer_configs: [
98        {
99          loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
100          output_gain_is_present_flag: 0
101          recon_gain_is_present_flag: 0
102          reserved_a: 0
103          substream_count: 1
104          coupled_substream_count: 1
105        }
106      ]
107    }
108  }
109]
110
111mix_presentation_metadata {
112  mix_presentation_id: 42
113  count_label: 1
114  annotations_language: ["en-us"]
115  localized_presentation_annotations: ["test_mix_pres"]
116  num_sub_mixes: 1
117  sub_mixes {
118    num_audio_elements: 2
119    audio_elements: [
120      {
121        audio_element_id: 300
122        localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
123        rendering_config {
124          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
125        }
126        element_mix_gain {
127          param_definition {
128            parameter_id: 999  # Non-existent; default will be used
129            parameter_rate: 48000
130            param_definition_mode: 1
131            reserved: 0
132          }
133          default_mix_gain: -768
134        }
135      },
136      {
137        audio_element_id: 301
138        localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
139        rendering_config {
140          headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
141        }
142        element_mix_gain {
143          param_definition {
144            parameter_id: 998  # Non-existent; default will be used
145            parameter_rate: 48000
146            param_definition_mode: 1
147            reserved: 0
148          }
149          default_mix_gain: -768
150        }
151      }
152    ]
153    output_mix_gain {
154      param_definition {
155        parameter_id: 997  # Non-existent; default will be used
156        parameter_rate: 48000
157        param_definition_mode: 1
158        reserved: 0
159      }
160      default_mix_gain: 0
161    }
162    num_layouts: 1
163    layouts {
164      loudness_layout {
165        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
166        ss_layout {
167          sound_system: SOUND_SYSTEM_A_0_2_0
168          reserved: 0
169        }
170      }
171      loudness {
172        info_type_bit_masks: []
173        integrated_loudness: -3488
174        digital_peak: -565
175      }
176    }
177  }
178}
179
180audio_frame_metadata: [
181  {
182    wav_filename: "Transport_TOA_5s.wav"
183    samples_to_trim_at_end: 648
184    samples_to_trim_at_start: 312
185    audio_element_id: 300
186    channel_metadatas: [
187      { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
188      { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
189      { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
190      { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }
191    ]
192  },
193  {
194    wav_filename: "dialog_clip_stereo.wav"
195    samples_to_trim_at_end: 648
196    samples_to_trim_at_start: 312
197    audio_element_id: 301
198    channel_metadatas: [
199      { channel_id: 0 channel_label: CHANNEL_LABEL_L_2 },
200      { channel_id: 1 channel_label: CHANNEL_LABEL_R_2 }
201    ]
202  }
203]
204
205temporal_delimiter_metadata {
206  enable_temporal_delimiters: false
207}
208