@@ -65,6 +65,7 @@ static AVIF_CLAP: &str = "tests/clap-basic-1_3x3-to-1x1.avif";
65
65
static AVIF_GRID : & str = "av1-avif/testFiles/Microsoft/Summer_in_Tomsk_720p_5x4_grid.avif" ;
66
66
static AVIF_LSEL : & str =
67
67
"av1-avif/testFiles/Apple/multilayer_examples/animals_00_multilayer_lsel.avif" ;
68
+ static AVIF_NO_PIXI_IMAGES : & [ & str ] = & [ IMAGE_AVIF_NO_PIXI , IMAGE_AVIF_NO_ALPHA_PIXI ] ;
68
69
static AVIF_UNSUPPORTED_IMAGES : & [ & str ] = & [
69
70
AVIF_A1OP ,
70
71
AVIF_A1LX ,
@@ -1054,6 +1055,11 @@ fn to_canonical_paths(strs: &[&str]) -> Vec<std::path::PathBuf> {
1054
1055
fn public_avif_read_samples_impl ( strictness : ParseStrictness ) {
1055
1056
let corrupt_images = to_canonical_paths ( AV1_AVIF_CORRUPT_IMAGES ) ;
1056
1057
let unsupported_images = to_canonical_paths ( AVIF_UNSUPPORTED_IMAGES ) ;
1058
+ let legal_no_pixi_images = if cfg ! ( feature = "missing-pixi-permitted" ) {
1059
+ to_canonical_paths ( AVIF_NO_PIXI_IMAGES )
1060
+ } else {
1061
+ vec ! [ ]
1062
+ } ;
1057
1063
for dir in AVIF_TEST_DIRS {
1058
1064
for entry in walkdir:: WalkDir :: new ( dir) {
1059
1065
let entry = entry. expect ( "AVIF entry" ) ;
@@ -1062,9 +1068,11 @@ fn public_avif_read_samples_impl(strictness: ParseStrictness) {
1062
1068
eprintln ! ( "Skipping {:?}" , path) ;
1063
1069
continue ; // Skip directories, ReadMe.txt, etc.
1064
1070
}
1065
- let corrupt = path. canonicalize ( ) . unwrap ( ) . parent ( ) . unwrap ( )
1071
+ let corrupt = ( path. canonicalize ( ) . unwrap ( ) . parent ( ) . unwrap ( )
1066
1072
== std:: fs:: canonicalize ( AVIF_CORRUPT_IMAGES_DIR ) . unwrap ( )
1067
- || corrupt_images. contains ( & path. canonicalize ( ) . unwrap ( ) ) ;
1073
+ || corrupt_images. contains ( & path. canonicalize ( ) . unwrap ( ) ) )
1074
+ && !legal_no_pixi_images. contains ( & path. canonicalize ( ) . unwrap ( ) ) ;
1075
+
1068
1076
let unsupported = unsupported_images. contains ( & path. canonicalize ( ) . unwrap ( ) ) ;
1069
1077
println ! (
1070
1078
"parsing {}{}{:?}" ,
0 commit comments