diff options
author | scroggo <scroggo@chromium.org> | 2015-08-07 12:49:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-07 12:49:16 -0700 |
commit | 0575d3e6c272744a66ab3281f9871366717df339 (patch) | |
tree | 1a121e37ecbd7cf5b63fd3647b05c115ef2128ac | |
parent | 2771b5617c0440de2e8b3a024e367553e8a99d70 (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-- | DEPS | 3 | ||||
-rw-r--r-- | dm/DM.cpp | 5 | ||||
-rw-r--r-- | gyp/libwebp.gyp | 51 | ||||
-rw-r--r-- | third_party/libwebp/webp/config.h | 6 |
4 files changed, 56 insertions, 9 deletions
@@ -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 @@ -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 |