libwebp-1.2.4

- 8/4/2022: version 1.2.4
   This is a binary compatible release.
   * restore CMake libwebpmux target name for compatibility with 1.2.2 (#575)
   * fix lossless crunch mode encoding with WEBP_REDUCE_SIZE
     (chromium: #1345547, #1345595, #1345772, #1345804)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEaw5rcJdt4wPt8vYB+cPWvbgjK10FAmLtz8MACgkQ+cPWvbgj
 K10v/A//R+sAs759jvKryQGJYDweXMKqbHbWWdkNbluX4FoitQH44Wy+YPecMrr2
 En3vSJWM50Bb8UvscvO+FoCI3x6DhgniEC7VbRnx43sSHioyd1K6XYBp+Q8Ksj6n
 qpdslDsjzpwj4uAKrDnTmdBr9CdSK8qxlXvgskqtWBwRnlePetRWXFSWO3ke7JKa
 d+SeLxboGgsZ+zjoWSqK+f7LCOEPGEkJk/JP3xOwn9K+FusLP2YMDhVw5Q78rWfh
 qNCamsM0SUFN9hfHp0/0FQvHO0B+c8BtB/hh5hjctZt7j5O+fQC+KAmiStnB2B3f
 CVjilU3ajnVH2VD4SYcsfHCVEV8hM+fHHjTgvnHh7jtz3wlokfcidMW9F1JujLZu
 M4FnD6XbJXERfitKx9lEzJ1h9RbChvrl84waU8Tkx/GboNIvHUQF5kROlOjXz3BL
 t+nkuNywxcb5RPph17OhYXT9MqPwGVHctrVG5DaAn+QjSKcxa65k03CFtZclD4Xm
 V8ozMwtKXiRZBqJRPwg7iYvnUOHixS3p+6p3OsUyjKelJEOLFfo1Z1vv7JvnXsmo
 xpvyetWnfWCnzzdMglahCVDu3ENVrjmNGV5g4wMTgDCcF0g/++M+7Yv/NfHNz0DX
 Y0uppjsXYUwNaq8Q3GpveQcpeZNrGpHRZQ88PsZkLxoNDn+hWHo=
 =BQmU
 -----END PGP SIGNATURE-----

Merge tag 'v1.2.4'

libwebp-1.2.4

- 8/4/2022: version 1.2.4
  This is a binary compatible release.
  * restore CMake libwebpmux target name for compatibility with 1.2.2 (#575)
  * fix lossless crunch mode encoding with WEBP_REDUCE_SIZE
    (chromium: #1345547, #1345595, #1345772, #1345804)

* tag 'v1.2.4':
  update ChangeLog
  update NEWS
  bump version to 1.2.4
  lossless: fix crunch mode w/WEBP_REDUCE_SIZE
  CMakeLists.txt: correct libwebpmux name in WebPConfig.cmake
  Revert "cmake: fix webpmux lib name for cmake linking"

Bug: webp:579
Change-Id: I7e1aa268d1ea9c1f3b38334cff2681e177bbdf36
This commit is contained in:
James Zern 2022-08-08 15:47:16 -07:00
commit 866e349cef
17 changed files with 56 additions and 41 deletions

View File

@ -543,18 +543,19 @@ endif()
if(WEBP_BUILD_LIBWEBPMUX) if(WEBP_BUILD_LIBWEBPMUX)
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "")
add_library(webpmux ${WEBP_MUX_SRCS}) add_library(libwebpmux ${WEBP_MUX_SRCS})
target_link_libraries(webpmux webp) target_link_libraries(libwebpmux webp)
target_include_directories(webpmux target_include_directories(libwebpmux
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}) ${CMAKE_CURRENT_SOURCE_DIR})
set_version(src/mux/Makefile.am webpmux webpmux) set_version(src/mux/Makefile.am libwebpmux webpmux)
set_target_properties(webpmux set_target_properties(libwebpmux
PROPERTIES PUBLIC_HEADER PROPERTIES PUBLIC_HEADER
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;") ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;")
list(APPEND INSTALLED_LIBRARIES webpmux) set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux)
list(APPEND INSTALLED_LIBRARIES libwebpmux)
configure_pkg_config("src/mux/libwebpmux.pc") configure_pkg_config("src/mux/libwebpmux.pc")
endif() endif()
@ -568,7 +569,7 @@ if(WEBP_BUILD_GIF2WEBP)
exampleutil exampleutil
imageioutil imageioutil
webp webp
webpmux libwebpmux
${WEBP_DEP_GIF_LIBRARIES}) ${WEBP_DEP_GIF_LIBRARIES})
target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
@ -585,7 +586,7 @@ if(WEBP_BUILD_IMG2WEBP)
imagedec imagedec
imageioutil imageioutil
webp webp
webpmux) libwebpmux)
target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif() endif()
@ -635,12 +636,10 @@ if(WEBP_BUILD_WEBPMUX)
# webpmux # webpmux
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "WEBPMUX_SRCS" parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "WEBPMUX_SRCS"
"webpmux") "webpmux")
add_executable(webpmux_app ${WEBPMUX_SRCS}) add_executable(webpmux ${WEBPMUX_SRCS})
set_target_properties(webpmux_app PROPERTIES OUTPUT_NAME webpmux) target_link_libraries(webpmux exampleutil imageioutil libwebpmux webp)
target_link_libraries(webpmux_app exampleutil imageioutil webpmux webp) target_include_directories(webpmux PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
target_include_directories(webpmux_app install(TARGETS webpmux RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
install(TARGETS webpmux_app RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif() endif()
if(WEBP_BUILD_EXTRAS) if(WEBP_BUILD_EXTRAS)
@ -772,6 +771,10 @@ write_basic_package_version_file(
# Create the Config file. # Create the Config file.
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
# Fix libwebpmux reference. The target name libwebpmux is used for
# compatibility purposes, but the library mentioned in WebPConfig.cmake should
# be the unprefixed version.
list(TRANSFORM INSTALLED_LIBRARIES REPLACE "libwebpmux" "webpmux")
configure_package_config_file( configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/WebPConfig.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/cmake/WebPConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake

View File

@ -1,3 +1,9 @@
980d2488 update NEWS
9fde8127 bump version to 1.2.4
e626925c lossless: fix crunch mode w/WEBP_REDUCE_SIZE
bfad7ab5 CMakeLists.txt: correct libwebpmux name in WebPConfig.cmake
c2e3fd30 Revert "cmake: fix webpmux lib name for cmake linking"
3c4a0fbf update ChangeLog (tag: v1.2.3)
56a480e8 dsp/cpu.h: add missing extern "C" 56a480e8 dsp/cpu.h: add missing extern "C"
62b45bdd update ChangeLog (tag: v1.2.3-rc1) 62b45bdd update ChangeLog (tag: v1.2.3-rc1)
8764ec7a Merge changes Idb037953,Id582e395 into 1.2.3 8764ec7a Merge changes Idb037953,Id582e395 into 1.2.3

6
NEWS
View File

@ -1,3 +1,9 @@
- 8/4/2022: version 1.2.4
This is a binary compatible release.
* restore CMake libwebpmux target name for compatibility with 1.2.2 (#575)
* fix lossless crunch mode encoding with WEBP_REDUCE_SIZE
(chromium: #1345547, #1345595, #1345772, #1345804)
- 6/30/2022: version 1.2.3 - 6/30/2022: version 1.2.3
This is a binary compatible release. This is a binary compatible release.
* security fix for lossless encoder (#565, chromium:1313709) * security fix for lossless encoder (#565, chromium:1313709)

View File

@ -7,7 +7,7 @@
\__\__/\____/\_____/__/ ____ ___ \__\__/\____/\_____/__/ ____ ___
/ _/ / \ \ / _ \/ _/ / _/ / \ \ / _ \/ _/
/ \_/ / / \ \ __/ \__ / \_/ / / \ \ __/ \__
\____/____/\_____/_____/____/v1.2.3 \____/____/\_____/_____/____/v1.2.4
``` ```
WebP codec is a library to encode and decode images in WebP format. This package WebP codec is a library to encode and decode images in WebP format. This package

View File

@ -1,4 +1,4 @@
AC_INIT([libwebp], [1.2.3], AC_INIT([libwebp], [1.2.4],
[https://bugs.chromium.org/p/webp],, [https://bugs.chromium.org/p/webp],,
[https://developers.google.com/speed/webp]) [https://developers.google.com/speed/webp])
AC_CANONICAL_HOST AC_CANONICAL_HOST

View File

@ -19,7 +19,7 @@
#define XTRA_MAJ_VERSION 1 #define XTRA_MAJ_VERSION 1
#define XTRA_MIN_VERSION 2 #define XTRA_MIN_VERSION 2
#define XTRA_REV_VERSION 3 #define XTRA_REV_VERSION 4
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@ -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 # 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 # not have unresolved symbols. Some platforms (Windows among them) require all
# symbols in shared libraries to be resolved at library creation. # symbols in shared libraries to be resolved at library creation.
libwebp_la_LDFLAGS = -no-undefined -version-info 8:4:1 libwebp_la_LDFLAGS = -no-undefined -version-info 8:5:1
libwebpincludedir = $(includedir)/webp libwebpincludedir = $(includedir)/webp
pkgconfig_DATA = libwebp.pc pkgconfig_DATA = libwebp.pc
@ -48,7 +48,7 @@ if BUILD_LIBWEBPDECODER
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la
libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la
libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:4:1 libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:5:1
pkgconfig_DATA += libwebpdecoder.pc pkgconfig_DATA += libwebpdecoder.pc
endif endif

View File

@ -32,7 +32,7 @@ extern "C" {
// version numbers // version numbers
#define DEC_MAJ_VERSION 1 #define DEC_MAJ_VERSION 1
#define DEC_MIN_VERSION 2 #define DEC_MIN_VERSION 2
#define DEC_REV_VERSION 3 #define DEC_REV_VERSION 4
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline). // YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
// Constraints are: We need to store one 16x16 block of luma samples (y), // Constraints are: We need to store one 16x16 block of luma samples (y),

View File

@ -13,6 +13,6 @@ noinst_HEADERS =
noinst_HEADERS += ../webp/format_constants.h noinst_HEADERS += ../webp/format_constants.h
libwebpdemux_la_LIBADD = ../libwebp.la libwebpdemux_la_LIBADD = ../libwebp.la
libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:10:0 libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:11:0
libwebpdemuxincludedir = $(includedir)/webp libwebpdemuxincludedir = $(includedir)/webp
pkgconfig_DATA = libwebpdemux.pc pkgconfig_DATA = libwebpdemux.pc

View File

@ -25,7 +25,7 @@
#define DMUX_MAJ_VERSION 1 #define DMUX_MAJ_VERSION 1
#define DMUX_MIN_VERSION 2 #define DMUX_MIN_VERSION 2
#define DMUX_REV_VERSION 3 #define DMUX_REV_VERSION 4
typedef struct { typedef struct {
size_t start_; // start location of the data size_t start_; // start location of the data

View File

@ -6,8 +6,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,2,3 FILEVERSION 1,0,2,4
PRODUCTVERSION 1,0,2,3 PRODUCTVERSION 1,0,2,4
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -24,12 +24,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Google, Inc." VALUE "CompanyName", "Google, Inc."
VALUE "FileDescription", "libwebpdemux DLL" VALUE "FileDescription", "libwebpdemux DLL"
VALUE "FileVersion", "1.2.3" VALUE "FileVersion", "1.2.4"
VALUE "InternalName", "libwebpdemux.dll" VALUE "InternalName", "libwebpdemux.dll"
VALUE "LegalCopyright", "Copyright (C) 2022" VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "libwebpdemux.dll" VALUE "OriginalFilename", "libwebpdemux.dll"
VALUE "ProductName", "WebP Image Demuxer" VALUE "ProductName", "WebP Image Demuxer"
VALUE "ProductVersion", "1.2.3" VALUE "ProductVersion", "1.2.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -32,7 +32,7 @@ extern "C" {
// version numbers // version numbers
#define ENC_MAJ_VERSION 1 #define ENC_MAJ_VERSION 1
#define ENC_MIN_VERSION 2 #define ENC_MIN_VERSION 2
#define ENC_REV_VERSION 3 #define ENC_REV_VERSION 4
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost

View File

@ -6,8 +6,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,2,3 FILEVERSION 1,0,2,4
PRODUCTVERSION 1,0,2,3 PRODUCTVERSION 1,0,2,4
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -24,12 +24,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Google, Inc." VALUE "CompanyName", "Google, Inc."
VALUE "FileDescription", "libwebp DLL" VALUE "FileDescription", "libwebp DLL"
VALUE "FileVersion", "1.2.3" VALUE "FileVersion", "1.2.4"
VALUE "InternalName", "libwebp.dll" VALUE "InternalName", "libwebp.dll"
VALUE "LegalCopyright", "Copyright (C) 2022" VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "libwebp.dll" VALUE "OriginalFilename", "libwebp.dll"
VALUE "ProductName", "WebP Image Codec" VALUE "ProductName", "WebP Image Codec"
VALUE "ProductVersion", "1.2.3" VALUE "ProductVersion", "1.2.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -6,8 +6,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,2,3 FILEVERSION 1,0,2,4
PRODUCTVERSION 1,0,2,3 PRODUCTVERSION 1,0,2,4
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -24,12 +24,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Google, Inc." VALUE "CompanyName", "Google, Inc."
VALUE "FileDescription", "libwebpdecoder DLL" VALUE "FileDescription", "libwebpdecoder DLL"
VALUE "FileVersion", "1.2.3" VALUE "FileVersion", "1.2.4"
VALUE "InternalName", "libwebpdecoder.dll" VALUE "InternalName", "libwebpdecoder.dll"
VALUE "LegalCopyright", "Copyright (C) 2022" VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "libwebpdecoder.dll" VALUE "OriginalFilename", "libwebpdecoder.dll"
VALUE "ProductName", "WebP Image Decoder" VALUE "ProductName", "WebP Image Decoder"
VALUE "ProductVersion", "1.2.3" VALUE "ProductVersion", "1.2.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -17,6 +17,6 @@ noinst_HEADERS =
noinst_HEADERS += ../webp/format_constants.h noinst_HEADERS += ../webp/format_constants.h
libwebpmux_la_LIBADD = ../libwebp.la libwebpmux_la_LIBADD = ../libwebp.la
libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:9:0 -lm libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:10:0 -lm
libwebpmuxincludedir = $(includedir)/webp libwebpmuxincludedir = $(includedir)/webp
pkgconfig_DATA = libwebpmux.pc pkgconfig_DATA = libwebpmux.pc

View File

@ -6,8 +6,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,2,3 FILEVERSION 1,0,2,4
PRODUCTVERSION 1,0,2,3 PRODUCTVERSION 1,0,2,4
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -24,12 +24,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Google, Inc." VALUE "CompanyName", "Google, Inc."
VALUE "FileDescription", "libwebpmux DLL" VALUE "FileDescription", "libwebpmux DLL"
VALUE "FileVersion", "1.2.3" VALUE "FileVersion", "1.2.4"
VALUE "InternalName", "libwebpmux.dll" VALUE "InternalName", "libwebpmux.dll"
VALUE "LegalCopyright", "Copyright (C) 2022" VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "libwebpmux.dll" VALUE "OriginalFilename", "libwebpmux.dll"
VALUE "ProductName", "WebP Image Muxer" VALUE "ProductName", "WebP Image Muxer"
VALUE "ProductVersion", "1.2.3" VALUE "ProductVersion", "1.2.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -29,7 +29,7 @@ extern "C" {
#define MUX_MAJ_VERSION 1 #define MUX_MAJ_VERSION 1
#define MUX_MIN_VERSION 2 #define MUX_MIN_VERSION 2
#define MUX_REV_VERSION 3 #define MUX_REV_VERSION 4
// Chunk object. // Chunk object.
typedef struct WebPChunk WebPChunk; typedef struct WebPChunk WebPChunk;