Revert of Switch SkJpegCode to libjpeg-turbo (patchset #28 id:710001 of https://codereview.chromium.org/1180983002/)
Reason for revert:
Broke iOS build.
Original issue's description:
> Add libjpeg-turbo library (depends on yasm)
> Mangle external function names to avoid conflict with libjpeg
> Take advantage of direct color conversion (RGBA, BGRA, 565)
> Prepare to use jpeg_skip_scanlines (when it is upstreamed)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b60c3f8291529303299262dba19b1a896060bd2d
>
> Committed: https://skia.googlesource.com/skia/+/f8bf9181d7b0463c8e371755cfbb9ece90b34fc5
>
> Committed: https://skia.googlesource.com/skia/+/e9e3ee33f30c14c31afd5fc3fe4dda7f15783c75
TBR=scroggo@google.com,djsollen@google.com,emmaleer@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1213093003
diff --git a/src/codec/SkJpegDecoderMgr.cpp b/src/codec/SkJpegDecoderMgr.cpp
index b5a1229..f0ed452 100644
--- a/src/codec/SkJpegDecoderMgr.cpp
+++ b/src/codec/SkJpegDecoderMgr.cpp
@@ -39,9 +39,22 @@
SkColorType JpegDecoderMgr::getColorType() {
switch (fDInfo.jpeg_color_space) {
+ case JCS_CMYK:
+ case JCS_YCCK:
+ // libjpeg cannot convert from CMYK or YCCK to RGB.
+ // Here, we ask libjpeg to give us CMYK samples back and
+ // we will later manually convert them to RGB.
+ fDInfo.out_color_space = JCS_CMYK;
+ return kN32_SkColorType;
case JCS_GRAYSCALE:
+ fDInfo.out_color_space = JCS_GRAYSCALE;
return kGray_8_SkColorType;
default:
+#ifdef ANDROID_RGB
+ fDInfo.out_color_space = JCS_RGBA_8888;
+#else
+ fDInfo.out_color_space = JCS_RGB;
+#endif
return kN32_SkColorType;
}
}
@@ -51,7 +64,7 @@
, fInit(false)
{
// Error manager must be set before any calls to libjeg in order to handle failures
- fDInfo.err = turbo_jpeg_std_error(&fErrorMgr);
+ fDInfo.err = jpeg_std_error(&fErrorMgr);
fErrorMgr.error_exit = skjpeg_err_exit;
}