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) diff --git a/ChangeLog b/ChangeLog index 895ae99d..6185fb69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,109 @@ +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 +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 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: 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;