Title: [104472] trunk/Source/WebCore
Revision
104472
Author
[email protected]
Date
2012-01-09 11:46:30 -0800 (Mon, 09 Jan 2012)

Log Message

[Chromium] JPEG RGB swizzling order should match platform pixel format
https://bugs.webkit.org/show_bug.cgi?id=75861

Choose between JCS_EXT_BGRX and JCS_EXT_RGBX channel swizzling
based on the configured Skia 32-bit pixel format.

Patch by Sami Kyostila <[email protected]> on 2012-01-09
Reviewed by Kenneth Russell.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(rgbOutputColorSpace):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (104471 => 104472)


--- trunk/Source/WebCore/ChangeLog	2012-01-09 19:44:38 UTC (rev 104471)
+++ trunk/Source/WebCore/ChangeLog	2012-01-09 19:46:30 UTC (rev 104472)
@@ -1,3 +1,16 @@
+2012-01-09  Sami Kyostila  <[email protected]>
+
+        [Chromium] JPEG RGB swizzling order should match platform pixel format
+        https://bugs.webkit.org/show_bug.cgi?id=75861
+
+        Choose between JCS_EXT_BGRX and JCS_EXT_RGBX channel swizzling
+        based on the configured Skia 32-bit pixel format.
+
+        Reviewed by Kenneth Russell.
+
+        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+        (rgbOutputColorSpace):
+
 2012-01-09  Alexis Menard  <[email protected]>
 
         getComputedStyle for border-radius is not implemented.

Modified: trunk/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp (104471 => 104472)


--- trunk/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp	2012-01-09 19:44:38 UTC (rev 104471)
+++ trunk/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp	2012-01-09 19:46:30 UTC (rev 104472)
@@ -75,7 +75,11 @@
 
 #if defined(JCS_EXTENSIONS) && ASSUME_LITTLE_ENDIAN
 #define TURBO_JPEG_RGB_SWIZZLE
+#if USE(SKIA) && (!SK_R32_SHIFT && SK_G32_SHIFT == 8 && SK_B32_SHIFT == 16)
+inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_RGBX; }
+#else
 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_BGRX; }
+#endif
 inline bool turboSwizzled(J_COLOR_SPACE colorSpace) { return colorSpace == rgbOutputColorSpace(); }
 #else
 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_RGB; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to