Skip to content

Commit 432c5f3

Browse files
Googlerjwcullen
authored andcommitted
Add test vectors for Base-Advanced profile Dual Objects
Adds test_000807, test_000808, test_000809, test_000810, test_000811 PiperOrigin-RevId: 844817130
1 parent 6601d5d commit 432c5f3

File tree

6 files changed

+1940
-0
lines changed

6 files changed

+1940
-0
lines changed
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
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 Dual Cartesian 8 Object"
16+
file_name_prefix: "test_000807"
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 with two objects",
26+
"3.7.3.3/rendering_config with dual_caretsian_8_param_definition"
27+
]
28+
base_test: "test_001016"
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_BASE_ADVANCED
39+
additional_profile: PROFILE_VERSION_BASE_ADVANCED
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_OBJECT_BASED
59+
reserved: 0
60+
codec_config_id: 200
61+
audio_substream_ids: [0]
62+
objects_config {
63+
num_objects: 2
64+
}
65+
}
66+
67+
mix_presentation_metadata {
68+
mix_presentation_id: 42
69+
annotations_language: ["en-us"]
70+
localized_presentation_annotations: ["test_mix_pres"]
71+
sub_mixes {
72+
audio_elements {
73+
audio_element_id: 300
74+
localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
75+
rendering_config {
76+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
77+
rendering_config_param_definitions {
78+
param_definition_type: PARAM_DEFINITION_TYPE_DUAL_CART_8
79+
dual_cart8_param_definition {
80+
param_definition {
81+
parameter_id: 1
82+
parameter_rate: 48000
83+
param_definition_mode: 1
84+
}
85+
default_first_x: 1
86+
default_first_y: 2
87+
default_first_z: 3
88+
default_second_x: 4
89+
default_second_y: 5
90+
default_second_z: 6
91+
}
92+
}
93+
}
94+
element_mix_gain {
95+
param_definition {
96+
parameter_id: 100
97+
parameter_rate: 48000
98+
param_definition_mode: 1
99+
reserved: 0
100+
}
101+
default_mix_gain: -768 # -3 dB.
102+
}
103+
}
104+
output_mix_gain {
105+
param_definition {
106+
parameter_id: 101
107+
parameter_rate: 48000
108+
param_definition_mode: 1
109+
reserved: 0
110+
}
111+
default_mix_gain: 0 # 0 dB.
112+
}
113+
layouts {
114+
loudness_layout {
115+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
116+
ss_layout {
117+
sound_system: SOUND_SYSTEM_A_0_2_0
118+
reserved: 0
119+
}
120+
}
121+
loudness {
122+
info_type_bit_masks: []
123+
}
124+
}
125+
layouts {
126+
loudness_layout {
127+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
128+
ss_layout {
129+
sound_system: SOUND_SYSTEM_10_2_7_0
130+
reserved: 0
131+
}
132+
}
133+
loudness {
134+
info_type_bit_masks: []
135+
}
136+
}
137+
}
138+
139+
}
140+
141+
audio_frame_metadata {
142+
samples_to_trim_at_end_includes_padding: false
143+
samples_to_trim_at_start_includes_codec_delay: false
144+
wav_filename: "dialog_clip_stereo.wav"
145+
audio_element_id: 300
146+
channel_metadatas: [
147+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 },
148+
{ channel_id: 1 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL1 }
149+
]
150+
}
151+
152+
temporal_delimiter_metadata {
153+
enable_temporal_delimiters: false
154+
}
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
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 Dual Cartesian 16 Object"
16+
file_name_prefix: "test_000808"
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 with two objects",
26+
"3.7.3.4/rendering_config with dual_cartesian_16_param_definition"
27+
]
28+
base_test: "test_001016"
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_BASE_ADVANCED
39+
additional_profile: PROFILE_VERSION_BASE_ADVANCED
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_OBJECT_BASED
59+
reserved: 0
60+
codec_config_id: 200
61+
audio_substream_ids: [0]
62+
objects_config {
63+
num_objects: 2
64+
}
65+
}
66+
67+
mix_presentation_metadata {
68+
mix_presentation_id: 42
69+
annotations_language: ["en-us"]
70+
localized_presentation_annotations: ["test_mix_pres"]
71+
sub_mixes {
72+
audio_elements {
73+
audio_element_id: 300
74+
localized_element_annotations: ["test_sub_mix_0_audio_element_0"]
75+
rendering_config {
76+
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
77+
rendering_config_param_definitions {
78+
param_definition_type: PARAM_DEFINITION_TYPE_DUAL_CART_16
79+
dual_cart16_param_definition {
80+
param_definition {
81+
parameter_id: 1
82+
parameter_rate: 48000
83+
param_definition_mode: 1
84+
}
85+
default_first_x: 1
86+
default_first_y: 2
87+
default_first_z: 3
88+
default_second_x: 4
89+
default_second_y: 5
90+
default_second_z: 6
91+
}
92+
}
93+
}
94+
element_mix_gain {
95+
param_definition {
96+
parameter_id: 100
97+
parameter_rate: 48000
98+
param_definition_mode: 1
99+
reserved: 0
100+
}
101+
default_mix_gain: -768 # -3 dB.
102+
}
103+
}
104+
output_mix_gain {
105+
param_definition {
106+
parameter_id: 101
107+
parameter_rate: 48000
108+
param_definition_mode: 1
109+
reserved: 0
110+
}
111+
default_mix_gain: 0 # 0 dB.
112+
}
113+
layouts {
114+
loudness_layout {
115+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
116+
ss_layout {
117+
sound_system: SOUND_SYSTEM_A_0_2_0
118+
reserved: 0
119+
}
120+
}
121+
loudness {
122+
info_type_bit_masks: []
123+
}
124+
}
125+
layouts {
126+
loudness_layout {
127+
layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION
128+
ss_layout {
129+
sound_system: SOUND_SYSTEM_J_4_7_0
130+
reserved: 0
131+
}
132+
}
133+
loudness {
134+
info_type_bit_masks: []
135+
}
136+
}
137+
}
138+
139+
}
140+
141+
audio_frame_metadata {
142+
samples_to_trim_at_end_includes_padding: false
143+
samples_to_trim_at_start_includes_codec_delay: false
144+
wav_filename: "dialog_clip_stereo.wav"
145+
audio_element_id: 300
146+
channel_metadatas: [
147+
{ channel_id: 0 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL0 },
148+
{ channel_id: 1 channel_label: CHANNEL_LABEL_OBJECT_CHANNEL1 }
149+
]
150+
}
151+
152+
temporal_delimiter_metadata {
153+
enable_temporal_delimiters: false
154+
}

0 commit comments

Comments
 (0)