skia2/infra
Leon Scroggins III 03588412c8 Fix webp bug compositing alpha frames on opaque (better fix)
The old code made the wrong assumptions about premultiplication.

There are three relevant steps here for decoding a webp frame:
1 tell libwebp to decode
2 colorXform the result (sometimes)
3 blend with the prior frame (sometimes)

Rearrange the code to premultiply at the blend step, in a linear space.
If the client wants unpremul, the blend step will unpremul after.

If there is no blending, the colorXform (if any) will premultiply.

If only step 1 is necessary, let libwebp premultiply.

This fixes an animated image that has an opaque frame 0 followed by a
frame with alpha that blends with it.

Add the test image that failed (https://mathiasbynens.be/demo/animated-webp)

The prior fix is in 42bae8faa4. It did
not properly handle the colorXform when there was no blending step.

Change-Id: I2b9d265ba162eaf7e55a106c8f79341826cee0d3
Reviewed-on: https://skia-review.googlesource.com/72281
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-11-17 13:28:45 +00:00
..
bots Fix webp bug compositing alpha frames on opaque (better fix) 2017-11-17 13:28:45 +00:00
branch-config Switch CQ from Win2k8 to Win2016. 2017-11-15 18:37:57 +00:00
config Roll recipe dependencies (trivial). 2017-11-03 21:28:14 +00:00
project-config Delete swarm_trigger recipe 2016-12-13 12:53:00 +00:00
README.md Added CQ config to skia repo 2015-06-08 05:12:56 -07:00

This directory contains infra-specific files. The branch-config/ directory contains configs that are specific to the master branch (e.g. config for the CQ committing to the master branch), while project-config/ directory contains project-wide configuration (e.g. list of buckets for cr-buildbucket service and list of refs known to the infra services).