• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024, 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# txtpbfmt: disable
14
15test_vector_metadata {
16  human_readable_description:
17    "A first-order ambisonics IAMF stream it contains a loudness layout which "
18    "is reserved in simple profile, but permitted in base-enhanced profile."
19  file_name_prefix: "test_000131"
20  is_valid: true
21  is_valid_to_decode: true
22validate_user_loudness: true
23  mp4_fixed_timestamp: "2024-07-09 00:00:00"
24  test_repository_tags: [
25    "github/aomediacodec/libiamf/main",
26    "github/aomediacodec/libiamf/v1.0.0-errata"
27  ]
28  primary_tested_spec_sections: [
29    "3.6.3/ambisonics_projection_config",
30    "7/IAMF Processing",
31    "7.3.2/Rendering an Audio Element",
32    "7.3.2.2/Rendering a Scene-Based Audio Element to Loudspeakers"
33  ]
34  base_test: "test_000048"
35  output_wav_file_bit_depth_override: 16
36}
37
38encoder_control_metadata {
39  add_build_information_tag: false
40}
41
42ia_sequence_header_metadata {
43  primary_profile: PROFILE_VERSION_SIMPLE
44  additional_profile: PROFILE_VERSION_BASE_ENHANCED
45}
46
47codec_config_metadata {
48  codec_config_id: 200
49  codec_config {
50    codec_id: CODEC_ID_OPUS
51    num_samples_per_frame: 960
52    audio_roll_distance: -4
53    decoder_config_opus {
54      version: 1
55      pre_skip: 312
56      input_sample_rate: 48000
57      opus_encoder_metadata {
58        target_bitrate_per_channel: 48000
59        application: APPLICATION_AUDIO
60        use_float_api: false
61      }
62    }
63  }
64}
65
66audio_element_metadata {
67  audio_element_id: 300
68  audio_element_type: AUDIO_ELEMENT_SCENE_BASED
69  reserved: 0
70  codec_config_id: 200
71  num_substreams: 2
72  audio_substream_ids: [0, 1]
73  num_parameters: 0
74  ambisonics_config {
75    ambisonics_mode: AMBISONICS_MODE_PROJECTION
76    ambisonics_projection_config {
77      output_channel_count: 4
78      substream_count: 2
79      coupled_substream_count: 2
80      demixing_matrix: [
81        32767, 0, 0, 0,  # col 0
82        0, 32767, 0, 0,  # col 1
83        0, 0, 32767, 0,  # col 2
84        0, 0, 0, 32767   # col 3
85      ]
86    }
87  }
88}
89
90mix_presentation_metadata {
91  mix_presentation_id: 42
92  count_label: 1
93  annotations_language: ["en-us"]
94  localized_presentation_annotations: ["test_mix_pres"]
95  num_sub_mixes: 1
96  sub_mixes {
97    num_audio_elements: 1
98    audio_elements {
99      audio_element_id: 300
100      localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
101      rendering_config {
102        headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
103      }
104      element_mix_gain {
105        param_definition {
106          parameter_id: 100
107          parameter_rate: 48000
108          param_definition_mode: 1
109          reserved: 0
110        }
111        default_mix_gain: 0
112      }
113    }
114    output_mix_gain {
115      param_definition {
116        parameter_id: 100
117        parameter_rate: 48000
118        param_definition_mode: 1
119        reserved: 0
120      }
121      default_mix_gain: 0
122    }
123    num_layouts: 2
124    layouts {
125      loudness_layout {
126        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
127        ss_layout {
128          sound_system: SOUND_SYSTEM_A_0_2_0
129          reserved: 0
130        }
131      }
132      loudness {
133        info_type_bit_masks: []
134        integrated_loudness: -5209
135        digital_peak: -4110
136      }
137    }
138    layouts {
139      loudness_layout {
140        layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
141        ss_layout {
142          sound_system: SOUND_SYSTEM_13_6_9_0
143          reserved: 0
144        }
145      }
146      loudness {
147        info_type_bit_masks: []
148        integrated_loudness: -2932
149        digital_peak: -2928
150      }
151    }
152  }
153}
154
155audio_frame_metadata {
156  wav_filename: "sawtooth_10000_foa_48khz.wav"
157  samples_to_trim_at_end: 648
158  samples_to_trim_at_start: 312
159  audio_element_id: 300
160  channel_metadatas: [
161    { channel_id: 0 channel_label: CHANNEL_LABEL_A_0 },
162    { channel_id: 1 channel_label: CHANNEL_LABEL_A_1 },
163    { channel_id: 2 channel_label: CHANNEL_LABEL_A_2 },
164    { channel_id: 3 channel_label: CHANNEL_LABEL_A_3 }
165  ]
166}
167
168parameter_block_metadata {
169  parameter_id: 100
170  start_timestamp: 0
171  duration: 24960
172  num_subblocks: 1
173  constant_subblock_duration: 24960
174  subblocks: [
175    {
176      mix_gain_parameter_data {
177        animation_type: ANIMATE_STEP
178        param_data {
179          step {
180            start_point_value: 0
181          }
182        }
183      }
184    }
185  ]
186}
187
188temporal_delimiter_metadata {
189  enable_temporal_delimiters: false
190}
191