Fix webp bug compositing alpha frames on opaque

select_xform_alpha is used to determine how the color transform should
handle alpha values. In a similar way, we're using it here to determine
whether to premultiply pixels before blending them. In this case, the
source is unpremul, so we should be premultiplying them, but since we
are compositing on an opaque frame, the dst must be opaque and
select_xform_alpha returns kOpaque. As a result, we do not premultiply
(and even hint to the transform that the pixels are opaque). Since this
all applies to the pre-blended pixels, we should not care that the dst
is opaque. So drop the call to select_xform_alpha and just use the alpha
type of the source. This matches the comment on the lines above.

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

Change-Id: Ibd13c1f067bdf369ce1c882d4f6057aadccfa313
Reviewed-on: https://skia-review.googlesource.com/71560
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
3 files changed