First, BuildHuffmanTable is called to check if the data is valid.
If it is and the table is not big enough, more memory is allocated.
This will make sure that valid (but unoptimized because of unbalanced
codes) streams are still decodable.
Bug: chromium:1479274
Change-Id: I31c36dbf3aa78d35ecf38706b50464fd3d375741
(cherry picked from commit 902bc91903)
(cherry picked from commit 2af26267cd)
WEBP_REDUCE_SIZE was introduced to bring down the library size by
removing cropping and scaling support. Previously WebPPictureView() was
only used with these two, but in
ec178f2c Add progress hook granularity in lossless
an additional use was added in VP8LEncodeStream() when extra side
configurations are used in crunch mode (-mt, quality == 100 & method ==
6 or quality >= 75 & method == 5 with a palette present currently).
WebPPictureView() and, for coherency, WebPPictureIsView() are
restored in this configuration to avoid affecting the general encode
path.
Previously WebPPictureView() was assumed to always succeed in these
cases which could result in crashes with WEBP_REDUCE_SIZE defined.
Bug: chromium:1345547
Bug: chromium:1345595
Bug: chromium:1345772
Bug: chromium:1345804
Change-Id: Ifecde36a726a434510478a764514b1469942c684
- 6/30/2022: version 1.2.3
This is a binary compatible release.
* security fix for lossless encoder (#565, chromium:1313709)
* improved progress granularity in WebPReportProgress() when using lossless
* improved precision in Sharp YUV (-sharp_yuv) conversion
* many corrections to webp-lossless-bitstream-spec.txt (#551)
* crash/leak fixes on error/OOM and other bug fixes (#558, #563, #569, #573)
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEaw5rcJdt4wPt8vYB+cPWvbgjK10FAmLR6rYACgkQ+cPWvbgj
K13mwhAAmEqUPCxACgh1M7Tc6BfSkO0Q8FtUzm23/bYndf+t4+n3Oezxm7k5sldR
OQUJfb9/pe+IegSpJHAOSL5ddTpQlSZfzj6glEHVkd346Ek+ZKzqLCZbWsTKO7xA
xzv6BXLt49sA1jp62GWi5YyRZ4kQumjXKBxCCwGiaNEI8jd4D9Oduz8jzmRetGHS
SPleaow7IlxMVgER6jnQZt+nyYGH7UMWI0CWLICRzefHqz+jzwm3GY+brWOPJBbx
8zZGNmiDzxSOcD7Ce8C13+7EYuLw0GAN6seHa/Lk+y8+w3Eh5tyCp8Z4vHVN32Iv
2mqXyOo9jgJudZPyMFEduFMUwMo2VmPwnVmQ+5REjfB5dpiFdngHUOoL6MFMNYN/
+SIPy25mcVJFCYtXQ41FybwG6JfGiba8V6kC3dUedXRodBY/zv5Qw5kjjMe0qzlw
ey6WO8L5i5LeiGvCJH1mq22JM1UWquNWb1icMsjCbp77QZCDLUH4MYQxJLOgUvoV
GsX/q8X9kRKPQ3nbwoFGPUAkWd9kGfOd+awef1NENstT6L9eLGYNBmr/p70aYsYh
G3XcRx/N68oV1zY+/2W//xL/09F/XzGaDIue0pSaXZFuCTcX7h2sKxHT8hodH+zh
X1y6EY3ezR7ayi1rhfyc+vIw3oqDnX8+mat1xze73AAL5dERBeM=
=dAgB
-----END PGP SIGNATURE-----
Merge tag 'v1.2.3'
libwebp-1.2.3
- 6/30/2022: version 1.2.3
This is a binary compatible release.
* security fix for lossless encoder (#565, chromium:1313709)
* improved progress granularity in WebPReportProgress() when using lossless
* improved precision in Sharp YUV (-sharp_yuv) conversion
* many corrections to webp-lossless-bitstream-spec.txt (#551)
* crash/leak fixes on error/OOM and other bug fixes (#558, #563, #569, #573)
Bug: webp:568
Bug: b/230421671
* tag 'v1.2.3':
update ChangeLog
dsp/cpu.h: add missing extern "C"
update ChangeLog
vwebp: fix file name display in windows unicode build
webpmux: fix -frame option in windows unicode build
makefile.unix: add sharpyuv objects to clean target
update NEWS
bump version to 1.2.3
update AUTHORS
update .mailmap
Change-Id: I148041862bc930472e849d278471aa17ea12258b
This fixes incorrect character display in the file name
in e.g., stats output from cwebp.exe in visual studio builds.
In mingw further changes will be needed as using %s in wfprintf() for
wchar_t pointers is a Microsoft extension that doesn't seem to be
supported with gcc -fms-extensions. %ls works, but will require updating
format strings and wrapping concatenations with TO_W_CHAR() as visual
studio will reject merging string constants of different width.
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setmode
Change-Id: I57d24c3815f7b5aa3971ac315c65c4458258d706
when building for windows with _UNICODE defined
unicode_gif.h|49 col 3| warning: ISO C90 forbids mixed declarations and
code [-Wdeclaration-after-statement]
Change-Id: Ib9f0cc0eba036d6cd4221a4f70a078770dde01d0
... since no guarantee of Huffman coding can be introduced at decoding
time and encoding didn't actually use Huffman coding in the first place
Bug: webp:551
Change-Id: I400466bb3b4a1d5506353eb3f287d658603164ee
This way, only functions marked with WEBP_EXTERN get exposed by the library.
This flag is already set in other build configs: configure.ac, makefile.unix,
Android.mk
Change-Id: Iafd8f160e539290e7ea46ceec764a090c6e626a9
and use it to suppress a false positive related to data that passes
through RGBA32PackedToPlanar_16b_SSE41(). Current versions (tested with
clang 13.0.1, using -O0 and the build from oss-fuzz of enc_dec_fuzzer)
model shuffles incorrectly reporting use of uninitialized
data related to the alpha change that's removed when converting to YUV.
valgrind behaves correctly, however.
Bug: webp:573
Change-Id: If76997668dcdd436adf280a2e6dcffba766a2875
libwebp still has a size threshold of 4 pixels in picture_csp_enc.c
but the sharpyuv library itself can handle any image size.
Change-Id: Ic1c78c8f8fae528395fa46a74f717f47cb13098e
* changes:
CMake: add src to webpinfo includes
CMake: add WEBP_BUILD_WEBPINFO to list of checks for exampleutil
CMake: add WEBP_BUILD_WEBPMUX to list of checks for exampleutil
CMake: link imageioutil to exampleutil after defined
WEBP_DEP_LIBRARIES: use Threads::Threads
quiets a warning under visual studio:
src\enc\picture_enc.c(48) : warning C4028: formal parameter 1 different
from declaration
Change-Id: Ic3affbbb0e22ac8c43fa183e13506eee72e180dc
- Remove SHALF constant so that we get back the original value when
calling UpScale then downscale with rounding
- Make the linear->gamma precomputed table bigger (8 bits rather than 5)
- Round values in kLinearToGammaTabS
Change-Id: Ic9634d32cf93de321d2f6e9e4cad7f156d8d07df
- pic->picture in public header
- match implementation to declaration in PictureImport, WebPPictureRescale, WebpBlendAlpha
Change-Id: Ibf3771af22d671bba6fd657684add618c6f32978
for recent changes to color transform, simple code length code, image
structure and details of decoding prefix codes
Bug: webp:551
Change-Id: I36a4d1ee3e25b8a56f5d926f4770374ace99bc2f