Assume all TURBO_HAS_* are true.
Should be everyone's on libjpeg-turbo >= 1.5.0.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274643002
Review-Url: https://codereview.chromium.org/2274643002
diff --git a/BUILD.gn b/BUILD.gn
index ccf2e6b..692d0ba 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -68,10 +68,6 @@
# TODO(halcanary): make this the default; this is the value Android uses.
"SK_SFNTLY_SUBSETTER=\"sample/chromium/font_subsetter.h\"",
-
- "TURBO_HAS_565",
- "TURBO_HAS_CROP",
- "TURBO_HAS_SKIP",
]
if (is_linux) {
defines += [ "SK_SAMPLES_FOR_X" ]
diff --git a/gyp/codec.gyp b/gyp/codec.gyp
index 4b4029b..3aaea21 100644
--- a/gyp/codec.gyp
+++ b/gyp/codec.gyp
@@ -59,13 +59,6 @@
'../include/codec',
],
},
- 'defines': [
- # Turn on libjpeg-turbo optimizations since we know that the
- # appropriate version of libjpeg-turbo is present.
- 'TURBO_HAS_CROP',
- 'TURBO_HAS_SKIP',
- 'TURBO_HAS_565',
- ],
'conditions': [
['skia_codec_decodes_raw', {
'dependencies': [
diff --git a/public.bzl b/public.bzl
index 4c3e70b..39926b5 100644
--- a/public.bzl
+++ b/public.bzl
@@ -573,9 +573,6 @@
"SK_HAS_JPEG_LIBRARY",
"SK_HAS_PNG_LIBRARY",
"SK_HAS_WEBP_LIBRARY",
- "TURBO_HAS_CROP",
- "TURBO_HAS_SKIP",
- "TURBO_HAS_565",
]
DEFINES_ANDROID = [
@@ -585,9 +582,6 @@
"SK_HAS_JPEG_LIBRARY",
"SK_HAS_PNG_LIBRARY",
"SK_HAS_WEBP_LIBRARY",
- "TURBO_HAS_CROP",
- "TURBO_HAS_SKIP",
- "TURBO_HAS_565",
]
DEFINES_IOS = [
diff --git a/src/codec/SkJpegCodec.cpp b/src/codec/SkJpegCodec.cpp
index 05f40bd..fcf89d0 100644
--- a/src/codec/SkJpegCodec.cpp
+++ b/src/codec/SkJpegCodec.cpp
@@ -278,12 +278,8 @@
* Return the row bytes of a particular image type and width
*/
static size_t get_row_bytes(const j_decompress_ptr dinfo) {
-#ifdef TURBO_HAS_565
const size_t colorBytes = (dinfo->out_color_space == JCS_RGB565) ? 2 :
dinfo->out_color_components;
-#else
- const size_t colorBytes = dinfo->out_color_components;
-#endif
return dinfo->output_width * colorBytes;
}
@@ -353,10 +349,6 @@
fStorage.reset();
fColorXform.reset(nullptr);
-#if !defined(TURBO_HAS_SKIP)
- fSkipStorage.reset();
-#endif
-
return true;
}
@@ -408,12 +400,8 @@
if (isCMYK) {
fDecoderMgr->dinfo()->out_color_space = JCS_CMYK;
} else {
-#ifdef TURBO_HAS_565
fDecoderMgr->dinfo()->dither_mode = JDITHER_NONE;
fDecoderMgr->dinfo()->out_color_space = JCS_RGB565;
-#else
- fDecoderMgr->dinfo()->out_color_space = JCS_RGB;
-#endif
}
return true;
case kGray_8_SkColorType:
@@ -576,7 +564,7 @@
SkASSERT(1 == dinfo->rec_outbuf_height);
J_COLOR_SPACE colorSpace = dinfo->out_color_space;
- if (JCS_CMYK == colorSpace || JCS_RGB == colorSpace) {
+ if (JCS_CMYK == colorSpace) {
this->initializeSwizzler(dstInfo, options);
}
@@ -621,21 +609,11 @@
// appropriate format to the swizzler.
SkEncodedInfo swizzlerInfo = this->getEncodedInfo();
bool preSwizzled = true;
- switch (fDecoderMgr->dinfo()->out_color_space) {
- case JCS_RGB:
- preSwizzled = false;
- swizzlerInfo = SkEncodedInfo::Make(SkEncodedInfo::kRGB_Color,
- swizzlerInfo.alpha(),
- swizzlerInfo.bitsPerComponent());
- break;
- case JCS_CMYK:
- preSwizzled = false;
- swizzlerInfo = SkEncodedInfo::Make(SkEncodedInfo::kInvertedCMYK_Color,
- swizzlerInfo.alpha(),
- swizzlerInfo.bitsPerComponent());
- break;
- default:
- break;
+ if (JCS_CMYK == fDecoderMgr->dinfo()->out_color_space) {
+ preSwizzled = false;
+ swizzlerInfo = SkEncodedInfo::Make(SkEncodedInfo::kInvertedCMYK_Color,
+ swizzlerInfo.alpha(),
+ swizzlerInfo.bitsPerComponent());
}
Options swizzlerOptions = options;
@@ -698,7 +676,6 @@
return kInvalidInput;
}
-#ifdef TURBO_HAS_CROP
if (options.fSubset) {
uint32_t startX = options.fSubset->x();
uint32_t width = options.fSubset->width();
@@ -740,18 +717,6 @@
if (!fSwizzler && JCS_CMYK == fDecoderMgr->dinfo()->out_color_space) {
this->initializeSwizzler(dstInfo, options);
}
-#else
- if (options.fSubset) {
- fSwizzlerSubset = *options.fSubset;
- }
-
- // We will need a swizzler if we are performing a subset decode or
- // converting from CMYK.
- J_COLOR_SPACE colorSpace = fDecoderMgr->dinfo()->out_color_space;
- if (options.fSubset || JCS_CMYK == colorSpace || JCS_RGB == colorSpace) {
- this->initializeSwizzler(dstInfo, options);
- }
-#endif
this->allocateStorage(dstInfo);
@@ -774,22 +739,7 @@
return fDecoderMgr->returnFalse("onSkipScanlines");
}
-#ifdef TURBO_HAS_SKIP
return (uint32_t) count == jpeg_skip_scanlines(fDecoderMgr->dinfo(), count);
-#else
- uint8_t* ptr = fSkipStorage.get();
- if (!ptr) {
- fSkipStorage.reset(get_row_bytes(fDecoderMgr->dinfo()));
- ptr = fSkipStorage.get();
- }
-
- for (int y = 0; y < count; y++) {
- if (1 != jpeg_read_scanlines(fDecoderMgr->dinfo(), &ptr, 1)) {
- return false;
- }
- }
- return true;
-#endif
}
static bool is_yuv_supported(jpeg_decompress_struct* dinfo) {
diff --git a/src/codec/SkJpegCodec.h b/src/codec/SkJpegCodec.h
index f178590..192e4be 100644
--- a/src/codec/SkJpegCodec.h
+++ b/src/codec/SkJpegCodec.h
@@ -8,13 +8,6 @@
#ifndef SkJpegCodec_DEFINED
#define SkJpegCodec_DEFINED
-// For testing.
-#ifdef SKNX_NO_SIMD
-#undef TURBO_HAS_CROP
-#undef TURBO_HAS_SKIP
-#undef TURBO_HAS_565
-#endif
-
#include "SkCodec.h"
#include "SkColorSpace.h"
#include "SkColorSpaceXform.h"
@@ -145,12 +138,8 @@
SkAutoTDelete<SkSwizzler> fSwizzler;
std::unique_ptr<SkColorSpaceXform> fColorXform;
-
- sk_sp<SkData> fICCData;
-#if !defined(TURBO_HAS_SKIP)
- SkAutoTMalloc<uint8_t> fSkipStorage;
-#endif
+ sk_sp<SkData> fICCData;
typedef SkCodec INHERITED;
};