aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--DEPS3
-rw-r--r--dm/DM.cpp5
-rw-r--r--gyp/libwebp.gyp51
-rw-r--r--third_party/libwebp/webp/config.h6
4 files changed, 9 insertions, 56 deletions
diff --git a/DEPS b/DEPS
index e316d7d151..4439cb0809 100644
--- a/DEPS
+++ b/DEPS
@@ -14,8 +14,7 @@ deps = {
"third_party/externals/harfbuzz": "https://skia.googlesource.com/third_party/harfbuzz.git@0.9.35",
"third_party/externals/jsoncpp" : "https://chromium.googlesource.com/external/jsoncpp/jsoncpp.git@1afff032c83e26ddf7f2776e8b43de5ad666c1fa",
"third_party/externals/libjpeg" : "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@034e9a9747e0983bc19808ea70e469bc8342081f",
- # Slightly ahead of v 0.4.3, to include the fix for skbug.com/4038
- "third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@7df93893dcb73dc45733ab4518ce5ca322c25680",
+ "third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@v0.4.3",
"third_party/externals/nanomsg" : "https://skia.googlesource.com/third_party/nanomsg.git@0.4-beta",
"third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@4ba7cdd0e7bf49d671645264f839838fc56e1492",
# NOTE: If we update libpng, we may need to update the generated file at third_party/libpng/pnglibconf.h
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 0faa3e4a50..9dcdff1a0f 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -215,6 +215,11 @@ static void push_codec_srcs(Path path) {
const float scales[] = { 0.125f, 0.25f, 0.375f, 0.5f, 0.625f, 0.750f, 0.875f, 1.0f };
for (float scale : scales) {
+ if (scale != 1.0f && (path.endsWith(".webp") || path.endsWith(".WEBP"))) {
+ // FIXME: skbug.com/4038 Scaling webp seems to leave some pixels uninitialized/
+ // compute their colors based on uninitialized values.
+ continue;
+ }
// Build additional test cases for images that decode natively to non-canvas types
switch(codec->getInfo().colorType()) {
case kGray_8_SkColorType:
diff --git a/gyp/libwebp.gyp b/gyp/libwebp.gyp
index 0122be6a8c..fc6f46c309 100644
--- a/gyp/libwebp.gyp
+++ b/gyp/libwebp.gyp
@@ -66,33 +66,18 @@
],
'sources': [
'../third_party/externals/libwebp/src/dsp/alpha_processing.c',
- '../third_party/externals/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/alpha_processing_sse2.c',
- '../third_party/externals/libwebp/src/dsp/alpha_processing_sse41.c',
'../third_party/externals/libwebp/src/dsp/cpu.c',
'../third_party/externals/libwebp/src/dsp/dec.c',
'../third_party/externals/libwebp/src/dsp/dec_clip_tables.c',
- '../third_party/externals/libwebp/src/dsp/dec_mips32.c',
- '../third_party/externals/libwebp/src/dsp/dec_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/dec_sse2.c',
- '../third_party/externals/libwebp/src/dsp/dec_sse41.c',
'../third_party/externals/libwebp/src/dsp/enc.c',
'../third_party/externals/libwebp/src/dsp/enc_sse2.c',
- '../third_party/externals/libwebp/src/dsp/filters.c',
- '../third_party/externals/libwebp/src/dsp/filters_mips_dsp_r2.c',
- '../third_party/externals/libwebp/src/dsp/filters_sse2.c',
'../third_party/externals/libwebp/src/dsp/lossless.c',
- '../third_party/externals/libwebp/src/dsp/lossless_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/lossless_sse2.c',
- '../third_party/externals/libwebp/src/dsp/rescaler.c',
- '../third_party/externals/libwebp/src/dsp/rescaler_mips32.c',
- '../third_party/externals/libwebp/src/dsp/rescaler_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/upsampling.c',
- '../third_party/externals/libwebp/src/dsp/upsampling_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/upsampling_sse2.c',
'../third_party/externals/libwebp/src/dsp/yuv.c',
- '../third_party/externals/libwebp/src/dsp/yuv_mips32.c',
- '../third_party/externals/libwebp/src/dsp/yuv_mips_dsp_r2.c',
'../third_party/externals/libwebp/src/dsp/yuv_sse2.c',
],
'cflags': [ '-w' ],
@@ -136,35 +121,6 @@
],
},
{
- 'target_name': 'libwebp_dsp_enc',
- 'type': 'static_library',
- 'includes': [
- 'libwebp_skia.gypi',
- ],
- 'include_dirs': [
- '../third_party/externals/libwebp',
- ],
- 'sources': [
- '../third_party/externals/libwebp/src/dsp/argb.c',
- '../third_party/externals/libwebp/src/dsp/argb_mips_dsp_r2.c',
- '../third_party/externals/libwebp/src/dsp/argb_sse2.c',
- '../third_party/externals/libwebp/src/dsp/cost.c',
- '../third_party/externals/libwebp/src/dsp/cost_mips32.c',
- '../third_party/externals/libwebp/src/dsp/cost_mips_dsp_r2.c',
- '../third_party/externals/libwebp/src/dsp/cost_sse2.c',
- '../third_party/externals/libwebp/src/dsp/enc_avx2.c',
- '../third_party/externals/libwebp/src/dsp/enc_mips32.c',
- '../third_party/externals/libwebp/src/dsp/enc_mips_dsp_r2.c',
- '../third_party/externals/libwebp/src/dsp/enc_sse41.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc_mips32.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc_neon.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc_sse2.c',
- '../third_party/externals/libwebp/src/dsp/lossless_enc_sse41.c',
- ],
- },
- {
'target_name': 'libwebp_enc',
'type': 'static_library',
'includes': [
@@ -173,9 +129,6 @@
'include_dirs': [
'../third_party/externals/libwebp',
],
- 'dependencies' : [
- 'libwebp_dsp_enc',
- ],
'sources': [
'../third_party/externals/libwebp/src/enc/alpha.c',
'../third_party/externals/libwebp/src/enc/analysis.c',
@@ -186,12 +139,8 @@
'../third_party/externals/libwebp/src/enc/frame.c',
'../third_party/externals/libwebp/src/enc/histogram.c',
'../third_party/externals/libwebp/src/enc/iterator.c',
- '../third_party/externals/libwebp/src/enc/near_lossless.c',
'../third_party/externals/libwebp/src/enc/picture.c',
'../third_party/externals/libwebp/src/enc/picture_csp.c',
- '../third_party/externals/libwebp/src/enc/picture_psnr.c',
- '../third_party/externals/libwebp/src/enc/picture_rescale.c',
- '../third_party/externals/libwebp/src/enc/picture_tools.c',
'../third_party/externals/libwebp/src/enc/quant.c',
'../third_party/externals/libwebp/src/enc/syntax.c',
'../third_party/externals/libwebp/src/enc/token.c',
diff --git a/third_party/libwebp/webp/config.h b/third_party/libwebp/webp/config.h
index b01473c827..62ade94d2a 100644
--- a/third_party/libwebp/webp/config.h
+++ b/third_party/libwebp/webp/config.h
@@ -14,14 +14,14 @@
// file, which replaces the checks in endian_inl.h to decide whether we have
// particular builtins.
-#ifdef __builtin_bswap64
+#ifdef __builtin_bswap64(x)
#define HAVE_BUILTIN_BSWAP64
#endif
-#ifdef __builtin_bswap32
+#ifdef __builtin_bswap32(x)
#define HAVE_BUILTIN_BSWAP32
#endif
-#ifdef __builtin_bswap16
+#ifdef __builtin_bswap16(x)
#define HAVE_BUILTIN_BSWAP16
#endif