Skip to content

Commit ba02284

Browse files
Googlerjwcullen
authored andcommitted
Add test vectors for Base-Advanced Profile
- Mono Object + Mono Object test_000813, test_000814 PiperOrigin-RevId: 844820163
1 parent 432c5f3 commit ba02284

File tree

3 files changed

+395
-0
lines changed

3 files changed

+395
-0
lines changed
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
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: "A Base-Advanced Profile Stream with a Mono Polar and Mono Cartesian 16 Object"
16+
file_name_prefix: "test_000813"
17+
is_valid: true
18+
is_valid_to_decode: true
19+
validate_user_loudness: false
20+
mp4_fixed_timestamp: "2025-12-09 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+
"3.7.3.1/rendering_config_ with cartesian_16_param_definition"
28+
]
29+
base_test: "test_000802"
30+
partition_mix_gain_parameter_blocks: false
31+
}
32+
33+
encoder_control_metadata {
34+
add_build_information_tag: false
35+
output_rendered_file_format: OUTPUT_FORMAT_WAV_BIT_DEPTH_AUTOMATIC
36+
}
37+
38+
ia_sequence_header_metadata {
39+
primary_profile: PROFILE_VERSION_BASE_ADVANCED
40+
additional_profile: PROFILE_VERSION_BASE_ADVANCED
41+
}
42+
43+
codec_config_metadata {
44+
codec_config_id: 200
45+
codec_config {
46+
codec_id: CODEC_ID_LPCM
47+
num_samples_per_frame: 1024
48+
audio_roll_distance: 0
49+
decoder_config_lpcm {
50+
sample_format_flags: LPCM_LITTLE_ENDIAN
51+
sample_size: 16
52+
sample_rate: 48000
53+
}
54+
}
55+
}
56+
57+
audio_element_metadata {
58+
audio_element_id: 300
59+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
60+
reserved: 0
61+
codec_config_id: 200
62+
audio_substream_ids: [0]
63+
objects_config {
64+
num_objects: 1
65+
}
66+
}
67+
68+
audio_element_metadata {
69+
audio_element_id: 301
70+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
71+
reserved: 0
72+
codec_config_id: 200
73+
audio_substream_ids: [1]
74+
objects_config {
75+
num_objects: 1
76+
}
77+
}
78+
79+
mix_presentation_metadata {
80+
mix_presentation_id: 42
81+
annotations_language: ["en-us"]
82+
localized_presentation_annotations: ["test_mix_pres"]
83+
sub_mixes {
84+
audio_elements {
85+
audio_element_id: 300
86+
localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
87+
rendering_config {
88+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
89+
rendering_config_param_definitions {
90+
param_definition_type: PARAM_DEFINITION_TYPE_POLAR
91+
polar_param_definition {
92+
param_definition {
93+
parameter_id: 1
94+
parameter_rate: 48000
95+
param_definition_mode: 1
96+
}
97+
default_azimuth: 1
98+
default_elevation: 2
99+
default_distance: 3
100+
}
101+
}
102+
}
103+
element_mix_gain {
104+
param_definition {
105+
parameter_id: 100
106+
parameter_rate: 48000
107+
param_definition_mode: 1
108+
reserved: 0
109+
}
110+
default_mix_gain: -768 # -3 dB.
111+
}
112+
}
113+
audio_elements {
114+
audio_element_id: 301
115+
localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
116+
rendering_config {
117+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
118+
rendering_config_param_definitions {
119+
param_definition_type: PARAM_DEFINITION_TYPE_CART_16
120+
cart16_param_definition {
121+
param_definition {
122+
parameter_id: 2
123+
parameter_rate: 48000
124+
param_definition_mode: 1
125+
}
126+
default_x: 1
127+
default_y: 2
128+
default_z: 3
129+
}
130+
}
131+
}
132+
element_mix_gain {
133+
param_definition {
134+
parameter_id: 102
135+
parameter_rate: 48000
136+
param_definition_mode: 1
137+
reserved: 0
138+
}
139+
default_mix_gain: -768 # -3 dB.
140+
}
141+
}
142+
output_mix_gain {
143+
param_definition {
144+
parameter_id: 101
145+
parameter_rate: 48000
146+
param_definition_mode: 1
147+
reserved: 0
148+
}
149+
default_mix_gain: 0 # 0 dB.
150+
}
151+
layouts {
152+
loudness_layout {
153+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
154+
ss_layout {
155+
sound_system: SOUND_SYSTEM_A_0_2_0
156+
reserved: 0
157+
}
158+
}
159+
loudness {
160+
info_type_bit_masks: []
161+
}
162+
}
163+
layouts {
164+
loudness_layout {
165+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
166+
ss_layout {
167+
sound_system: SOUND_SYSTEM_12_0_1_0
168+
reserved: 0
169+
}
170+
}
171+
loudness {
172+
info_type_bit_masks: []
173+
}
174+
}
175+
}
176+
177+
}
178+
179+
audio_frame_metadata {
180+
samples_to_trim_at_end_includes_padding: false
181+
samples_to_trim_at_start_includes_codec_delay: false
182+
wav_filename: "dialog_clip_stereo.wav"
183+
audio_element_id: 300
184+
channel_metadatas: [
185+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
186+
]
187+
}
188+
189+
audio_frame_metadata {
190+
samples_to_trim_at_end_includes_padding: false
191+
samples_to_trim_at_start_includes_codec_delay: false
192+
wav_filename: "dialog_clip_stereo.wav"
193+
audio_element_id: 301
194+
channel_metadatas: [
195+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
196+
]
197+
}
198+
199+
temporal_delimiter_metadata {
200+
enable_temporal_delimiters: false
201+
}
Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
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: "A Base-Advanced Profile Stream with a Mono Cartesian 8 and Mono Cartesian 16 Object"
16+
file_name_prefix: "test_000814"
17+
is_valid: true
18+
is_valid_to_decode: true
19+
validate_user_loudness: false
20+
mp4_fixed_timestamp: "2025-12-09 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.3.1/rendering_config_ with cartesian_8_param_definition"
27+
"3.7.3.2/rendering_config_ with cartesian_16_param_definition"
28+
]
29+
base_test: "test_000813"
30+
partition_mix_gain_parameter_blocks: false
31+
}
32+
33+
encoder_control_metadata {
34+
add_build_information_tag: false
35+
output_rendered_file_format: OUTPUT_FORMAT_WAV_BIT_DEPTH_AUTOMATIC
36+
}
37+
38+
ia_sequence_header_metadata {
39+
primary_profile: PROFILE_VERSION_BASE_ADVANCED
40+
additional_profile: PROFILE_VERSION_BASE_ADVANCED
41+
}
42+
43+
codec_config_metadata {
44+
codec_config_id: 200
45+
codec_config {
46+
codec_id: CODEC_ID_LPCM
47+
num_samples_per_frame: 1024
48+
audio_roll_distance: 0
49+
decoder_config_lpcm {
50+
sample_format_flags: LPCM_LITTLE_ENDIAN
51+
sample_size: 16
52+
sample_rate: 48000
53+
}
54+
}
55+
}
56+
57+
audio_element_metadata {
58+
audio_element_id: 300
59+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
60+
reserved: 0
61+
codec_config_id: 200
62+
audio_substream_ids: [0]
63+
objects_config {
64+
num_objects: 1
65+
}
66+
}
67+
68+
audio_element_metadata {
69+
audio_element_id: 301
70+
audio_element_type: AUDIO_ELEMENT_OBJECT_BASED
71+
reserved: 0
72+
codec_config_id: 200
73+
audio_substream_ids: [1]
74+
objects_config {
75+
num_objects: 1
76+
}
77+
}
78+
79+
mix_presentation_metadata {
80+
mix_presentation_id: 42
81+
annotations_language: ["en-us"]
82+
localized_presentation_annotations: ["test_mix_pres"]
83+
sub_mixes {
84+
audio_elements {
85+
audio_element_id: 300
86+
localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
87+
rendering_config {
88+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
89+
rendering_config_param_definitions {
90+
param_definition_type: PARAM_DEFINITION_TYPE_CART_8
91+
cart8_param_definition {
92+
param_definition {
93+
parameter_id: 1
94+
parameter_rate: 48000
95+
param_definition_mode: 1
96+
}
97+
default_x: 1
98+
default_y: 2
99+
default_z: 3
100+
}
101+
}
102+
}
103+
element_mix_gain {
104+
param_definition {
105+
parameter_id: 100
106+
parameter_rate: 48000
107+
param_definition_mode: 1
108+
reserved: 0
109+
}
110+
default_mix_gain: -768 # -3 dB.
111+
}
112+
}
113+
audio_elements {
114+
audio_element_id: 301
115+
localized_element_annotations: ["test_sub_mix_0_audio_element_1"]
116+
rendering_config {
117+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
118+
rendering_config_param_definitions {
119+
param_definition_type: PARAM_DEFINITION_TYPE_CART_16
120+
cart16_param_definition {
121+
param_definition {
122+
parameter_id: 2
123+
parameter_rate: 48000
124+
param_definition_mode: 1
125+
}
126+
default_x: 1
127+
default_y: 2
128+
default_z: 3
129+
}
130+
}
131+
}
132+
element_mix_gain {
133+
param_definition {
134+
parameter_id: 102
135+
parameter_rate: 48000
136+
param_definition_mode: 1
137+
reserved: 0
138+
}
139+
default_mix_gain: -768 # -3 dB.
140+
}
141+
}
142+
output_mix_gain {
143+
param_definition {
144+
parameter_id: 101
145+
parameter_rate: 48000
146+
param_definition_mode: 1
147+
reserved: 0
148+
}
149+
default_mix_gain: 0 # 0 dB.
150+
}
151+
layouts {
152+
loudness_layout {
153+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
154+
ss_layout {
155+
sound_system: SOUND_SYSTEM_A_0_2_0
156+
reserved: 0
157+
}
158+
}
159+
loudness {
160+
info_type_bit_masks: []
161+
}
162+
}
163+
}
164+
}
165+
166+
audio_frame_metadata {
167+
samples_to_trim_at_end_includes_padding: false
168+
samples_to_trim_at_start_includes_codec_delay: false
169+
wav_filename: "dialog_clip_stereo.wav"
170+
audio_element_id: 300
171+
channel_metadatas: [
172+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
173+
]
174+
}
175+
176+
audio_frame_metadata {
177+
samples_to_trim_at_end_includes_padding: false
178+
samples_to_trim_at_start_includes_codec_delay: false
179+
wav_filename: "dialog_clip_stereo.wav"
180+
audio_element_id: 301
181+
channel_metadatas: [
182+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 }
183+
]
184+
}
185+
186+
temporal_delimiter_metadata {
187+
enable_temporal_delimiters: false
188+
}

0 commit comments

Comments
 (0)