Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.0.0-errata updates. #116

Merged
merged 5 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion proto/codec_config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ message AacDecoderConfig {
optional uint32 object_type_indication = 1 [default = 0x40];
optional uint32 stream_type = 2 [default = 5];
optional bool upstream = 3 [default = false];
optional bool reserved = 4;
optional bool reserved = 4 [default = true]; // As per ISO 14496-1:2010.
optional uint32 buffer_size_db = 5;
optional uint32 max_bitrate = 6;
optional uint32 average_bit_rate = 7;
Expand Down
20 changes: 20 additions & 0 deletions proto/test_vector_metadata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,29 @@ message TestVectorMetadata {
// Prefix of the output file names. Leave empty to skip writing to output
// files.
optional string file_name_prefix = 2;

// TODO(b/269708630): Rename `is_valid` to `is_valid_to_encode`.
// `true` when all mixes are valid to encode. Mixes may be invalid if they
// contain any mixes that use certain reserved values, or if they exercise any
// features which are not supported by the encoder.
optional bool is_valid = 3;
// `true` when a compliant decoder would decode at least one valid mix. Some
// other mixes may be invalid or use reserved values which may be ignored.
optional bool is_valid_to_decode = 14 [default = true];
optional string mp4_fixed_timestamp = 4;
reserved 5;
// Tags to identify the repository this test vector belongs to. A repository
// could be a git branch or it could refer to some other way to organize a
// test suite.
//
// Some canonical tags are used to identify which GitHub branch(es) the test
// vector should be synchronized with.
//
// `github/aomediacodec/libiamf/main`: Used on the `main` branch of
// https://github.com/AOMediaCodec/libiamf
// `github/aomediacodec/libiamf/v1.0.0-errata`: Used on the `v1.0.0-errata`
// branch of https://github.com/AOMediaCodec/libiamf
repeated string test_repository_tags = 15;
repeated string primary_tested_spec_sections = 6;
optional string base_test = 7;
optional int32 ms_per_fragment = 8 [default = 10000];
Expand Down
14 changes: 11 additions & 3 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,18 @@ several files associated with it.

## .textproto files

These file describe metadata about the test vector.
Theses file describe metadata about the test vector to encode an
[IA Sequence](https://aomediacodec.github.io/iamf/#standalone-ia-sequence).

- `is_valid`: True for conformant bitstreams ("should-pass"). False for
non-conformant bitstreams ("should-fail").
- `is_valid`: True when the encoder can produce an IA Sequence where all mixes
would be understood by a compliant decoder. False when one or more mixes
exercise fields or features which would cause mixes to be ignored.
- `is_valid_to_decode`: True when an IAMF-compliant decoder could decode at
least one mix of the associated IA Sequence ("should-pass"). False when all
mixes are non-conformant and may fail to be decoded ("should-fail"). The
IAMF spec does not specify what happens when requirements are violated; a
robust system may still attempt to process and create output for
"should-fail" tests.
- `human_readable_descriptions`: A short description of what is being tested
and why.
- `mp4_fixed_timestamp`: The timestamp within the MP4 file. Can be safely
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000000_3.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,13 @@ test_vector_metadata {
"not have sufficient `num_samples_to_trim_at_end`."
file_name_prefix: "test_000000_3"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-06 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.2/num_samples_to_trim_at_end",
"3.4/IA Sequence Header OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000002.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"added."
file_name_prefix: "test_000002"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.8/Parameter Block OBU Syntax and Semantics",
"3.8.1/animation_type == STEP",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000003.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"parameter blocks."
file_name_prefix: "test_000003"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.2/num_samples_to_trim_at_end",
"3.6.2/num_layers",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000005.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"trimming."
file_name_prefix: "test_000005"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]
base_test: "test_000002"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000006.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"delimiters."
file_name_prefix: "test_000006"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.4/IA Sequence Header OBU Syntax and Semantics",
"3.10/Codec Specific",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000007.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"case-sensitive and should be lowercase."
file_name_prefix: "test_000007"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.4/ia_code"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000012.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"input wav file to make it shorter."
file_name_prefix: "test_000012"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000013.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"input wav file to make it shorter."
file_name_prefix: "test_000013"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000014.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"because `pre_skip` is incorrectly set to 0."
file_name_prefix: "test_000014"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.9/Audio Frame OBU Syntax and Semantics",
"3.11.1/pre_skip"
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000015.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"used by any audio element or mix presentation."
file_name_prefix: "test_000015"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.8/parameter_id"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000016.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ test_vector_metadata {
"parameter."
file_name_prefix: "test_000016"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.5/num_samples_per_frame",
"3.6.1/param_definition_mode",
Expand Down
10 changes: 8 additions & 2 deletions tests/test_000017.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@

test_vector_metadata {
human_readable_description:
"A stereo IAMF stream. It is invalid because it has one frame of samples "
"fully trimmed off the end."
"A stereo IAMF stream. It has one frame of samples fully trimmed off the "
"end."
file_name_prefix: "test_000017"
# TODO(b/356905554): Allow encoding fully trimmed frames.
is_valid: false
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.2/num_samples_to_trim_at_end",
"3.5/num_samples_per_frame"
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000018.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"requires the ID to be explicitly listed in the OBU."
file_name_prefix: "test_000018"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.1/obu_type", "3.9/explicit_audio_substream_id"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000019.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"occuring one after another."
file_name_prefix: "test_000019"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-04-19 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: ["3.8/Parameter Block OBU Syntax and Semantics"]
base_test: "test_000005"
}
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000020.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"500 ms sine wav with a frequency of 1000 Hz."
file_name_prefix: "test_000020"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.5/audio_roll_distance",
"3.9/Audio Frame OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000021.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"frames."
file_name_prefix: "test_000021"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.5/audio_roll_distance",
"3.9/Audio Frame OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000022.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"distance is incorrect."
file_name_prefix: "test_000022"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.5/audio_roll_distance",
"3.9/Audio Frame OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000023.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"trimmed frames at the start."
file_name_prefix: "test_000023"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.2/num_samples_to_trim_at_start",
"3.9/Audio Frame OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000024.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"frames."
file_name_prefix: "test_000024"
is_valid: true
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.5/audio_roll_distance",
"3.9/Audio Frame OBU Syntax and Semantics",
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000025.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"version."
file_name_prefix: "test_000025"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.9/Audio Frame OBU Syntax and Semantics",
"3.11.1/version"
Expand Down
8 changes: 8 additions & 0 deletions tests/test_000026.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,17 @@ test_vector_metadata {
"A stereo IAMF stream encoded using Opus, with an incorrect "
"`output_channel_count`."
file_name_prefix: "test_000026"
# The encoder would not normally encode data with invalid
# `output_channel_count`.
is_valid: false
# A compliant decoder should ignore `output_channel_count`.
is_valid_to_decode: true
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.9/Audio Frame OBU Syntax and Semantics",
"3.11.1/output_channel_count"
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000027.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"`output_gain`."
file_name_prefix: "test_000027"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.9/Audio Frame OBU Syntax and Semantics",
"3.11.1/output_gain"
Expand Down
5 changes: 5 additions & 0 deletions tests/test_000028.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ test_vector_metadata {
"`channel_mapping_family`."
file_name_prefix: "test_000028"
is_valid: false
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2023-05-05 00:00:00"
test_repository_tags: [
"github/aomediacodec/libiamf/main",
"github/aomediacodec/libiamf/v1.0.0-errata"
]
primary_tested_spec_sections: [
"3.9/Audio Frame OBU Syntax and Semantics",
"3.11.1/channel_mapping_family"
Expand Down
Loading