Skip to content

Commit 1fc6f77

Browse files
committed
Split out is_valid_to_decode from is_valid.
- `is_valid_to_decode`: Implies at least one mix in the test vector can be decoded. - A compliant decoder should be able to find and decode a valid mix. - `is_valid`: Implies all mixes in the the test vector could be decoded. - The encoder will more strictly prevent encoding certain types of reserved fields which is not aware of. - This maintains the safety rails on the encoder which prevent it from using certain types of extension fields under normal circumstances. - May be used to prevent other types of reserved fields in the future. - May rename to `is_valid_to_encode` in the future. - `test_summary.csv`: Add a column for `is_valid_to_decode`. - The concepts are identical for test vectors with only one mix presentation (most of the test suite). - Hence, most existing test vectors have matching `is_valid` and `is_valid_to_decode`. - The concepts are distinguished when there is one valid mix and one invalid mix (i.e. `test_000120`, `test_000122`, `test_000129`, `test_000130`). - Typically we want safety rails and do not want to accidentally encode strange mixes that will never be decoded.
1 parent e348c8d commit 1fc6f77

178 files changed

Lines changed: 410 additions & 185 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

proto/test_vector_metadata.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,15 @@ message TestVectorMetadata {
3232
// Prefix of the output file names. Leave empty to skip writing to output
3333
// files.
3434
optional string file_name_prefix = 2;
35+
36+
// TODO(b/269708630): Rename `is_valid` to `is_valid_to_encode`.
37+
// `true` when all mixes are valid to encode. Mixes may be invalid if they
38+
// contain any mixes that use certain reserved values, or if they exercise any
39+
// features which are not supported by the encoder.
3540
optional bool is_valid = 3;
41+
// `true` when a compliant decoder would decode at least one valid mix. Some
42+
// other mixes may be invalid or use reserved values which may be ignored.
43+
optional bool is_valid_to_decode = 14 [default = true];
3644
optional string mp4_fixed_timestamp = 4;
3745
reserved 5;
3846
repeated string primary_tested_spec_sections = 6;

tests/README.md

Lines changed: 9 additions & 3 deletions

tests/test_000000_3.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ test_vector_metadata {
1818
"not have sufficient `num_samples_to_trim_at_end`."
1919
file_name_prefix: "test_000000_3"
2020
is_valid: false
21+
is_valid_to_decode: false
2122
validate_user_loudness: true
2223
mp4_fixed_timestamp: "2023-04-06 00:00:00"
2324
primary_tested_spec_sections: [

tests/test_000002.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"added."
1818
file_name_prefix: "test_000002"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: [

tests/test_000003.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"parameter blocks."
1818
file_name_prefix: "test_000003"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: [

tests/test_000005.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"trimming."
1818
file_name_prefix: "test_000005"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]

tests/test_000006.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"delimiters."
1818
file_name_prefix: "test_000006"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: [

tests/test_000007.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"case-sensitive and should be lowercase."
1818
file_name_prefix: "test_000007"
1919
is_valid: false
20+
is_valid_to_decode: false
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: ["3.4/ia_code"]

tests/test_000012.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"input wav file to make it shorter."
1818
file_name_prefix: "test_000012"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]

tests/test_000013.textproto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ test_vector_metadata {
1717
"input wav file to make it shorter."
1818
file_name_prefix: "test_000013"
1919
is_valid: true
20+
is_valid_to_decode: true
2021
validate_user_loudness: true
2122
mp4_fixed_timestamp: "2023-04-19 00:00:00"
2223
primary_tested_spec_sections: ["3.2/num_samples_to_trim_at_end"]

0 commit comments

Comments
 (0)