diff options
author | msarett <msarett@google.com> | 2015-07-01 13:11:08 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-01 13:11:08 -0700 |
commit | aa2a7de0ffaf8f864a7afc68bbd34ccb25876246 (patch) | |
tree | b1f91995dd5988ce6188a55b723d68f3127bf9c5 /src/codec/SkJpegDecoderMgr.cpp | |
parent | a760942b3579f7d863345b9d083abdc187266e08 (diff) |
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
Diffstat (limited to 'src/codec/SkJpegDecoderMgr.cpp')
-rw-r--r-- | src/codec/SkJpegDecoderMgr.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/codec/SkJpegDecoderMgr.cpp b/src/codec/SkJpegDecoderMgr.cpp index b5a12297a0..f0ed4522ca 100644 --- a/src/codec/SkJpegDecoderMgr.cpp +++ b/src/codec/SkJpegDecoderMgr.cpp @@ -39,9 +39,22 @@ SkCodec::Result JpegDecoderMgr::returnFailure(const char caller[], SkCodec::Resu 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 @@ JpegDecoderMgr::JpegDecoderMgr(SkStream* stream) , 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; } |