aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@chromium.org>2015-08-07 12:49:16 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-08-07 12:49:16 -0700
commit0575d3e6c272744a66ab3281f9871366717df339 (patch)
tree1a121e37ecbd7cf5b63fd3647b05c115ef2128ac
parent2771b5617c0440de2e8b3a024e367553e8a99d70 (diff)
Update libwebp and resume testing scaled webp
libwebp has a fix for [1]. Update to the commit that contains the fix. Update libwebp.gypi, corresponding to libwebp's latest makefile. Turn back on DM testing for scaled webp, now that it should no longer use uninitialized memory. Fix a warning in config.h [1] https://code.google.com/p/webp/issues/detail?id=254 BUG=skia:4038 Review URL: https://codereview.chromium.org/1280073002
-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, 56 insertions, 9 deletions
diff --git a/DEPS b/DEPS
index 4439cb0809..e316d7d151 100644
--- a/DEPS
+++ b/DEPS
@@ -14,7 +14,8 @@ 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",
- "third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@v0.4.3",
+ # 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/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 9dcdff1a0f..0faa3e4a50 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -215,11 +215,6 @@ 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 fc6f46c309..0122be6a8c 100644
--- a/gyp/libwebp.gyp
+++ b/gyp/libwebp.gyp
@@ -66,18 +66,33 @@
],
'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' ],
@@ -121,6 +136,35 @@
],
},
{
+ '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': [
@@ -129,6 +173,9 @@
'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',
@@ -139,8 +186,12 @@
'../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 62ade94d2a..b01473c827 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(x)
+#ifdef __builtin_bswap64
#define HAVE_BUILTIN_BSWAP64
#endif
-#ifdef __builtin_bswap32(x)
+#ifdef __builtin_bswap32
#define HAVE_BUILTIN_BSWAP32
#endif
-#ifdef __builtin_bswap16(x)
+#ifdef __builtin_bswap16
#define HAVE_BUILTIN_BSWAP16
#endif