OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
3 * | 3 * |
4 * Portions are Copyright (C) 2001-6 mozilla.org | 4 * Portions are Copyright (C) 2001-6 mozilla.org |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Stuart Parmenter <stuart@mozilla.com> | 7 * Stuart Parmenter <stuart@mozilla.com> |
8 * | 8 * |
9 * Copyright (C) 2007-2009 Torch Mobile, Inc. | 9 * Copyright (C) 2007-2009 Torch Mobile, Inc. |
10 * | 10 * |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 #include <setjmp.h> | 63 #include <setjmp.h> |
64 } | 64 } |
65 | 65 |
66 #if CPU(BIG_ENDIAN) || CPU(MIDDLE_ENDIAN) | 66 #if CPU(BIG_ENDIAN) || CPU(MIDDLE_ENDIAN) |
67 #define ASSUME_LITTLE_ENDIAN 0 | 67 #define ASSUME_LITTLE_ENDIAN 0 |
68 #else | 68 #else |
69 #define ASSUME_LITTLE_ENDIAN 1 | 69 #define ASSUME_LITTLE_ENDIAN 1 |
70 #endif | 70 #endif |
71 | 71 |
72 #if defined(JCS_ALPHA_EXTENSIONS) && ASSUME_LITTLE_ENDIAN | 72 #if defined(JCS_ALPHA_EXTENSIONS) && ASSUME_LITTLE_ENDIAN |
73 inline J_DCT_METHOD dctMethod() { return JDCT_IFAST; } | |
74 #define TURBO_JPEG_RGB_SWIZZLE | 73 #define TURBO_JPEG_RGB_SWIZZLE |
75 #if USE(SKIA) && (!SK_R32_SHIFT && SK_G32_SHIFT == 8 && SK_B32_SHIFT == 16) | 74 #if USE(SKIA) && (!SK_R32_SHIFT && SK_G32_SHIFT == 8 && SK_B32_SHIFT == 16) |
76 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_RGBA; } | 75 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_RGBA; } |
77 #else | 76 #else |
78 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_BGRA; } | 77 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_BGRA; } |
79 #endif | 78 #endif |
80 inline bool turboSwizzled(J_COLOR_SPACE colorSpace) { return colorSpace == rgbOu
tputColorSpace(); } | 79 inline bool turboSwizzled(J_COLOR_SPACE colorSpace) { return colorSpace == rgbOu
tputColorSpace(); } |
81 #else | 80 #else |
82 inline J_DCT_METHOD dctMethod() { return JDCT_ISLOW; } | |
83 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_RGB; } | 81 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_RGB; } |
84 #endif | 82 #endif |
85 | 83 |
86 #if OS(ANDROID) | 84 #if OS(ANDROID) |
| 85 inline J_DCT_METHOD dctMethod() { return JDCT_IFAST; } |
87 inline J_DITHER_MODE ditherMode() { return JDITHER_NONE; } | 86 inline J_DITHER_MODE ditherMode() { return JDITHER_NONE; } |
88 inline bool doFancyUpsampling() { return false; } | 87 inline bool doFancyUpsampling() { return false; } |
89 #else | 88 #else |
| 89 inline J_DCT_METHOD dctMethod() { return JDCT_ISLOW; } |
90 inline J_DITHER_MODE ditherMode() { return JDITHER_FS; } | 90 inline J_DITHER_MODE ditherMode() { return JDITHER_FS; } |
91 inline bool doFancyUpsampling() { return true; } | 91 inline bool doFancyUpsampling() { return true; } |
92 #endif | 92 #endif |
93 | 93 |
94 namespace WebCore { | 94 namespace WebCore { |
95 | 95 |
96 struct decoder_error_mgr { | 96 struct decoder_error_mgr { |
97 struct jpeg_error_mgr pub; // "public" fields for IJG library | 97 struct jpeg_error_mgr pub; // "public" fields for IJG library |
98 jmp_buf setjmp_buffer; // For handling catastropic errors | 98 jmp_buf setjmp_buffer; // For handling catastropic errors |
99 }; | 99 }; |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 // has failed. | 599 // has failed. |
600 if (!m_reader->decode(*m_data, onlySize) && isAllDataReceived()) | 600 if (!m_reader->decode(*m_data, onlySize) && isAllDataReceived()) |
601 setFailed(); | 601 setFailed(); |
602 // If we're done decoding the image, we don't need the JPEGImageReader | 602 // If we're done decoding the image, we don't need the JPEGImageReader |
603 // anymore. (If we failed, |m_reader| has already been cleared.) | 603 // anymore. (If we failed, |m_reader| has already been cleared.) |
604 else if (!m_frameBufferCache.isEmpty() && (m_frameBufferCache[0].status() ==
ImageFrame::FrameComplete)) | 604 else if (!m_frameBufferCache.isEmpty() && (m_frameBufferCache[0].status() ==
ImageFrame::FrameComplete)) |
605 m_reader.clear(); | 605 m_reader.clear(); |
606 } | 606 } |
607 | 607 |
608 } | 608 } |
OLD | NEW |