From 65f03d4f644ce73618e5f4f50dd694b26f55ae12 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Fri, 13 May 2011 16:23:25 +0100 Subject: Merge WebKit at r75993: Initial merge by git. Change-Id: I602bbdc3974787a3b0450456a30a7868286921c3 --- .../platform/image-encoders/skia/JPEGImageEncoder.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'Source/WebCore/platform/image-encoders') diff --git a/Source/WebCore/platform/image-encoders/skia/JPEGImageEncoder.cpp b/Source/WebCore/platform/image-encoders/skia/JPEGImageEncoder.cpp index b675ab5..be3c92a 100644 --- a/Source/WebCore/platform/image-encoders/skia/JPEGImageEncoder.cpp +++ b/Source/WebCore/platform/image-encoders/skia/JPEGImageEncoder.cpp @@ -79,23 +79,12 @@ static void handleError(j_common_ptr common) longjmp(*jumpBufferPtr, -1); } -// FIXME: is alpha unpremultiplication correct, or should the alpha channel -// be ignored? See bug http://webkit.org/b/40147. -void preMultipliedBGRAtoRGB(const SkPMColor* input, unsigned int pixels, unsigned char* output) +static void preMultipliedBGRAtoRGB(const SkPMColor* input, unsigned int pixels, unsigned char* output) { - static const SkUnPreMultiply::Scale* scale = SkUnPreMultiply::GetScaleTable(); - for (; pixels-- > 0; ++input) { - const unsigned alpha = SkGetPackedA32(*input); - if ((alpha != 0) && (alpha != 255)) { - *output++ = SkUnPreMultiply::ApplyScale(scale[alpha], SkGetPackedR32(*input)); - *output++ = SkUnPreMultiply::ApplyScale(scale[alpha], SkGetPackedG32(*input)); - *output++ = SkUnPreMultiply::ApplyScale(scale[alpha], SkGetPackedB32(*input)); - } else { - *output++ = SkGetPackedR32(*input); - *output++ = SkGetPackedG32(*input); - *output++ = SkGetPackedB32(*input); - } + *output++ = SkGetPackedR32(*input); + *output++ = SkGetPackedG32(*input); + *output++ = SkGetPackedB32(*input); } } -- cgit v1.1