• 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 Opus with the last layer "
17    "being 3.1.2."
18  file_name_prefix: "test_000052"
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.9/Audio Frame OBU Syntax and Semantics",
30    "3.11.1/OPUS Specific",
31    "7/IAMF Processing",
32    "7.2/scalable",
33    "7.2/demixing",
34    "7.2/recon_gain",
35    "7.2.3/Recon Gain",
36    "7.3.2/Rendering an Audio Element",
37    "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers"
38  ]
39  base_test: "test_000051"
40  output_wav_file_bit_depth_override: 16
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_OPUS
56    num_samples_per_frame: 960
57    audio_roll_distance: -4
58    decoder_config_opus {
59      version: 1
60      pre_skip: 312
61      input_sample_rate: 48000
62      opus_encoder_metadata {
63        target_bitrate_per_channel: 48000
64        application: APPLICATION_AUDIO
65        use_float_api: false
66      }
67    }
68  }
69}
70
71audio_element_metadata {
72  audio_element_id: 300
73  audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
74  reserved: 0
75  codec_config_id: 200
76  num_substreams: 4
77  audio_substream_ids: [0, 1, 2, 3]
78  num_parameters: 2
79  audio_element_params {
80    param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING
81    demixing_param: {
82      param_definition {
83        parameter_id: 998  # Non-existent; default will be used
84        parameter_rate: 48000
85        param_definition_mode: 0
86        reserved: 0
87        duration: 960
88        num_subblocks: 1
89        constant_subblock_duration: 960
90      }
91      default_demixing_info_parameter_data: {
92        dmixp_mode: DMIXP_MODE_2
93      }
94      default_w: 0
95    }
96  }
97  audio_element_params {
98    param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN
99    recon_gain_param {
100      param_definition {
101        parameter_id: 999  # Non-existent; default will be used
102        parameter_rate: 48000
103        param_definition_mode: 0
104        reserved: 0
105        duration: 960
106        num_subblocks: 1
107        constant_subblock_duration: 960
108      }
109    }
110  }
111  scalable_channel_layout_config {
112    num_layers: 2
113    reserved: 0
114    channel_audio_layer_configs: [
115      {
116        loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO
117        output_gain_is_present_flag: 0
118        recon_gain_is_present_flag: 0
119        reserved_a: 0
120        substream_count: 1
121        coupled_substream_count: 1
122      },
123      {
124        loudspeaker_layout: LOUDSPEAKER_LAYOUT_3_1_2_CH
125        output_gain_is_present_flag: 0
126        recon_gain_is_present_flag: 1
127        reserved_a: 0
128        substream_count: 3
129        coupled_substream_count: 1
130      }
131    ]
132  }
133}
134
135mix_presentation_metadata {
136  mix_presentation_id: 42
137  count_label: 1
138  annotations_language: ["en-us"]
139  localized_presentation_annotations: ["test_mix_pres"]
140  num_sub_mixes: 1
141  sub_mixes {
142    num_audio_elements: 1
143    audio_elements {
144      audio_element_id: 300
145      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
146      rendering_config {
147        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
148      }
149      element_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    }
159    output_mix_gain {
160      param_definition {
161        parameter_id: 100
162        parameter_rate: 48000
163        param_definition_mode: 1
164        reserved: 0
165      }
166      default_mix_gain: 0
167    }
168    num_layouts: 2
169    layouts {
170      loudness_layout {
171        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
172        ss_layout {
173          sound_system: SOUND_SYSTEM_A_0_2_0
174          reserved: 0
175        }
176      }
177      loudness {
178        info_type_bit_masks: []
179        integrated_loudness: -6939
180        digital_peak: -3099
181      }
182    }
183    layouts {
184      loudness_layout {
185        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
186        ss_layout {
187          sound_system: SOUND_SYSTEM_11_2_3_0
188          reserved: 0
189        }
190      }
191      loudness {
192        info_type_bit_masks: []
193        integrated_loudness: -6988
194        digital_peak: -2816
195      }
196    }
197  }
198}
199
200audio_frame_metadata {
201  # Not using every channel in the input wav file.
202  wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav"
203  samples_to_trim_at_end: 648
204  samples_to_trim_at_start: 312
205  audio_element_id: 300
206  channel_metadatas: [
207    { channel_id: 0 channel_label: CHANNEL_LABEL_L_3 },
208    { channel_id: 1 channel_label: CHANNEL_LABEL_R_3 },
209    { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE },
210    { channel_id: 3 channel_label: CHANNEL_LABEL_LFE },
211    { channel_id: 8 channel_label: CHANNEL_LABEL_LTF_3 },
212    { channel_id: 9 channel_label: CHANNEL_LABEL_RTF_3 }
213  ]
214}
215
216parameter_block_metadata {
217  parameter_id: 100
218  start_timestamp: 0
219  duration: 240960
220  num_subblocks: 1
221  constant_subblock_duration: 240960
222  subblocks: [
223    {
224      mix_gain_parameter_data {
225        animation_type: ANIMATE_STEP
226        param_data {
227          step {
228            start_point_value: 0
229          }
230        }
231      }
232    }
233  ]
234}
235
236temporal_delimiter_metadata {
237  enable_temporal_delimiters: false
238}
239