Bug 1965623. Update bmpsuite tests to 2.8. r=gfx-reviewers,aosmond

Differential Revision: https://phabricator.services.mozilla.com/D248692
This commit is contained in:
Timothy Nikkel
2025-05-12 08:54:59 +00:00
committed by tnikkel@mozilla.com
parent 3bf11d44fc
commit 69dee15e68
13 changed files with 30 additions and 24 deletions

View File

@@ -14,7 +14,8 @@ images. However, (a) and (b) are for testing purposes only and are not included
in Firefox releases. in Firefox releases.
The BMP files within this directory were generated with bmpsuite v2.3 (git The BMP files within this directory were generated with bmpsuite v2.3 (git
revision 3adcc9e20c0b6d2d665966b7e047b6f9474cef12). revision 3adcc9e20c0b6d2d665966b7e047b6f9474cef12). (Since then updated to v2.8
git revision 555e43af40c330249234279b6d2bc6162370a2f0.)
There are three sub-directories. There are three sub-directories.
- g/: for "good" images. - g/: for "good" images.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -35,7 +35,7 @@ fuzzy(0-1,0-926) == badbitssize.bmp pal1.png
# "Header incorrectly indicates that the palette contains an absurdly large # "Header incorrectly indicates that the palette contains an absurdly large
# number of colors." # number of colors."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-899) == badpalettesize.bmp pal8.png == badpalettesize.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=1, compression=0, colors=2 # BMP: bihsize=40, 127 x 64, bpp=1, compression=0, colors=2
# "The 'planes' setting, which is required to be 1, is not 1." # "The 'planes' setting, which is required to be 1, is not 1."
@@ -97,7 +97,7 @@ fuzzy(0-1,0-899) == badpalettesize.bmp pal8.png
# allowed." # allowed."
# [We accept it. Chromium rejects it. Accepting seems better given that we can # [We accept it. Chromium rejects it. Accepting seems better given that we can
# decode it perfectly well.] # decode it perfectly well.]
fuzzy(0-1,0-996) == rletopdown.bmp pal8.png == rletopdown.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=1, compression=0, colors=2 # BMP: bihsize=40, 127 x 64, bpp=1, compression=0, colors=2
# "A file that has been truncated in the middle of the bitmap." # "A file that has been truncated in the middle of the bitmap."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -30,12 +30,12 @@ fuzzy(0-1,0-926) == pal1wb.bmp pal1.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252
# "Our standard paletted image, with 252 palette colors, and 8 bits/pixel." # "Our standard paletted image, with 252 palette colors, and 8 bits/pixel."
fuzzy(0-1,0-996) == pal8.bmp pal8.png == pal8.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=0
# "Every field that can be set to 0 is set to 0: pixels/meter=0; colors used=0 # "Every field that can be set to 0 is set to 0: pixels/meter=0; colors used=0
# (meaning the default 256); size-of-image=0." # (meaning the default 256); size-of-image=0."
fuzzy(0-1,0-996) == pal8-0.bmp pal8.png == pal8-0.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252
# "An 8-bit image with a palette of 252 grayscale colors." # "An 8-bit image with a palette of 252 grayscale colors."
@@ -43,43 +43,43 @@ fuzzy(0-1,0-996) == pal8-0.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=1, colors=252 # BMP: bihsize=40, 127 x 64, bpp=8, compression=1, colors=252
# "8-bit image that uses RLE compression." # "8-bit image that uses RLE compression."
fuzzy(0-1,0-996) == pal8rle.bmp pal8.png == pal8rle.bmp pal8.png
# BMP: bihsize=40, 126 x 63, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 126 x 63, bpp=8, compression=0, colors=252
# BMP: bihsize=40, 125 x 62, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 125 x 62, bpp=8, compression=0, colors=252
# BMP: bihsize=40, 124 x 61, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 124 x 61, bpp=8, compression=0, colors=252
# "Images with different widths and heights. In BMP format, rows are padded to # "Images with different widths and heights. In BMP format, rows are padded to
# a multiple of four bytes, so we test all four possibilities." # a multiple of four bytes, so we test all four possibilities."
fuzzy(0-1,0-889) == pal8w126.bmp pal8w126.png == pal8w126.bmp pal8w126.png
fuzzy(0-1,0-974) == pal8w125.bmp pal8w125.png == pal8w125.bmp pal8w125.png
fuzzy(0-1,0-870) == pal8w124.bmp pal8w124.png == pal8w124.bmp pal8w124.png
# BMP: bihsize=40, 127 x -64, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 127 x -64, bpp=8, compression=0, colors=252
# "BMP images are normally stored from the bottom up, but there is a way to # "BMP images are normally stored from the bottom up, but there is a way to
# store them from the top down." # store them from the top down."
fuzzy(0-1,0-996) == pal8topdown.bmp pal8.png == pal8topdown.bmp pal8.png
# BMP: bihsize=40, 127 x 32, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 127 x 32, bpp=8, compression=0, colors=252
# "An image with non-square pixels: the X pixels/meter is twice the Y # "An image with non-square pixels: the X pixels/meter is twice the Y
# pixels/meter. Image editors can be expected to leave the image 'squashed'; # pixels/meter. Image editors can be expected to leave the image 'squashed';
# image viewers should consider stretching it to its correct proportions." # image viewers should consider stretching it to its correct proportions."
# [We leave it squashed, as does Chromium.] # [We leave it squashed, as does Chromium.]
fuzzy(0-1,0-1462) == pal8nonsquare.bmp pal8nonsquare-e.png == pal8nonsquare.bmp pal8nonsquare-e.png
# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0
# "An OS/2-style bitmap." # "An OS/2-style bitmap."
fuzzy(0-1,0-996) == pal8os2.bmp pal8.png == pal8os2.bmp pal8.png
# BMP: bihsize=108, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=108, 127 x 64, bpp=8, compression=0, colors=252
# "A v4 bitmap. Im not sure that the gamma and chromaticity values in this # "A v4 bitmap. Im not sure that the gamma and chromaticity values in this
# file are sensible, because I cant find any detailed documentation of them." # file are sensible, because I cant find any detailed documentation of them."
# [We seem to handle the profile wrong in QCMS. See bug 1619332.] # [We seem to handle the profile wrong in QCMS. See bug 1619332.]
fuzzy-if(!appleSilicon,3-3,6376-6376) fuzzy-if(appleSilicon,4-4,6376-6376) == pal8v4.bmp pal8.png #bug 1619847 fuzzy(0-4,0-6376) == pal8v4.bmp pal8.png #bug 1619847
# BMP: bihsize=124, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=124, 127 x 64, bpp=8, compression=0, colors=252
# "A v5 bitmap. Version 5 has additional colorspace options over v4, so it is # "A v5 bitmap. Version 5 has additional colorspace options over v4, so it is
# easier to create, and ought to be more portable." # easier to create, and ought to be more portable."
fuzzy(0-1,0-996) == pal8v5.bmp pal8.png == pal8v5.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=16, compression=0, colors=0 # BMP: bihsize=40, 127 x 64, bpp=16, compression=0, colors=0
# "A 16-bit image with the default color format: 5 bits each for red, green, and # "A 16-bit image with the default color format: 5 bits each for red, green, and

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -14,7 +14,7 @@ fuzzy(0-1,0-926) == pal1p1.bmp pal1p1.png
# possibly incorrect. Even if everything else about it is correct, I have no # possibly incorrect. Even if everything else about it is correct, I have no
# way to know whether it is black/white reversed." # way to know whether it is black/white reversed."
# [We reject it. So does Chromium.] # [We reject it. So does Chromium.]
== wrapper.html?pal1huff.bmp about:blank == wrapper.html?pal1huffmsb.bmp about:blank
# BMP: bihsize=40, 127 x 64, bpp=2, compression=0, colors=4 # BMP: bihsize=40, 127 x 64, bpp=2, compression=0, colors=4
# "A paletted image with 2 bits/pixel. Usually only 1, 4, and 8 are allowed, # "A paletted image with 2 bits/pixel. Usually only 1, 4, and 8 are allowed,
@@ -53,21 +53,21 @@ fuzzy(0-1,0-926) == pal1p1.bmp pal1p1.png
# "A file with some unused bytes between the palette and the image. This is # "A file with some unused bytes between the palette and the image. This is
# probably valid, but Im not 100% sure." # probably valid, but Im not 100% sure."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-996) == pal8offs.bmp pal8.png == pal8offs.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=300 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=300
# "An 8-bit image with 300 palette colors. This may be invalid, because the # "An 8-bit image with 300 palette colors. This may be invalid, because the
# documentation could be interpreted to imply that 8-bit images arent allowed # documentation could be interpreted to imply that 8-bit images arent allowed
# to have more than 256 colors." # to have more than 256 colors."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-996) == pal8oversizepal.bmp pal8.png == pal8oversizepal.bmp pal8.png
# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0
# # "Some OS/2 BMP specifications say that the size field in the file header # # "Some OS/2 BMP specifications say that the size field in the file header
# should be set to the aggregate size of the file header and infoheader, # should be set to the aggregate size of the file header and infoheader,
# instead of the total file size. For OS/2v1, that means it will always be 26. # instead of the total file size. For OS/2v1, that means it will always be 26.
# BMP decoders usually ignore this field, so it shouldnt cause a problem." # BMP decoders usually ignore this field, so it shouldnt cause a problem."
fuzzy(0-1,0-996) == pal8os2-sz.bmp pal8.png == pal8os2-sz.bmp pal8.png
# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0
# "Some OS/2 BMP specifications define the fields at offsets 6 and 8 to be a # "Some OS/2 BMP specifications define the fields at offsets 6 and 8 to be a
@@ -75,35 +75,35 @@ fuzzy(0-1,0-996) == pal8os2-sz.bmp pal8.png
# they are sometimes, as in this file, set to nonzero values. This should cause # they are sometimes, as in this file, set to nonzero values. This should cause
# no problems, except that it could prevent some programs from detecting this # no problems, except that it could prevent some programs from detecting this
# file as a BMP file." # file as a BMP file."
fuzzy(0-1,0-996) == pal8os2-hs.bmp pal8.png == pal8os2-hs.bmp pal8.png
# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0
# "An OS/2v1 with a less-than-full-sized palette. Probably not valid, but such # "An OS/2v1 with a less-than-full-sized palette. Probably not valid, but such
# files have been seen in the wild." # files have been seen in the wild."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-899) == pal8os2sp.bmp pal8.png == pal8os2sp.bmp pal8.png
# BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252
# "My attempt to make an OS/2v2 bitmap." # "My attempt to make an OS/2v2 bitmap."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-996) == pal8os2v2.bmp pal8.png == pal8os2v2.bmp pal8.png
# BMP: bihsize=16, 127 x 64, bpp=8, compression=0, colors=0 # BMP: bihsize=16, 127 x 64, bpp=8, compression=0, colors=0
# "An OS/2v2 bitmap whose header has only 16 bytes, instead of the full 64." # "An OS/2v2 bitmap whose header has only 16 bytes, instead of the full 64."
# [We accept it. So does Chromium.] # [We accept it. So does Chromium.]
fuzzy(0-1,0-996) == pal8os2v2-16.bmp pal8.png == pal8os2v2-16.bmp pal8.png
# BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252
# "An OS/2v2 bitmap. Like q/pal8os2-sz.bmp, the size field is set to the size # "An OS/2v2 bitmap. Like q/pal8os2-sz.bmp, the size field is set to the size
# of the headers (78), instead of the size of the file." # of the headers (78), instead of the size of the file."
fuzzy(0-1,0-996) == pal8os2v2-sz.bmp pal8.png == pal8os2v2-sz.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252 # BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252
# "An OS/2v2 bitmap, with a 40-byte header. Like q/pal8os2-sz.bmp, the size # "An OS/2v2 bitmap, with a 40-byte header. Like q/pal8os2-sz.bmp, the size
# field is set to the size of the headers (54), instead of the size of the # field is set to the size of the headers (54), instead of the size of the
# file. Except for that, this file cannot be distinguished from a Windows # file. Except for that, this file cannot be distinguished from a Windows
# BMPv3 file." # BMPv3 file."
fuzzy(0-1,0-996) == pal8os2v2-40sz.bmp pal8.png == pal8os2v2-40sz.bmp pal8.png
# BMP: bihsize=40, 127 x 64, bpp=16, compression=0, colors=0 # BMP: bihsize=40, 127 x 64, bpp=16, compression=0, colors=0
# "Same idea as q/rgb32fakealpha.bmp. The default 16-bit color format has one # "Same idea as q/rgb32fakealpha.bmp. The default 16-bit color format has one
@@ -249,3 +249,8 @@ fuzzy(0-1,0-1554) == rgba32-61754.bmp rgba32-61754.png
# [We reject it. Chromium accepts it.] # [We reject it. Chromium accepts it.]
== wrapper.html?rgba32h56.bmp about:blank == wrapper.html?rgba32h56.bmp about:blank
# BMP: bihsize=40, 127 x 64, bpp=64, compression=0, colors=0, data-offset=54
# "A 64-bits/pixel BMP. This is a <i>high dynamic range</i> format supported by
# some Microsoft software."
# [We reject it. So does Chromium.]
== wrapper.html?rgba64.bmp about:blank

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB