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.

[1] https://code.google.com/p/webp/issues/detail?id=254

BUG=skia:4038

Committed: https://skia.googlesource.com/skia/+/0575d3e6c272744a66ab3281f9871366717df339

Review URL: https://codereview.chromium.org/1280073002
This commit is contained in:
scroggo 2015-10-01 10:56:08 -07:00 коммит произвёл Commit bot
Родитель 4d06ae620d
Коммит f174e92873
3 изменённых файлов: 53 добавлений и 7 удалений

3
DEPS
Просмотреть файл

@ -14,7 +14,8 @@ deps = {
"third_party/externals/gyp" : "https://chromium.googlesource.com/external/gyp.git@08429da7955a98ef764fafa223dd7de73f654b2d",
"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/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@5ff0079ece626f122bfb8e33a5f92b5a68484176",
"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

Просмотреть файл

@ -302,12 +302,6 @@ static void push_codec_srcs(Path path) {
}
for (float scale : nativeScales) {
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;
}
for (CodecSrc::Mode mode : nativeModes) {
for (uint32_t i = 0; i < numColorTypes; i++) {
push_codec_src(path, mode, colorTypes[i], scale);

Просмотреть файл

@ -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' ],
@ -108,6 +123,7 @@
'../third_party/externals/libwebp/src/dsp/dec_neon.c',
'../third_party/externals/libwebp/src/dsp/enc_neon.c',
'../third_party/externals/libwebp/src/dsp/lossless_neon.c',
'../third_party/externals/libwebp/src/dsp/lossless_enc_neon.c',
'../third_party/externals/libwebp/src/dsp/upsampling_neon.c',
],
# behavior similar dsp_neon.c.neon in an Android.mk
@ -120,6 +136,34 @@
}],
],
},
{
'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_sse2.c',
'../third_party/externals/libwebp/src/dsp/lossless_enc_sse41.c',
],
},
{
'target_name': 'libwebp_enc',
'type': 'static_library',
@ -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',