summaryrefslogtreecommitdiffstats
path: root/firefox4-libjpeg-turbo.patch
blob: 9abd0e9d84655a38409bfee85f220b8e3c99b2ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
diff -up xulrunner-1.9.3.0/mozilla-central/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.jpeg-turbo xulrunner-1.9.3.0/mozilla-central/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
--- xulrunner-1.9.3.0/mozilla-central/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.jpeg-turbo	2010-08-06 03:09:15.000000000 +0200
+++ xulrunner-1.9.3.0/mozilla-central/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp	2010-08-16 11:19:17.000000000 +0200
@@ -58,19 +58,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)
@@ -443,14 +430,6 @@ nsresult nsJPEGDecoder::Write(const char
       return NS_OK; /* I/O suspension */
     }
 
-    /* Force to use our YCbCr to Packed RGB converter when possible */
-    if (!mTransform && (gfxPlatform::GetCMSMode() != eCMSMode_All) &&
-        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;
   }
@@ -616,15 +595,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 */