gecko/image/test/reftest
Nicholas Nethercote c176fc94fe Bug 1214072 (part 2) - Implement transparency properly for BMP images. r=seth.
Currently we don't implement transparency at all in BMP images except for an
odd-duck case of BMPs within ICOs.

This patch does the following.

- It implements transparency properly for 16bpp and 32bpp images via bitfield
  masking. (For 32bpp images this also requires handling colors via bitfield
  masking.) The patch maintains the existing BMP-within-ICO transparency
  handling.

- It also reworks BitFields::Value::Set().

  * It now works correctly if the run of 1s goes all the way to bit 31 (the
    old code didn't set mBitWidth).

  * If the mask is 0, will give an mRightShift of 0 (old code gave 32, and
    right-shifting by 32 is dodgy).

  * It's now easier to read.

- It renames transparent.bmp as transparent-if-within-ico.bmp. Ironically
  enough this file currently uses BITFIELDS compression and is WinBMPv5 format,
  which means it contains well-specified alpha data. In order to use it to test
  the hacky BMP-within-ICO transparency scheme the patch changes it to be
  WinBMPv3 format with RGB compression (i.e. no compression). I left the
  now-excess bytes (including the bitfields) in the info header in place
  because that's allowed -- thanks to the start of the pixel data being
  specified by the |dataoffset| field -- they'll just be ignored.

- It tweaks the naming of the relevant gtests and some of their finer details
  to work with the new way of doing things.

This fixes all four remaining failures in bmpsuite.
2015-10-13 21:20:10 -07:00
..
apng
blob Bug 1163856 (Part 2) - Fix tests that depended on image load event timing. r=tn 2015-06-30 02:38:01 -07:00
bmp Bug 1214072 (part 2) - Implement transparency properly for BMP images. r=seth. 2015-10-13 21:20:10 -07:00
color-management
downscaling Bug 1146663 (Part 1) - Remove HQ scaling, which is now dead code. r=tn 2015-09-19 16:20:56 -07:00
encoders-lossless
generic
gif
ico Bug 1201796 (Part 4) - Add downscale-during-decode support for the ICO decoder. r=tn 2015-09-19 13:34:14 -07:00
jpeg
pngsuite-ancillary
pngsuite-background
pngsuite-basic-i
pngsuite-basic-n
pngsuite-chunkorder
pngsuite-corrupted
pngsuite-filtering
pngsuite-gamma
pngsuite-oddsizes
pngsuite-palettes
pngsuite-transparency
pngsuite-zlib
colordepth.html
ImageDocument.css
img2html.html
reftest.list Bug 1173214, r=seth,bz 2015-08-26 10:24:04 +01:00