55 lines
2.4 KiB
Diff
55 lines
2.4 KiB
Diff
|
diff -up xulrunner-1.9.2.7/mozilla-1.9.2/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.old xulrunner-1.9.2.7/mozilla-1.9.2/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
|
||
|
--- xulrunner-1.9.2.7/mozilla/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.old 2010-07-13 21:10:28.000000000 +0200
|
||
|
+++ xulrunner-1.9.2.7/mozilla/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp 2010-07-22 12:33:21.000000000 +0200
|
||
|
@@ -57,19 +57,6 @@
|
||
|
|
||
|
extern "C" {
|
||
|
#include "iccjpeg.h"
|
||
|
-
|
||
|
-/* Colorspace conversion (copied from jpegint.h) */
|
||
|
-struct jpeg_color_deconverter {
|
||
|
- JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||
|
- JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
|
||
|
- JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||
|
- JSAMPARRAY output_buf, int num_rows));
|
||
|
-};
|
||
|
-
|
||
|
-METHODDEF(void)
|
||
|
-ycc_rgb_convert_argb (j_decompress_ptr cinfo,
|
||
|
- JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||
|
- JSAMPARRAY output_buf, int num_rows);
|
||
|
}
|
||
|
|
||
|
NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder)
|
||
|
@@ -514,14 +501,6 @@ nsresult nsJPEGDecoder::ProcessData(cons
|
||
|
return NS_OK; /* I/O suspension */
|
||
|
}
|
||
|
|
||
|
- /* Force to use our YCbCr to Packed RGB converter when possible */
|
||
|
- if (!mTransform && (gfxPlatform::GetCMSMode() == eCMSMode_Off) &&
|
||
|
- mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
|
||
|
- /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
|
||
|
- mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
|
||
|
- mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
|
||
|
- }
|
||
|
-
|
||
|
/* If this is a progressive JPEG ... */
|
||
|
mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
|
||
|
}
|
||
|
@@ -678,15 +657,6 @@ nsJPEGDecoder::OutputScanlines(PRBool* s
|
||
|
PRUint32 *imageRow = ((PRUint32*)mImageData) +
|
||
|
(mInfo.output_scanline * mInfo.output_width);
|
||
|
|
||
|
- if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
|
||
|
- /* Special case: scanline will be directly converted into packed ARGB */
|
||
|
- if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
|
||
|
- *suspend = PR_TRUE; /* suspend */
|
||
|
- break;
|
||
|
- }
|
||
|
- continue; /* all done for this row! */
|
||
|
- }
|
||
|
-
|
||
|
JSAMPROW sampleRow = (JSAMPROW)imageRow;
|
||
|
if (mInfo.output_components == 3) {
|
||
|
/* Put the pixels at end of row to enable in-place expansion */
|