diff options
-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 |