Skip to content

Commit 927600a

Browse files
Googlerjwcullen
authored andcommitted
Add Advanced1 Profile tests with Channel-based input + 4 Mono Polar Objects
test_000900, test_000901, test_000902, test_000903, test_000904, test_000905, test_000906 PiperOrigin-RevId: 844839441
1 parent fec57a3 commit 927600a

File tree

8 files changed

+2486
-0
lines changed

8 files changed

+2486
-0
lines changed
Lines changed: 349 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,349 @@
1+
# Copyright (c) 2025, 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+
14+
test_vector_metadata {
15+
human_readable_description: "An Advanced-1 Profile Stream using a Mono Layout and 4 Mono Polar Objects."
16+
file_name_prefix: "test_000900"
17+
is_valid: true
18+
is_valid_to_decode: true
19+
validate_user_loudness: false
20+
mp4_fixed_timestamp: "2025-12-12 00:00:00"
21+
test_repository_tags: [
22+
"github/aomediacodec/libiamf/main"
23+
]
24+
primary_tested_spec_sections: [
25+
"3.6.4/objects_config",
26+
"3.7.2.1/rendering_config_ with polar_param_definition"
27+
]
28+
base_test: "test_000839"
29+
partition_mix_gain_parameter_blocks: false
30+
}
31+
32+
encoder_control_metadata {
33+
add_build_information_tag: false
34+
output_rendered_file_format: OUTPUT_FORMAT_WAV_BIT_DEPTH_AUTOMATIC
35+
}
36+
37+
ia_sequence_header_metadata {
38+
primary_profile: PROFILE_VERSION_ADVANCED1
39+
additional_profile: PROFILE_VERSION_ADVANCED1
40+
}
41+
42+
codec_config_metadata {
43+
codec_config_id: 200
44+
codec_config {
45+
codec_id: CODEC_ID_LPCM
46+
num_samples_per_frame: 1024
47+
audio_roll_distance: 0
48+
decoder_config_lpcm {
49+
sample_format_flags: LPCM_LITTLE_ENDIAN
50+
sample_size: 16
51+
sample_rate: 48000
52+
}
53+
}
54+
}
55+
56+
audio_element_metadata {
57+
audio_element_id: 300
58+
audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED
59+
reserved: 0
60+
codec_config_id: 200
61+
audio_substream_ids: [0]
62+
scalable_channel_layout_config {
63+
reserved: 0
64+
channel_audio_layer_configs: [
65+
{
66+
loudspeaker_layout: LOUDSPEAKER_LAYOUT_MONO
67+
output_gain_is_present_flag: 0
68+
recon_gain_is_present_flag: 0
69+
reserved_a: 0
70+
substream_count: 1
71+
coupled_substream_count: 0
72+
}
73+
]
74+
}
75+
}
76+
77+
audio_element_metadata {
78+
audio_element_id: 301
79+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
80+
reserved: 0
81+
codec_config_id: 200
82+
audio_substream_ids: [100]
83+
objects_config {
84+
num_objects: 1
85+
}
86+
}
87+
88+
audio_element_metadata {
89+
audio_element_id: 302
90+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
91+
reserved: 0
92+
codec_config_id: 200
93+
audio_substream_ids: [101]
94+
objects_config {
95+
num_objects: 1
96+
}
97+
}
98+
99+
audio_element_metadata {
100+
audio_element_id: 303
101+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
102+
reserved: 0
103+
codec_config_id: 200
104+
audio_substream_ids: [102]
105+
objects_config {
106+
num_objects: 1
107+
}
108+
}
109+
110+
audio_element_metadata {
111+
audio_element_id: 304
112+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
113+
reserved: 0
114+
codec_config_id: 200
115+
audio_substream_ids: [103]
116+
objects_config {
117+
num_objects: 1
118+
}
119+
}
120+
121+
mix_presentation_metadata {
122+
mix_presentation_id: 42
123+
annotations_language: ["en-us"]
124+
localized_presentation_annotations: ["test_mix_pres"]
125+
sub_mixes {
126+
audio_elements: [
127+
{
128+
audio_element_id: 300
129+
localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
130+
rendering_config {
131+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
132+
}
133+
element_mix_gain {
134+
param_definition {
135+
parameter_id: 100
136+
parameter_rate: 48000
137+
param_definition_mode: 1
138+
reserved: 0
139+
}
140+
default_mix_gain: -768 # -3 dB.
141+
}
142+
},
143+
{
144+
audio_element_id: 301
145+
localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
146+
rendering_config {
147+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
148+
rendering_config_param_definitions {
149+
param_definition_type: PARAM_DEFINITION_TYPE_POLAR
150+
polar_param_definition {
151+
param_definition {
152+
parameter_id: 1
153+
parameter_rate: 48000
154+
param_definition_mode: 1
155+
}
156+
default_azimuth: 1
157+
default_elevation: 2
158+
default_distance: 3
159+
}
160+
}
161+
}
162+
element_mix_gain {
163+
param_definition {
164+
parameter_id: 100
165+
parameter_rate: 48000
166+
param_definition_mode: 1
167+
reserved: 0
168+
}
169+
default_mix_gain: -768 # -3 dB.
170+
}
171+
},
172+
{
173+
audio_element_id: 302
174+
localized_element_annotations: ["test_sub_mix_0_audio_element_2"]
175+
rendering_config {
176+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
177+
rendering_config_param_definitions {
178+
param_definition_type: PARAM_DEFINITION_TYPE_POLAR
179+
polar_param_definition {
180+
param_definition {
181+
parameter_id: 1
182+
parameter_rate: 48000
183+
param_definition_mode: 1
184+
}
185+
default_azimuth: 1
186+
default_elevation: 2
187+
default_distance: 3
188+
}
189+
}
190+
}
191+
element_mix_gain {
192+
param_definition {
193+
parameter_id: 100
194+
parameter_rate: 48000
195+
param_definition_mode: 1
196+
reserved: 0
197+
}
198+
default_mix_gain: -768 # -3 dB.
199+
}
200+
},
201+
{
202+
audio_element_id: 303
203+
localized_element_annotations: ["test_sub_mix_0_audio_element_3"]
204+
rendering_config {
205+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
206+
rendering_config_param_definitions {
207+
param_definition_type: PARAM_DEFINITION_TYPE_POLAR
208+
polar_param_definition {
209+
param_definition {
210+
parameter_id: 1
211+
parameter_rate: 48000
212+
param_definition_mode: 1
213+
}
214+
default_azimuth: 1
215+
default_elevation: 2
216+
default_distance: 3
217+
}
218+
}
219+
}
220+
element_mix_gain {
221+
param_definition {
222+
parameter_id: 100
223+
parameter_rate: 48000
224+
param_definition_mode: 1
225+
reserved: 0
226+
}
227+
default_mix_gain: -768 # -3 dB.
228+
}
229+
},
230+
{
231+
audio_element_id: 304
232+
localized_element_annotations: ["test_sub_mix_0_audio_element_4"]
233+
rendering_config {
234+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_BINAURAL
235+
rendering_config_param_definitions {
236+
param_definition_type: PARAM_DEFINITION_TYPE_POLAR
237+
polar_param_definition {
238+
param_definition {
239+
parameter_id: 1
240+
parameter_rate: 48000
241+
param_definition_mode: 1
242+
}
243+
default_azimuth: 1
244+
default_elevation: 2
245+
default_distance: 3
246+
}
247+
}
248+
}
249+
element_mix_gain {
250+
param_definition {
251+
parameter_id: 100
252+
parameter_rate: 48000
253+
param_definition_mode: 1
254+
reserved: 0
255+
}
256+
default_mix_gain: -768 # -3 dB.
257+
}
258+
}
259+
]
260+
output_mix_gain {
261+
param_definition {
262+
parameter_id: 101
263+
parameter_rate: 48000
264+
param_definition_mode: 1
265+
reserved: 0
266+
}
267+
default_mix_gain: 0 # 0 dB.
268+
}
269+
layouts {
270+
loudness_layout {
271+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
272+
ss_layout {
273+
sound_system: SOUND_SYSTEM_A_0_2_0
274+
reserved: 0
275+
}
276+
}
277+
loudness {
278+
info_type_bit_masks: []
279+
}
280+
}
281+
layouts {
282+
loudness_layout {
283+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
284+
ss_layout {
285+
sound_system: SOUND_SYSTEM_12_0_1_0
286+
reserved: 0
287+
}
288+
}
289+
loudness {
290+
info_type_bit_masks: []
291+
}
292+
}
293+
}
294+
295+
}
296+
297+
audio_frame_metadata {
298+
samples_to_trim_at_end_includes_padding: false
299+
samples_to_trim_at_start_includes_codec_delay: false
300+
wav_filename: "sine_1000_4oa_48khz.wav"
301+
audio_element_id: 300
302+
channel_metadatas: [
303+
{ channel_id: 0 channel_label: CHANNEL_LABEL_MONO }
304+
]
305+
}
306+
307+
audio_frame_metadata {
308+
samples_to_trim_at_end_includes_padding: false
309+
samples_to_trim_at_start_includes_codec_delay: false
310+
wav_filename: "sine_1000_4oa_48khz.wav"
311+
audio_element_id: 301
312+
channel_metadatas: [
313+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
314+
]
315+
}
316+
317+
audio_frame_metadata {
318+
samples_to_trim_at_end_includes_padding: false
319+
samples_to_trim_at_start_includes_codec_delay: false
320+
wav_filename: "sine_1000_4oa_48khz.wav"
321+
audio_element_id: 302
322+
channel_metadatas: [
323+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
324+
]
325+
}
326+
327+
audio_frame_metadata {
328+
samples_to_trim_at_end_includes_padding: false
329+
samples_to_trim_at_start_includes_codec_delay: false
330+
wav_filename: "sine_1000_4oa_48khz.wav"
331+
audio_element_id: 303
332+
channel_metadatas: [
333+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
334+
]
335+
}
336+
337+
audio_frame_metadata {
338+
samples_to_trim_at_end_includes_padding: false
339+
samples_to_trim_at_start_includes_codec_delay: false
340+
wav_filename: "sine_1000_4oa_48khz.wav"
341+
audio_element_id: 304
342+
channel_metadatas: [
343+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
344+
]
345+
}
346+
347+
temporal_delimiter_metadata {
348+
enable_temporal_delimiters: false
349+
}

0 commit comments

Comments
 (0)