From e542fc7a8a264562ec678970f64d6ad12a7b554a Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 20 Jul 2021 17:21:09 -0700 Subject: [PATCH 1/8] update AUTHORS Bug: webp:521 Change-Id: Ie2decd9def1a718a01aa1e381ef8f284d18fe279 --- .mailmap | 1 + AUTHORS | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/.mailmap b/.mailmap index dc05fddc..f3560c55 100644 --- a/.mailmap +++ b/.mailmap @@ -11,3 +11,4 @@ Vikas Arora Tamar Levy Hui Su +James Zern diff --git a/AUTHORS b/AUTHORS index 8a6e2629..30abde03 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,8 +4,11 @@ Contributors: - Charles Munger (clm at google dot com) - Cheng Yi (cyi at google dot com) - Christian Duvivier (cduvivier at google dot com) +- Christopher Degawa (ccom at randomderp dot com) +- Clement Courbet (courbet at google dot com) - Djordje Pesut (djordje dot pesut at imgtec dot com) - Hui Su (huisu at google dot com) +- Ilya Kurdyukov (jpegqs at gmail dot com) - Ingvar Stepanyan (rreverser at google dot com) - James Zern (jzern at google dot com) - Jan Engelhardt (jengelh at medozas dot de) @@ -45,3 +48,4 @@ Contributors: - Wan-Teh Chang (wtc at google dot com) - Yang Zhang (yang dot zhang at arm dot com) - Yannis Guyon (yguyon at google dot com) +- Zhi An Ng (zhin at chromium dot org) From b2bc809346605bcf63e9ae1f1018aa3f3f2d631a Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 20 Jul 2021 17:29:34 -0700 Subject: [PATCH 2/8] bump version to 1.2.1 libwebp{,decoder} - 1.2.1 libwebp libtool - 8.2.1 libwebpdecoder libtool - 4.2.1 mux - 1.2.1 libtool - 3.7.0 demux - 1.2.1 libtool - 2.8.0 Bug: webp:521 Change-Id: I098e3e9df698baa275dea85315b9136e565e9971 --- README | 2 +- README.mux | 2 +- configure.ac | 2 +- extras/extras.c | 2 +- src/Makefile.am | 4 ++-- src/dec/vp8i_dec.h | 2 +- src/demux/Makefile.am | 2 +- src/demux/demux.c | 2 +- src/demux/libwebpdemux.rc | 10 +++++----- src/enc/vp8i_enc.h | 2 +- src/libwebp.rc | 10 +++++----- src/libwebpdecoder.rc | 10 +++++----- src/mux/Makefile.am | 2 +- src/mux/libwebpmux.rc | 10 +++++----- src/mux/muxi.h | 2 +- 15 files changed, 32 insertions(+), 32 deletions(-) diff --git a/README b/README index c0b03af7..54c51756 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ \__\__/\____/\_____/__/ ____ ___ / _/ / \ \ / _ \/ _/ / \_/ / / \ \ __/ \__ - \____/____/\_____/_____/____/v1.2.0 + \____/____/\_____/_____/____/v1.2.1 Description: ============ diff --git a/README.mux b/README.mux index 4bf4bc2b..bcc458bd 100644 --- a/README.mux +++ b/README.mux @@ -1,7 +1,7 @@  __ __ ____ ____ ____ __ __ _ __ __ / \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\ \ / __/ _ \ __/ / / (_/ /__ - \__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.2.0 + \__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.2.1 Description: diff --git a/configure.ac b/configure.ac index a72e92a1..7d5b8d26 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libwebp], [1.2.0], +AC_INIT([libwebp], [1.2.1], [https://bugs.chromium.org/p/webp],, [http://developers.google.com/speed/webp]) AC_CANONICAL_HOST diff --git a/extras/extras.c b/extras/extras.c index e26b9253..a66979a4 100644 --- a/extras/extras.c +++ b/extras/extras.c @@ -19,7 +19,7 @@ #define XTRA_MAJ_VERSION 1 #define XTRA_MIN_VERSION 2 -#define XTRA_REV_VERSION 0 +#define XTRA_REV_VERSION 1 //------------------------------------------------------------------------------ diff --git a/src/Makefile.am b/src/Makefile.am index b66ace79..b4a6d3a7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,7 +36,7 @@ libwebp_la_LIBADD += utils/libwebputils.la # other than the ones listed on the command line, i.e., after linking, it will # not have unresolved symbols. Some platforms (Windows among them) require all # symbols in shared libraries to be resolved at library creation. -libwebp_la_LDFLAGS = -no-undefined -version-info 8:1:1 +libwebp_la_LDFLAGS = -no-undefined -version-info 8:2:1 libwebpincludedir = $(includedir)/webp pkgconfig_DATA = libwebp.pc @@ -48,7 +48,7 @@ if BUILD_LIBWEBPDECODER libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la - libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:1:1 + libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:2:1 pkgconfig_DATA += libwebpdecoder.pc endif diff --git a/src/dec/vp8i_dec.h b/src/dec/vp8i_dec.h index a0c0af15..20526a87 100644 --- a/src/dec/vp8i_dec.h +++ b/src/dec/vp8i_dec.h @@ -32,7 +32,7 @@ extern "C" { // version numbers #define DEC_MAJ_VERSION 1 #define DEC_MIN_VERSION 2 -#define DEC_REV_VERSION 0 +#define DEC_REV_VERSION 1 // YUV-cache parameters. Cache is 32-bytes wide (= one cacheline). // Constraints are: We need to store one 16x16 block of luma samples (y), diff --git a/src/demux/Makefile.am b/src/demux/Makefile.am index 6ae224a1..89d86c1d 100644 --- a/src/demux/Makefile.am +++ b/src/demux/Makefile.am @@ -13,6 +13,6 @@ noinst_HEADERS = noinst_HEADERS += ../webp/format_constants.h libwebpdemux_la_LIBADD = ../libwebp.la -libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:7:0 +libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:8:0 libwebpdemuxincludedir = $(includedir)/webp pkgconfig_DATA = libwebpdemux.pc diff --git a/src/demux/demux.c b/src/demux/demux.c index 3a2e4846..547a7725 100644 --- a/src/demux/demux.c +++ b/src/demux/demux.c @@ -25,7 +25,7 @@ #define DMUX_MAJ_VERSION 1 #define DMUX_MIN_VERSION 2 -#define DMUX_REV_VERSION 0 +#define DMUX_REV_VERSION 1 typedef struct { size_t start_; // start location of the data diff --git a/src/demux/libwebpdemux.rc b/src/demux/libwebpdemux.rc index 4847ffc9..8dce3492 100644 --- a/src/demux/libwebpdemux.rc +++ b/src/demux/libwebpdemux.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,2,0 - PRODUCTVERSION 1,0,2,0 + FILEVERSION 1,0,2,1 + PRODUCTVERSION 1,0,2,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -24,12 +24,12 @@ BEGIN BEGIN VALUE "CompanyName", "Google, Inc." VALUE "FileDescription", "libwebpdemux DLL" - VALUE "FileVersion", "1.2.0" + VALUE "FileVersion", "1.2.1" VALUE "InternalName", "libwebpdemux.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" + VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "libwebpdemux.dll" VALUE "ProductName", "WebP Image Demuxer" - VALUE "ProductVersion", "1.2.0" + VALUE "ProductVersion", "1.2.1" END END BLOCK "VarFileInfo" diff --git a/src/enc/vp8i_enc.h b/src/enc/vp8i_enc.h index b6eab1ec..67e95093 100644 --- a/src/enc/vp8i_enc.h +++ b/src/enc/vp8i_enc.h @@ -32,7 +32,7 @@ extern "C" { // version numbers #define ENC_MAJ_VERSION 1 #define ENC_MIN_VERSION 2 -#define ENC_REV_VERSION 0 +#define ENC_REV_VERSION 1 enum { MAX_LF_LEVELS = 64, // Maximum loop filter level MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost diff --git a/src/libwebp.rc b/src/libwebp.rc index 1a3b3e77..2deeaca4 100644 --- a/src/libwebp.rc +++ b/src/libwebp.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,2,0 - PRODUCTVERSION 1,0,2,0 + FILEVERSION 1,0,2,1 + PRODUCTVERSION 1,0,2,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -24,12 +24,12 @@ BEGIN BEGIN VALUE "CompanyName", "Google, Inc." VALUE "FileDescription", "libwebp DLL" - VALUE "FileVersion", "1.2.0" + VALUE "FileVersion", "1.2.1" VALUE "InternalName", "libwebp.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" + VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "libwebp.dll" VALUE "ProductName", "WebP Image Codec" - VALUE "ProductVersion", "1.2.0" + VALUE "ProductVersion", "1.2.1" END END BLOCK "VarFileInfo" diff --git a/src/libwebpdecoder.rc b/src/libwebpdecoder.rc index 16a795e2..366f242d 100644 --- a/src/libwebpdecoder.rc +++ b/src/libwebpdecoder.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,2,0 - PRODUCTVERSION 1,0,2,0 + FILEVERSION 1,0,2,1 + PRODUCTVERSION 1,0,2,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -24,12 +24,12 @@ BEGIN BEGIN VALUE "CompanyName", "Google, Inc." VALUE "FileDescription", "libwebpdecoder DLL" - VALUE "FileVersion", "1.2.0" + VALUE "FileVersion", "1.2.1" VALUE "InternalName", "libwebpdecoder.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" + VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "libwebpdecoder.dll" VALUE "ProductName", "WebP Image Decoder" - VALUE "ProductVersion", "1.2.0" + VALUE "ProductVersion", "1.2.1" END END BLOCK "VarFileInfo" diff --git a/src/mux/Makefile.am b/src/mux/Makefile.am index 494b9eb0..252219f8 100644 --- a/src/mux/Makefile.am +++ b/src/mux/Makefile.am @@ -17,6 +17,6 @@ noinst_HEADERS = noinst_HEADERS += ../webp/format_constants.h libwebpmux_la_LIBADD = ../libwebp.la -libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:6:0 -lm +libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:7:0 -lm libwebpmuxincludedir = $(includedir)/webp pkgconfig_DATA = libwebpmux.pc diff --git a/src/mux/libwebpmux.rc b/src/mux/libwebpmux.rc index 8a68a665..9f294d14 100644 --- a/src/mux/libwebpmux.rc +++ b/src/mux/libwebpmux.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,2,0 - PRODUCTVERSION 1,0,2,0 + FILEVERSION 1,0,2,1 + PRODUCTVERSION 1,0,2,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -24,12 +24,12 @@ BEGIN BEGIN VALUE "CompanyName", "Google, Inc." VALUE "FileDescription", "libwebpmux DLL" - VALUE "FileVersion", "1.2.0" + VALUE "FileVersion", "1.2.1" VALUE "InternalName", "libwebpmux.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" + VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "libwebpmux.dll" VALUE "ProductName", "WebP Image Muxer" - VALUE "ProductVersion", "1.2.0" + VALUE "ProductVersion", "1.2.1" END END BLOCK "VarFileInfo" diff --git a/src/mux/muxi.h b/src/mux/muxi.h index 2289822e..330da667 100644 --- a/src/mux/muxi.h +++ b/src/mux/muxi.h @@ -29,7 +29,7 @@ extern "C" { #define MUX_MAJ_VERSION 1 #define MUX_MIN_VERSION 2 -#define MUX_REV_VERSION 0 +#define MUX_REV_VERSION 1 // Chunk object. typedef struct WebPChunk WebPChunk; From 3a4d3ecd400c33697d754033a84a02e000fc539b Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 20 Jul 2021 18:11:32 -0700 Subject: [PATCH 3/8] update NEWS Bug: webp:521 Change-Id: Ic52942bcbfa8aa8e41b95991c0663698884fa8a8 --- NEWS | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/NEWS b/NEWS index 5b87b3a9..a6917611 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,15 @@ +- 7/20/2021: version 1.2.1 + This is a binary compatible release. + * minor lossless encoder improvements and x86 color conversion speed up + * add ARM64 simulator support to xcframeworkbuild.sh (#510) + * further security related hardening in libwebp & examples + (issues: #497, #508, #518) + (chromium: #1196480, #1196773, #1196775, #1196777, #1196778, #1196850) + (oss-fuzz: #28658, #28978) + * toolchain updates and bug fixes (#498, #501, #502, #504, #505, #506, #509, + #533) + * use more inclusive language within the source (#507) + - 12/23/2020: version 1.2.0 * API changes: - libwebp: From d250f01d953f272c446e36c3fb3ee0aae4dde46e Mon Sep 17 00:00:00 2001 From: James Zern Date: Fri, 23 Jul 2021 22:19:07 -0700 Subject: [PATCH 4/8] dsp/*: use WEBP_HAVE_* to determine Init availability after: ece18e55 dsp.h: respect --disable-sse2/sse4.1/neon WEBP_USE_* will be set when a module is targeting a particular instruction set, e.g., sse4.1, and not overridden if WEBP_HAVE_SSE41 is set, as previously this would ignore the case where the instruction set was disabled via config.h and the HAVE macro was unset. dsp.h not ensures WEBP_HAVE_* are set when WEBP_USE_* to cover cases where the files are built without config.h. Change-Id: Ia1c2dcf4100cc1081d968acb6e085e2a1768ece6 (cherry picked from commit 1fe3162541ab2f5ce69aca2e2b593fab60520d34) --- src/dsp/alpha_processing.c | 6 +++--- src/dsp/cost.c | 4 ++-- src/dsp/cpu.c | 8 ++++---- src/dsp/dec.c | 6 +++--- src/dsp/dsp.h | 12 ++++++++++++ src/dsp/enc.c | 6 +++--- src/dsp/filters.c | 4 ++-- src/dsp/lossless.c | 6 +++--- src/dsp/lossless_enc.c | 6 +++--- src/dsp/rescaler.c | 4 ++-- src/dsp/ssim.c | 2 +- src/dsp/upsampling.c | 10 +++++----- src/dsp/yuv.c | 20 ++++++++++---------- 13 files changed, 53 insertions(+), 41 deletions(-) diff --git a/src/dsp/alpha_processing.c b/src/dsp/alpha_processing.c index 86511c69..1892929a 100644 --- a/src/dsp/alpha_processing.c +++ b/src/dsp/alpha_processing.c @@ -453,10 +453,10 @@ WEBP_DSP_INIT_FUNC(WebPInitAlphaProcessing) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPInitAlphaProcessingSSE2(); -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { WebPInitAlphaProcessingSSE41(); } @@ -470,7 +470,7 @@ WEBP_DSP_INIT_FUNC(WebPInitAlphaProcessing) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { WebPInitAlphaProcessingNEON(); diff --git a/src/dsp/cost.c b/src/dsp/cost.c index cc681cdd..460ec4f2 100644 --- a/src/dsp/cost.c +++ b/src/dsp/cost.c @@ -395,12 +395,12 @@ WEBP_DSP_INIT_FUNC(VP8EncDspCostInit) { VP8EncDspCostInitMIPSdspR2(); } #endif -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8EncDspCostInitSSE2(); } #endif -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (VP8GetCPUInfo(kNEON)) { VP8EncDspCostInitNEON(); } diff --git a/src/dsp/cpu.c b/src/dsp/cpu.c index dac67c5d..3145e190 100644 --- a/src/dsp/cpu.c +++ b/src/dsp/cpu.c @@ -189,17 +189,17 @@ VP8CPUInfo VP8GetCPUInfo = AndroidCPUInfo; // Use compile flags as an indicator of SIMD support instead of a runtime check. static int wasmCPUInfo(CPUFeature feature) { switch (feature) { -#ifdef WEBP_USE_SSE2 +#ifdef WEBP_HAVE_SSE2 case kSSE2: return 1; #endif -#ifdef WEBP_USE_SSE41 +#ifdef WEBP_HAVE_SSE41 case kSSE3: case kSlowSSSE3: case kSSE4_1: return 1; #endif -#ifdef WEBP_USE_NEON +#ifdef WEBP_HAVE_NEON case kNEON: return 1; #endif @@ -209,7 +209,7 @@ static int wasmCPUInfo(CPUFeature feature) { return 0; } VP8CPUInfo VP8GetCPUInfo = wasmCPUInfo; -#elif defined(WEBP_USE_NEON) +#elif defined(WEBP_HAVE_NEON) // In most cases this function doesn't check for NEON support (it's assumed by // the configuration), but enables turning off NEON at runtime, for testing // purposes, by setting VP8DecGetCPUInfo = NULL. diff --git a/src/dsp/dec.c b/src/dsp/dec.c index 1119842d..537c7012 100644 --- a/src/dsp/dec.c +++ b/src/dsp/dec.c @@ -807,10 +807,10 @@ WEBP_DSP_INIT_FUNC(VP8DspInit) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8DspInitSSE2(); -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { VP8DspInitSSE41(); } @@ -834,7 +834,7 @@ WEBP_DSP_INIT_FUNC(VP8DspInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { VP8DspInitNEON(); diff --git a/src/dsp/dsp.h b/src/dsp/dsp.h index 7c24c86b..513e159b 100644 --- a/src/dsp/dsp.h +++ b/src/dsp/dsp.h @@ -89,11 +89,19 @@ extern "C" { #define WEBP_USE_SSE2 #endif +#if defined(WEBP_USE_SSE2) && !defined(WEBP_HAVE_SSE2) +#define WEBP_HAVE_SSE2 +#endif + #if (defined(__SSE4_1__) || defined(WEBP_MSC_SSE41)) && \ (!defined(HAVE_CONFIG_H) || defined(WEBP_HAVE_SSE41)) #define WEBP_USE_SSE41 #endif +#if defined(WEBP_USE_SSE41) && !defined(WEBP_HAVE_SSE41) +#define WEBP_HAVE_SSE41 +#endif + #undef WEBP_MSC_SSE41 #undef WEBP_MSC_SSE2 @@ -116,6 +124,10 @@ extern "C" { #define WEBP_USE_INTRINSICS #endif +#if defined(WEBP_USE_NEON) && !defined(WEBP_HAVE_NEON) +#define WEBP_HAVE_NEON +#endif + #if defined(__mips__) && !defined(__mips64) && \ defined(__mips_isa_rev) && (__mips_isa_rev >= 1) && (__mips_isa_rev < 6) #define WEBP_USE_MIPS32 diff --git a/src/dsp/enc.c b/src/dsp/enc.c index 2fddbc4c..ea47a3fd 100644 --- a/src/dsp/enc.c +++ b/src/dsp/enc.c @@ -773,10 +773,10 @@ WEBP_DSP_INIT_FUNC(VP8EncDspInit) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8EncDspInitSSE2(); -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { VP8EncDspInitSSE41(); } @@ -800,7 +800,7 @@ WEBP_DSP_INIT_FUNC(VP8EncDspInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { VP8EncDspInitNEON(); diff --git a/src/dsp/filters.c b/src/dsp/filters.c index 9e910d99..4506567b 100644 --- a/src/dsp/filters.c +++ b/src/dsp/filters.c @@ -254,7 +254,7 @@ WEBP_DSP_INIT_FUNC(VP8FiltersInit) { #endif if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8FiltersInitSSE2(); } @@ -271,7 +271,7 @@ WEBP_DSP_INIT_FUNC(VP8FiltersInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { VP8FiltersInitNEON(); diff --git a/src/dsp/lossless.c b/src/dsp/lossless.c index ca8289fb..d8bbb02b 100644 --- a/src/dsp/lossless.c +++ b/src/dsp/lossless.c @@ -622,10 +622,10 @@ WEBP_DSP_INIT_FUNC(VP8LDspInit) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8LDspInitSSE2(); -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { VP8LDspInitSSE41(); } @@ -644,7 +644,7 @@ WEBP_DSP_INIT_FUNC(VP8LDspInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { VP8LDspInitNEON(); diff --git a/src/dsp/lossless_enc.c b/src/dsp/lossless_enc.c index c375c964..c3e8537a 100644 --- a/src/dsp/lossless_enc.c +++ b/src/dsp/lossless_enc.c @@ -862,10 +862,10 @@ WEBP_DSP_INIT_FUNC(VP8LEncDspInit) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8LEncDspInitSSE2(); -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { VP8LEncDspInitSSE41(); } @@ -889,7 +889,7 @@ WEBP_DSP_INIT_FUNC(VP8LEncDspInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { VP8LEncDspInitNEON(); diff --git a/src/dsp/rescaler.c b/src/dsp/rescaler.c index 813f6472..14620ce4 100644 --- a/src/dsp/rescaler.c +++ b/src/dsp/rescaler.c @@ -214,7 +214,7 @@ WEBP_DSP_INIT_FUNC(WebPRescalerDspInit) { WebPRescalerImportRowShrink = WebPRescalerImportRowShrink_C; if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPRescalerDspInitSSE2(); } @@ -236,7 +236,7 @@ WEBP_DSP_INIT_FUNC(WebPRescalerDspInit) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { WebPRescalerDspInitNEON(); diff --git a/src/dsp/ssim.c b/src/dsp/ssim.c index 989ce825..f85c2e6e 100644 --- a/src/dsp/ssim.c +++ b/src/dsp/ssim.c @@ -150,7 +150,7 @@ WEBP_DSP_INIT_FUNC(VP8SSIMDspInit) { #endif if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { VP8SSIMDspInitSSE2(); } diff --git a/src/dsp/upsampling.c b/src/dsp/upsampling.c index 9b60da5b..87f771f3 100644 --- a/src/dsp/upsampling.c +++ b/src/dsp/upsampling.c @@ -233,12 +233,12 @@ WEBP_DSP_INIT_FUNC(WebPInitYUV444Converters) { WebPYUV444Converters[MODE_rgbA_4444] = WebPYuv444ToRgba4444_C; if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPInitYUV444ConvertersSSE2(); } #endif -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { WebPInitYUV444ConvertersSSE41(); } @@ -278,12 +278,12 @@ WEBP_DSP_INIT_FUNC(WebPInitUpsamplers) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPInitUpsamplersSSE2(); } #endif -#if defined(WEBP_USE_SSE41) +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { WebPInitUpsamplersSSE41(); } @@ -300,7 +300,7 @@ WEBP_DSP_INIT_FUNC(WebPInitUpsamplers) { #endif } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { WebPInitUpsamplersNEON(); diff --git a/src/dsp/yuv.c b/src/dsp/yuv.c index 14e67fc2..48466f8b 100644 --- a/src/dsp/yuv.c +++ b/src/dsp/yuv.c @@ -90,16 +90,16 @@ WEBP_DSP_INIT_FUNC(WebPInitSamplers) { // If defined, use CPUInfo() to overwrite some pointers with faster versions. if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPInitSamplersSSE2(); } -#endif // WEBP_USE_SSE2 -#if defined(WEBP_USE_SSE41) +#endif // WEBP_HAVE_SSE2 +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { WebPInitSamplersSSE41(); } -#endif // WEBP_USE_SSE41 +#endif // WEBP_HAVE_SSE41 #if defined(WEBP_USE_MIPS32) if (VP8GetCPUInfo(kMIPS32)) { WebPInitSamplersMIPS32(); @@ -276,26 +276,26 @@ WEBP_DSP_INIT_FUNC(WebPInitConvertARGBToYUV) { #endif if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) +#if defined(WEBP_HAVE_SSE2) if (VP8GetCPUInfo(kSSE2)) { WebPInitConvertARGBToYUVSSE2(); WebPInitSharpYUVSSE2(); } -#endif // WEBP_USE_SSE2 -#if defined(WEBP_USE_SSE41) +#endif // WEBP_HAVE_SSE2 +#if defined(WEBP_HAVE_SSE41) if (VP8GetCPUInfo(kSSE4_1)) { WebPInitConvertARGBToYUVSSE41(); } -#endif // WEBP_USE_SSE41 +#endif // WEBP_HAVE_SSE41 } -#if defined(WEBP_USE_NEON) +#if defined(WEBP_HAVE_NEON) if (WEBP_NEON_OMIT_C_CODE || (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { WebPInitConvertARGBToYUVNEON(); WebPInitSharpYUVNEON(); } -#endif // WEBP_USE_NEON +#endif // WEBP_HAVE_NEON assert(WebPConvertARGBToY != NULL); assert(WebPConvertARGBToUV != NULL); From 731246ba3bcb755de86dcd85c6bd8381b7012863 Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 21 Jul 2021 20:02:00 -0700 Subject: [PATCH 5/8] update ChangeLog Change-Id: Ia3faaafd42eb96e257415e1cf9c7ceb69f851147 --- ChangeLog | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/ChangeLog b/ChangeLog index 895ae99d..24cd0e06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,106 @@ +d250f01d dsp/*: use WEBP_HAVE_* to determine Init availability +3a4d3ecd update NEWS +b2bc8093 bump version to 1.2.1 +e542fc7a update AUTHORS +e0241154 Merge "libwebp/CMake: Add to webp incl" into main +edea6444 libwebp/CMake: Add to webp incl +ece18e55 dsp.h: respect --disable-sse2/sse4.1/neon +a89a3230 wicdec: support alpha from WebP WIC decoder +26f4aa01 Merge "alpha_processing: fix visual studio warnings" into main +8f594663 alpha_processing: fix visual studio warnings +46d844e6 Merge "cpu.cmake: fix compiler flag detection w/3.17.0+" into main +298d26ea Merge changes I593adf92,If20675e7,Ifac68eac into main +a1e5dae0 alpha_processing*: use WEBP_RESTRICT qualifier +327ef24f cpu.cmake: fix compiler flag detection w/3.17.0+ +f70819de configure: enable libwebpmux by default +dc7e2b42 configure: add informational notices when disabling binaries +9df23ddd configure: move lib flag checks before binaries +a2e18f10 Merge "WebPConfig.config.in: correct WEBP_INCLUDE_DIRS" into main +e1a8d4f3 Merge "bit_reader_inl_utils: uniformly apply WEBP_RESTRICT" into main +4de35f43 rescaler.c: fix alignment +0f13eec7 bit_reader_inl_utils: uniformly apply WEBP_RESTRICT +277d3074 Fix size_t overflow in WebPRescalerInit +97adbba5 WebPConfig.config.in: correct WEBP_INCLUDE_DIRS +b60d4603 advanced_api_fuzzer: add extreme config value coverage +72fe52f6 anim_encode.c,cosmetics: normalize indent +116d235c anim_encode: Fix encoded_frames_[] overflow +6f445b3e CMake: set CMP0072 to NEW +b1cf887f define WEBP_RESTRICT for MSVC +3e265136 Add WEBP_RESTRICT & use it in VP8BitReader +f6d29247 vp8l_dec::ProcessRows: fix int overflow in multiply +de3b4ba8 CMake: add WEBP_BUILD_LIBWEBPMUX +7f09d3d1 CMakeLists.txt: rm libwebpmux dep from anim_{diff,dump} +4edea4a6 Init{RGB,YUV}Rescaler: fix a few more int overflows +c9e26bdb rescaler_utils: set max valid scaled w/h to INT_MAX/2 +28d488e6 utils.h: add SizeOverflow() +695bdaa2 Export/EmitRescaledRowsRGBA: fix pointer offset int overflow +685d073e Init{RGB,YUV}Rescaler: fix int overflows in multiplication +d38bd0dd WebPFlipBuffer: fix integer overflow +109ff0f1 utils: allow MALLOC_LIMIT to indicate a max +a2fce867 WebPRescalerImportRowExpand_C: promote some vals before multiply +776983d4 AllocateBuffer: fix int multiplication overflow check +315abbd6 Merge "Revert "Do not use a palette for one color images."" +eae815d0 Merge changes Ica3bbf75,I82f82954 +afbca5a1 Require Emscripten 2.0.18 +3320416b CMakeLists,emscripten: use EXPORTED_RUNTIME_METHODS +29145ed6 Update README instructions for using Emscripten +1f579139 cosmetics: remove use of 'sanity' / 'master' +29b6129c WebPAnimEncoderNewInternal: remove some unnecessary inits +b60869a1 Revert "Do not use a palette for one color images." +6fb4cddc demux: move padded size calc post unpadded validation +05b72d42 vp8l_enc.c: normalize index types +b6513fba Do not use a palette for one color images. +98bbe35b Fix multi-threading with palettes. +b1674240 Add modified Zeng's method to palette sorting. +88c90c45 add CONTRIBUTING.md +6a9916d7 WebPRescalerInit: add missing int64_t promotion +b6cf52d5 WebPIoInitFromOptions: treat use_scaling as a bool +3b12b7f4 WebPIoInitFromOptions: treat use_cropping as a bool +595fa13f add WebPCheckCropDimensions() +8fdaecb0 Disable cross-color when palette is used. +8933bac2 WebPIoInitFromOptions: respect incoming bypass_filtering val +7d416ff0 webpdec,cosmetics: match error text to function call +ec6cfeb5 Fix typo on WebPPictureAlloc() in README +7e58a1a2 *.cmake: add license header +5651a6b2 cmake: fix .so versioning +25ae67b3 xcframeworkbuild.sh: add arm64 simulator target +5d4ee4c3 cosmetics: remove use of the term 'dummy' +01b38ee1 faster CollectColorXXXTransforms_SSE41 +652aa344 Merge "Use BitCtz for FastSLog2Slow_C" +0320e1e3 add the missing default BitsCtz() code +8886f620 Use BitCtz for FastSLog2Slow_C +fae41617 faster CombinedShannonEntropy_SSE2 +5bd2704e Introduce the BitCtz() function. +fee64287 Merge "wicdec,icc: treat unsupported op as non-fatal" +33ddb894 lossless_sse{2,41}: remove some unneeded includes +b27ea852 wicdec,icc: treat unsupported op as non-fatal +b78494a9 Merge "Fix undefined signed shift." +e79974cd Fix undefined signed shift. +a8853394 SSE4.1 versions of BGRA to RGB/BGR color-space conversions +a09a6472 SSE4.1 version of TransformColorInverse +401da22b Merge "pngdec: check version before using png_get_chunk_malloc_max" +26907822 pngdec: check version before using png_get_chunk_malloc_max +06c1e72e Code cleanup +8f0d41aa Merge changes Id135bbf4,I99e59797 +373eb170 gif2webp: don't store loop-count if there's only 1 frame +759b9d5a cmake: add WEBP_USE_THREAD option +926ce921 cmake: don't install binaries from extras/ +9c367bc6 WebPAnimDecoderNewInternal: validate bitstream before alloc +47f64f6e filters_sse2: import Chromium change +cc3577e9 fuzzer/*: use src/ based include paths +004d77ff Merge tag 'v1.2.0' +fedac6cc update ChangeLog (tag: v1.2.0-rc3, tag: v1.2.0) 170a8712 Fix check_c_source_compiles with pthread. +ceddb5fc Fix check_c_source_compiles with pthread. 85995719 disable CombinedShannonEntropy_SSE2 on x86 +289757fe TiffDec: enforce stricter mem/dimension limit on tiles 8af7436f Merge "{ios,xcframework}build.sh: make min version(s) more visible" into 1.2.0 e56c3c5b pngdec: raise memory limit if needed +8696147d pngdec: raise memory limit if needed 13b8e9fe {ios,xcframework}build.sh: make min version(s) more visible a9225410 animdecoder_fuzzer: fix memory leak d6c2285d update gradle to 6.1.1 +8df77fb1 animdecoder_fuzzer: fix memory leak 52ce6333 update NEWS 28c49820 bump version to 1.2.0 7363dff2 webp/encode.h: restore WEBP_ENCODER_ABI_VERSION to v1.1.0 From 53b6f76209deab75b6a7165a0c883ab0a73e25ba Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 28 Jul 2021 11:23:45 -0700 Subject: [PATCH 6/8] fix indent after: 277d3074 Fix size_t overflow in WebPRescalerInit Change-Id: I9adf7f01f28ddd54305512762e2ed28713282966 (cherry picked from commit d2caaba435f0e819e5e43b5de678b6b1a266a323) --- src/dec/io_dec.c | 16 ++++++++-------- src/enc/picture_rescale_enc.c | 24 ++++++++++++------------ src/utils/rescaler_utils.h | 10 +++++----- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/dec/io_dec.c b/src/dec/io_dec.c index 6b5cb82f..5ef62988 100644 --- a/src/dec/io_dec.c +++ b/src/dec/io_dec.c @@ -331,13 +331,13 @@ static int InitYUVRescaler(const VP8Io* const io, WebPDecParams* const p) { p->scaler_a = has_alpha ? &scalers[3] : NULL; if (!WebPRescalerInit(p->scaler_y, io->mb_w, io->mb_h, - buf->y, out_width, out_height, buf->y_stride, 1, + buf->y, out_width, out_height, buf->y_stride, 1, work) || !WebPRescalerInit(p->scaler_u, uv_in_width, uv_in_height, - buf->u, uv_out_width, uv_out_height, buf->u_stride, 1, + buf->u, uv_out_width, uv_out_height, buf->u_stride, 1, work + work_size) || !WebPRescalerInit(p->scaler_v, uv_in_width, uv_in_height, - buf->v, uv_out_width, uv_out_height, buf->v_stride, 1, + buf->v, uv_out_width, uv_out_height, buf->v_stride, 1, work + work_size + uv_work_size)) { return 0; } @@ -345,7 +345,7 @@ static int InitYUVRescaler(const VP8Io* const io, WebPDecParams* const p) { if (has_alpha) { if (!WebPRescalerInit(p->scaler_a, io->mb_w, io->mb_h, - buf->a, out_width, out_height, buf->a_stride, 1, + buf->a, out_width, out_height, buf->a_stride, 1, work + work_size + 2 * uv_work_size)) { return 0; } @@ -524,13 +524,13 @@ static int InitRGBRescaler(const VP8Io* const io, WebPDecParams* const p) { p->scaler_a = has_alpha ? &scalers[3] : NULL; if (!WebPRescalerInit(p->scaler_y, io->mb_w, io->mb_h, - tmp + 0 * out_width, out_width, out_height, 0, 1, + tmp + 0 * out_width, out_width, out_height, 0, 1, work + 0 * work_size) || !WebPRescalerInit(p->scaler_u, uv_in_width, uv_in_height, - tmp + 1 * out_width, out_width, out_height, 0, 1, + tmp + 1 * out_width, out_width, out_height, 0, 1, work + 1 * work_size) || !WebPRescalerInit(p->scaler_v, uv_in_width, uv_in_height, - tmp + 2 * out_width, out_width, out_height, 0, 1, + tmp + 2 * out_width, out_width, out_height, 0, 1, work + 2 * work_size)) { return 0; } @@ -539,7 +539,7 @@ static int InitRGBRescaler(const VP8Io* const io, WebPDecParams* const p) { if (has_alpha) { if (!WebPRescalerInit(p->scaler_a, io->mb_w, io->mb_h, - tmp + 3 * out_width, out_width, out_height, 0, 1, + tmp + 3 * out_width, out_width, out_height, 0, 1, work + 3 * work_size)) { return 0; } diff --git a/src/enc/picture_rescale_enc.c b/src/enc/picture_rescale_enc.c index d3278855..a75f5d9c 100644 --- a/src/enc/picture_rescale_enc.c +++ b/src/enc/picture_rescale_enc.c @@ -165,15 +165,15 @@ int WebPPictureCrop(WebPPicture* pic, // Simple picture rescaler static int RescalePlane(const uint8_t* src, - int src_width, int src_height, int src_stride, - uint8_t* dst, - int dst_width, int dst_height, int dst_stride, - rescaler_t* const work, - int num_channels) { + int src_width, int src_height, int src_stride, + uint8_t* dst, + int dst_width, int dst_height, int dst_stride, + rescaler_t* const work, + int num_channels) { WebPRescaler rescaler; int y = 0; if (!WebPRescalerInit(&rescaler, src_width, src_height, - dst, dst_width, dst_height, dst_stride, + dst, dst_width, dst_height, dst_stride, num_channels, work)) { return 0; } @@ -237,12 +237,12 @@ int WebPPictureRescale(WebPPicture* pic, int width, int height) { if (!RescalePlane(pic->y, prev_width, prev_height, pic->y_stride, tmp.y, width, height, tmp.y_stride, work, 1) || !RescalePlane(pic->u, - HALVE(prev_width), HALVE(prev_height), pic->uv_stride, - tmp.u, + HALVE(prev_width), HALVE(prev_height), pic->uv_stride, + tmp.u, HALVE(width), HALVE(height), tmp.uv_stride, work, 1) || !RescalePlane(pic->v, - HALVE(prev_width), HALVE(prev_height), pic->uv_stride, - tmp.v, + HALVE(prev_width), HALVE(prev_height), pic->uv_stride, + tmp.v, HALVE(width), HALVE(height), tmp.uv_stride, work, 1)) { return 0; } @@ -259,8 +259,8 @@ int WebPPictureRescale(WebPPicture* pic, int width, int height) { WebPInitAlphaProcessing(); AlphaMultiplyARGB(pic, 0); if (!RescalePlane((const uint8_t*)pic->argb, prev_width, prev_height, - pic->argb_stride * 4, - (uint8_t*)tmp.argb, width, height, + pic->argb_stride * 4, + (uint8_t*)tmp.argb, width, height, tmp.argb_stride * 4, work, 4)) { return 0; } diff --git a/src/utils/rescaler_utils.h b/src/utils/rescaler_utils.h index 82a607b7..ef201ef8 100644 --- a/src/utils/rescaler_utils.h +++ b/src/utils/rescaler_utils.h @@ -49,11 +49,11 @@ struct WebPRescaler { // Initialize a rescaler given scratch area 'work' and dimensions of src & dst. // Returns false in case of error. int WebPRescalerInit(WebPRescaler* const rescaler, - int src_width, int src_height, - uint8_t* const dst, - int dst_width, int dst_height, int dst_stride, - int num_channels, - rescaler_t* const work); + int src_width, int src_height, + uint8_t* const dst, + int dst_width, int dst_height, int dst_stride, + int num_channels, + rescaler_t* const work); // If either 'scaled_width' or 'scaled_height' (but not both) is 0 the value // will be calculated preserving the aspect ratio, otherwise the values are From d9191588abb7c73163b9536efea053893e48d14a Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 28 Jul 2021 13:32:19 -0700 Subject: [PATCH 7/8] fuzzer/*: normalize src/ includes this uses the format introduced to some files in: cc3577e9 fuzzer/*: use src/ based include paths Change-Id: I9b5cbeadbb9d54d1e89f474a6e479a5eb3175ed7 (cherry picked from commit c5bc36243ab5dc4351fb5de5f7047cf621114143) --- tests/fuzzer/advanced_api_fuzzer.c | 2 +- tests/fuzzer/animation_api_fuzzer.c | 6 +++--- tests/fuzzer/animdecoder_fuzzer.cc | 2 +- tests/fuzzer/mux_demux_api_fuzzer.c | 4 ++-- tests/fuzzer/simple_api_fuzzer.c | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/fuzzer/advanced_api_fuzzer.c b/tests/fuzzer/advanced_api_fuzzer.c index 29b1f259..a5323e4d 100644 --- a/tests/fuzzer/advanced_api_fuzzer.c +++ b/tests/fuzzer/advanced_api_fuzzer.c @@ -17,7 +17,7 @@ #include #include "./fuzz_utils.h" -#include "webp/decode.h" +#include "src/webp/decode.h" int LLVMFuzzerTestOneInput(const uint8_t* const data, size_t size) { int i; diff --git a/tests/fuzzer/animation_api_fuzzer.c b/tests/fuzzer/animation_api_fuzzer.c index 30d60744..187ed24e 100644 --- a/tests/fuzzer/animation_api_fuzzer.c +++ b/tests/fuzzer/animation_api_fuzzer.c @@ -15,9 +15,9 @@ //////////////////////////////////////////////////////////////////////////////// #include "./fuzz_utils.h" -#include "webp/decode.h" -#include "webp/demux.h" -#include "webp/mux_types.h" +#include "src/webp/decode.h" +#include "src/webp/demux.h" +#include "src/webp/mux_types.h" int LLVMFuzzerTestOneInput(const uint8_t* const data, size_t size) { WebPData webp_data; diff --git a/tests/fuzzer/animdecoder_fuzzer.cc b/tests/fuzzer/animdecoder_fuzzer.cc index d9988737..a79712dc 100644 --- a/tests/fuzzer/animdecoder_fuzzer.cc +++ b/tests/fuzzer/animdecoder_fuzzer.cc @@ -16,7 +16,7 @@ #include "examples/anim_util.h" #include "imageio/imageio_util.h" -#include "webp/demux.h" +#include "src/webp/demux.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { // WebPAnimDecoderGetInfo() is too late to check the canvas size as diff --git a/tests/fuzzer/mux_demux_api_fuzzer.c b/tests/fuzzer/mux_demux_api_fuzzer.c index a8f81bf1..4ed01427 100644 --- a/tests/fuzzer/mux_demux_api_fuzzer.c +++ b/tests/fuzzer/mux_demux_api_fuzzer.c @@ -15,8 +15,8 @@ //////////////////////////////////////////////////////////////////////////////// #include "./fuzz_utils.h" -#include "webp/demux.h" -#include "webp/mux.h" +#include "src/webp/demux.h" +#include "src/webp/mux.h" int LLVMFuzzerTestOneInput(const uint8_t* const data, size_t size) { WebPData webp_data; diff --git a/tests/fuzzer/simple_api_fuzzer.c b/tests/fuzzer/simple_api_fuzzer.c index fbc9310b..7d2b7f81 100644 --- a/tests/fuzzer/simple_api_fuzzer.c +++ b/tests/fuzzer/simple_api_fuzzer.c @@ -15,7 +15,7 @@ //////////////////////////////////////////////////////////////////////////////// #include "./fuzz_utils.h" -#include "webp/decode.h" +#include "src/webp/decode.h" int LLVMFuzzerTestOneInput(const uint8_t* const data, size_t size) { int w, h; From 9ce5843dbabcfd3f7c39ec7ceba9cbeb213cbfdf Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 28 Jul 2021 16:00:50 -0700 Subject: [PATCH 8/8] update ChangeLog Change-Id: I12c2b718e99087201a57f7ab7cc4c16374e205f6 --- ChangeLog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index 24cd0e06..6185fb69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +d9191588 fuzzer/*: normalize src/ includes +53b6f762 fix indent +731246ba update ChangeLog (tag: v1.2.1-rc2) d250f01d dsp/*: use WEBP_HAVE_* to determine Init availability 3a4d3ecd update NEWS b2bc8093 bump version to 1.2.1