Update bundled libpng to version 1.6.44
[ChangeLog][Third-Party Code] libpng was updated to version 1.6.44 Pick-to: 6.8.0 6.7 6.7.3 6.5 6.2 5.15 Change-Id: Ib208635687645101cd2d7fb4e5bf069088c24f86 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 685a6c2e3d8e3b970640d7e31945272a6803ae61) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
4f30a4426c
commit
c36b24b087
59
src/3rdparty/libpng/ANNOUNCE
vendored
59
src/3rdparty/libpng/ANNOUNCE
vendored
@ -1,5 +1,5 @@
|
|||||||
libpng 1.6.43 - February 23, 2024
|
libpng 1.6.44 - September 12, 2024
|
||||||
=================================
|
==================================
|
||||||
|
|
||||||
This is a public release of libpng, intended for use in production code.
|
This is a public release of libpng, intended for use in production code.
|
||||||
|
|
||||||
@ -9,13 +9,13 @@ Files available for download
|
|||||||
|
|
||||||
Source files with LF line endings (for Unix/Linux):
|
Source files with LF line endings (for Unix/Linux):
|
||||||
|
|
||||||
* libpng-1.6.43.tar.xz (LZMA-compressed, recommended)
|
* libpng-1.6.44.tar.xz (LZMA-compressed, recommended)
|
||||||
* libpng-1.6.43.tar.gz (deflate-compressed)
|
* libpng-1.6.44.tar.gz (deflate-compressed)
|
||||||
|
|
||||||
Source files with CRLF line endings (for Windows):
|
Source files with CRLF line endings (for Windows):
|
||||||
|
|
||||||
* lpng1643.7z (LZMA-compressed, recommended)
|
* lpng1644.7z (LZMA-compressed, recommended)
|
||||||
* lpng1643.zip (deflate-compressed)
|
* lpng1644.zip (deflate-compressed)
|
||||||
|
|
||||||
Other information:
|
Other information:
|
||||||
|
|
||||||
@ -25,36 +25,29 @@ Other information:
|
|||||||
* TRADEMARK.md
|
* TRADEMARK.md
|
||||||
|
|
||||||
|
|
||||||
Changes from version 1.6.42 to version 1.6.43
|
Changes from version 1.6.43 to version 1.6.44
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
|
||||||
* Fixed the row width check in png_check_IHDR().
|
* Hardened calculations in chroma handling to prevent overflows, and
|
||||||
This corrected a bug that was specific to the 16-bit platforms,
|
relaxed a constraint in cHRM validation to accomodate the standard
|
||||||
and removed a spurious compiler warning from the 64-bit builds.
|
ACES AP1 set of color primaries.
|
||||||
(Reported by Jacek Caban; fixed by John Bowler)
|
|
||||||
* Added eXIf chunk support to the push-mode reader in pngpread.c.
|
|
||||||
(Contributed by Chris Blume)
|
|
||||||
* Added contrib/pngexif for the benefit of the users who would like
|
|
||||||
to inspect the content of eXIf chunks.
|
|
||||||
* Added contrib/conftest/basic.dfa, a basic build-time configuration.
|
|
||||||
(Contributed by John Bowler)
|
(Contributed by John Bowler)
|
||||||
* Fixed a preprocessor condition in pngread.c that broke build-time
|
* Removed the ASM implementation of ARM Neon optimizations and updated
|
||||||
configurations like contrib/conftest/pngcp.dfa.
|
the build accordingly. Only the remaining C implementation shall be
|
||||||
(Contributed by John Bowler)
|
used from now on, thus ensuring the support of the PAC/BTI security
|
||||||
* Added CMake build support for LoongArch LSX.
|
features on ARM64.
|
||||||
(Contributed by GuXiWei)
|
(Contributed by Ross Burton and John Bowler)
|
||||||
* Fixed a CMake build error that occurred under a peculiar state of the
|
* Fixed the pickup of the PNG_HARDWARE_OPTIMIZATIONS option in the
|
||||||
dependency tree. This was a regression introduced in libpng-1.6.41.
|
CMake build on FreeBSD/amd64. This is an important performance fix
|
||||||
(Contributed by Dan Rosser)
|
on this platform.
|
||||||
* Marked the installed libpng headers as system headers in CMake.
|
* Applied various fixes and improvements to the CMake build.
|
||||||
(Contributed by Benjamin Buch)
|
(Contributed by Eric Riff, Benjamin Buch and Erik Scholz)
|
||||||
* Updated the build support for RISCOS.
|
* Added fuzzing targets for the simplified read API.
|
||||||
(Contributed by Cameron Cawley)
|
(Contributed by Mikhail Khachayants)
|
||||||
* Updated the makefiles to allow cross-platform builds to initialize
|
* Fixed a build error involving pngtest.c under a custom config.
|
||||||
conventional make variables like AR and ARFLAGS.
|
This was a regression introduced in a code cleanup in libpng-1.6.43.
|
||||||
* Added various improvements to the CI scripts in areas like version
|
(Contributed by Ben Wagner)
|
||||||
consistency verification and text linting.
|
* Fixed and improved the config files for AppVeyor CI and Travis CI.
|
||||||
* Added version consistency verification to pngtest.c also.
|
|
||||||
|
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
|
||||||
|
22
src/3rdparty/libpng/CHANGES
vendored
22
src/3rdparty/libpng/CHANGES
vendored
@ -6196,6 +6196,28 @@ Version 1.6.43 [February 23, 2024]
|
|||||||
consistency verification and text linting.
|
consistency verification and text linting.
|
||||||
Added version consistency verification to pngtest.c also.
|
Added version consistency verification to pngtest.c also.
|
||||||
|
|
||||||
|
Version 1.6.44 [September 12, 2024]
|
||||||
|
Hardened calculations in chroma handling to prevent overflows, and
|
||||||
|
relaxed a constraint in cHRM validation to accomodate the standard
|
||||||
|
ACES AP1 set of color primaries.
|
||||||
|
(Contributed by John Bowler)
|
||||||
|
Removed the ASM implementation of ARM Neon optimizations and updated
|
||||||
|
the build accordingly. Only the remaining C implementation shall be
|
||||||
|
used from now on, thus ensuring the support of the PAC/BTI security
|
||||||
|
features on ARM64.
|
||||||
|
(Contributed by Ross Burton and John Bowler)
|
||||||
|
Fixed the pickup of the PNG_HARDWARE_OPTIMIZATIONS option in the
|
||||||
|
CMake build on FreeBSD/amd64. This is an important performance fix
|
||||||
|
on this platform.
|
||||||
|
Applied various fixes and improvements to the CMake build.
|
||||||
|
(Contributed by Eric Riff, Benjamin Buch and Erik Scholz)
|
||||||
|
Added fuzzing targets for the simplified read API.
|
||||||
|
(Contributed by Mikhail Khachayants)
|
||||||
|
Fixed a build error involving pngtest.c under a custom config.
|
||||||
|
This was a regression introduced in a code cleanup in libpng-1.6.43.
|
||||||
|
(Contributed by Ben Wagner)
|
||||||
|
Fixed and improved the config files for AppVeyor CI and Travis CI.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
|
||||||
Subscription is required; visit
|
Subscription is required; visit
|
||||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||||
|
2
src/3rdparty/libpng/README
vendored
2
src/3rdparty/libpng/README
vendored
@ -1,4 +1,4 @@
|
|||||||
README for libpng version 1.6.43
|
README for libpng version 1.6.44
|
||||||
================================
|
================================
|
||||||
|
|
||||||
See the note about version numbers near the top of `png.h`.
|
See the note about version numbers near the top of `png.h`.
|
||||||
|
2
src/3rdparty/libpng/libpng-manual.txt
vendored
2
src/3rdparty/libpng/libpng-manual.txt
vendored
@ -9,7 +9,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng version 1.6.36, December 2018, through 1.6.43 - February 2024
|
libpng version 1.6.36, December 2018, through 1.6.44 - September 2024
|
||||||
Updated and distributed by Cosmin Truta
|
Updated and distributed by Cosmin Truta
|
||||||
Copyright (c) 2018-2024 Cosmin Truta
|
Copyright (c) 2018-2024 Cosmin Truta
|
||||||
|
|
||||||
|
101
src/3rdparty/libpng/png.c
vendored
101
src/3rdparty/libpng/png.c
vendored
@ -14,7 +14,7 @@
|
|||||||
#include "pngpriv.h"
|
#include "pngpriv.h"
|
||||||
|
|
||||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||||
typedef png_libpng_version_1_6_43 Your_png_h_is_not_version_1_6_43;
|
typedef png_libpng_version_1_6_44 Your_png_h_is_not_version_1_6_44;
|
||||||
|
|
||||||
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
||||||
* of the PNG file signature. If the PNG data is embedded into another
|
* of the PNG file signature. If the PNG data is embedded into another
|
||||||
@ -794,7 +794,7 @@ png_get_copyright(png_const_structrp png_ptr)
|
|||||||
return PNG_STRING_COPYRIGHT
|
return PNG_STRING_COPYRIGHT
|
||||||
#else
|
#else
|
||||||
return PNG_STRING_NEWLINE \
|
return PNG_STRING_NEWLINE \
|
||||||
"libpng version 1.6.43" PNG_STRING_NEWLINE \
|
"libpng version 1.6.44" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 2018-2024 Cosmin Truta" PNG_STRING_NEWLINE \
|
"Copyright (c) 2018-2024 Cosmin Truta" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
|
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
|
||||||
PNG_STRING_NEWLINE \
|
PNG_STRING_NEWLINE \
|
||||||
@ -1203,6 +1203,24 @@ png_colorspace_sync(png_const_structrp png_ptr, png_inforp info_ptr)
|
|||||||
#endif /* GAMMA */
|
#endif /* GAMMA */
|
||||||
|
|
||||||
#ifdef PNG_COLORSPACE_SUPPORTED
|
#ifdef PNG_COLORSPACE_SUPPORTED
|
||||||
|
static int
|
||||||
|
png_safe_add(png_int_32 *addend0_and_result, png_int_32 addend1,
|
||||||
|
png_int_32 addend2) {
|
||||||
|
/* Safely add three integers. Returns 0 on success, 1 on overlow.
|
||||||
|
* IMPLEMENTATION NOTE: ANSI requires signed overflow not to occur, therefore
|
||||||
|
* relying on addition of two positive values producing a negative one is not
|
||||||
|
* safe.
|
||||||
|
*/
|
||||||
|
int addend0 = *addend0_and_result;
|
||||||
|
if (0x7fffffff - addend0 < addend1)
|
||||||
|
return 1;
|
||||||
|
addend0 += addend1;
|
||||||
|
if (0x7fffffff - addend1 < addend2)
|
||||||
|
return 1;
|
||||||
|
*addend0_and_result = addend0 + addend2;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Added at libpng-1.5.5 to support read and write of true CIEXYZ values for
|
/* Added at libpng-1.5.5 to support read and write of true CIEXYZ values for
|
||||||
* cHRM, as opposed to using chromaticities. These internal APIs return
|
* cHRM, as opposed to using chromaticities. These internal APIs return
|
||||||
* non-zero on a parameter error. The X, Y and Z values are required to be
|
* non-zero on a parameter error. The X, Y and Z values are required to be
|
||||||
@ -1211,38 +1229,52 @@ png_colorspace_sync(png_const_structrp png_ptr, png_inforp info_ptr)
|
|||||||
static int
|
static int
|
||||||
png_xy_from_XYZ(png_xy *xy, const png_XYZ *XYZ)
|
png_xy_from_XYZ(png_xy *xy, const png_XYZ *XYZ)
|
||||||
{
|
{
|
||||||
png_int_32 d, dwhite, whiteX, whiteY;
|
png_int_32 d, dred, dgreen, dwhite, whiteX, whiteY;
|
||||||
|
|
||||||
d = XYZ->red_X + XYZ->red_Y + XYZ->red_Z;
|
/* 'd' in each of the blocks below is just X+Y+Z for each component,
|
||||||
|
* x, y and z are X,Y,Z/(X+Y+Z).
|
||||||
|
*/
|
||||||
|
d = XYZ->red_X;
|
||||||
|
if (png_safe_add(&d, XYZ->red_Y, XYZ->red_Z))
|
||||||
|
return 1;
|
||||||
if (png_muldiv(&xy->redx, XYZ->red_X, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->redx, XYZ->red_X, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (png_muldiv(&xy->redy, XYZ->red_Y, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->redy, XYZ->red_Y, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
dwhite = d;
|
dred = d;
|
||||||
whiteX = XYZ->red_X;
|
whiteX = XYZ->red_X;
|
||||||
whiteY = XYZ->red_Y;
|
whiteY = XYZ->red_Y;
|
||||||
|
|
||||||
d = XYZ->green_X + XYZ->green_Y + XYZ->green_Z;
|
d = XYZ->green_X;
|
||||||
|
if (png_safe_add(&d, XYZ->green_Y, XYZ->green_Z))
|
||||||
|
return 1;
|
||||||
if (png_muldiv(&xy->greenx, XYZ->green_X, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->greenx, XYZ->green_X, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (png_muldiv(&xy->greeny, XYZ->green_Y, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->greeny, XYZ->green_Y, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
dwhite += d;
|
dgreen = d;
|
||||||
whiteX += XYZ->green_X;
|
whiteX += XYZ->green_X;
|
||||||
whiteY += XYZ->green_Y;
|
whiteY += XYZ->green_Y;
|
||||||
|
|
||||||
d = XYZ->blue_X + XYZ->blue_Y + XYZ->blue_Z;
|
d = XYZ->blue_X;
|
||||||
|
if (png_safe_add(&d, XYZ->blue_Y, XYZ->blue_Z))
|
||||||
|
return 1;
|
||||||
if (png_muldiv(&xy->bluex, XYZ->blue_X, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->bluex, XYZ->blue_X, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (png_muldiv(&xy->bluey, XYZ->blue_Y, PNG_FP_1, d) == 0)
|
if (png_muldiv(&xy->bluey, XYZ->blue_Y, PNG_FP_1, d) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
dwhite += d;
|
|
||||||
whiteX += XYZ->blue_X;
|
whiteX += XYZ->blue_X;
|
||||||
whiteY += XYZ->blue_Y;
|
whiteY += XYZ->blue_Y;
|
||||||
|
|
||||||
/* The reference white is simply the sum of the end-point (X,Y,Z) vectors,
|
/* The reference white is simply the sum of the end-point (X,Y,Z) vectors so
|
||||||
* thus:
|
* the fillowing calculates (X+Y+Z) of the reference white (media white,
|
||||||
|
* encoding white) itself:
|
||||||
*/
|
*/
|
||||||
|
if (png_safe_add(&d, dred, dgreen))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
dwhite = d;
|
||||||
|
|
||||||
if (png_muldiv(&xy->whitex, whiteX, PNG_FP_1, dwhite) == 0)
|
if (png_muldiv(&xy->whitex, whiteX, PNG_FP_1, dwhite) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (png_muldiv(&xy->whitey, whiteY, PNG_FP_1, dwhite) == 0)
|
if (png_muldiv(&xy->whitey, whiteY, PNG_FP_1, dwhite) == 0)
|
||||||
@ -1257,20 +1289,6 @@ png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
|
|||||||
png_fixed_point red_inverse, green_inverse, blue_scale;
|
png_fixed_point red_inverse, green_inverse, blue_scale;
|
||||||
png_fixed_point left, right, denominator;
|
png_fixed_point left, right, denominator;
|
||||||
|
|
||||||
/* Check xy and, implicitly, z. Note that wide gamut color spaces typically
|
|
||||||
* have end points with 0 tristimulus values (these are impossible end
|
|
||||||
* points, but they are used to cover the possible colors). We check
|
|
||||||
* xy->whitey against 5, not 0, to avoid a possible integer overflow.
|
|
||||||
*/
|
|
||||||
if (xy->redx < 0 || xy->redx > PNG_FP_1) return 1;
|
|
||||||
if (xy->redy < 0 || xy->redy > PNG_FP_1-xy->redx) return 1;
|
|
||||||
if (xy->greenx < 0 || xy->greenx > PNG_FP_1) return 1;
|
|
||||||
if (xy->greeny < 0 || xy->greeny > PNG_FP_1-xy->greenx) return 1;
|
|
||||||
if (xy->bluex < 0 || xy->bluex > PNG_FP_1) return 1;
|
|
||||||
if (xy->bluey < 0 || xy->bluey > PNG_FP_1-xy->bluex) return 1;
|
|
||||||
if (xy->whitex < 0 || xy->whitex > PNG_FP_1) return 1;
|
|
||||||
if (xy->whitey < 5 || xy->whitey > PNG_FP_1-xy->whitex) return 1;
|
|
||||||
|
|
||||||
/* The reverse calculation is more difficult because the original tristimulus
|
/* The reverse calculation is more difficult because the original tristimulus
|
||||||
* value had 9 independent values (red,green,blue)x(X,Y,Z) however only 8
|
* value had 9 independent values (red,green,blue)x(X,Y,Z) however only 8
|
||||||
* derived values were recorded in the cHRM chunk;
|
* derived values were recorded in the cHRM chunk;
|
||||||
@ -1451,16 +1469,16 @@ png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
|
|||||||
* value of 2 indicates an internal error to the caller.
|
* value of 2 indicates an internal error to the caller.
|
||||||
*/
|
*/
|
||||||
if (png_muldiv(&left, xy->greenx-xy->bluex, xy->redy - xy->bluey, 7) == 0)
|
if (png_muldiv(&left, xy->greenx-xy->bluex, xy->redy - xy->bluey, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
if (png_muldiv(&right, xy->greeny-xy->bluey, xy->redx - xy->bluex, 7) == 0)
|
if (png_muldiv(&right, xy->greeny-xy->bluey, xy->redx - xy->bluex, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
denominator = left - right;
|
denominator = left - right;
|
||||||
|
|
||||||
/* Now find the red numerator. */
|
/* Now find the red numerator. */
|
||||||
if (png_muldiv(&left, xy->greenx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
|
if (png_muldiv(&left, xy->greenx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
if (png_muldiv(&right, xy->greeny-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
|
if (png_muldiv(&right, xy->greeny-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
|
|
||||||
/* Overflow is possible here and it indicates an extreme set of PNG cHRM
|
/* Overflow is possible here and it indicates an extreme set of PNG cHRM
|
||||||
* chunk values. This calculation actually returns the reciprocal of the
|
* chunk values. This calculation actually returns the reciprocal of the
|
||||||
@ -1473,9 +1491,9 @@ png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
|
|||||||
|
|
||||||
/* Similarly for green_inverse: */
|
/* Similarly for green_inverse: */
|
||||||
if (png_muldiv(&left, xy->redy-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
|
if (png_muldiv(&left, xy->redy-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
if (png_muldiv(&right, xy->redx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
|
if (png_muldiv(&right, xy->redx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
|
||||||
return 2;
|
return 1;
|
||||||
if (png_muldiv(&green_inverse, xy->whitey, denominator, left-right) == 0 ||
|
if (png_muldiv(&green_inverse, xy->whitey, denominator, left-right) == 0 ||
|
||||||
green_inverse <= xy->whitey)
|
green_inverse <= xy->whitey)
|
||||||
return 1;
|
return 1;
|
||||||
@ -1520,25 +1538,14 @@ png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
|
|||||||
static int
|
static int
|
||||||
png_XYZ_normalize(png_XYZ *XYZ)
|
png_XYZ_normalize(png_XYZ *XYZ)
|
||||||
{
|
{
|
||||||
png_int_32 Y;
|
png_int_32 Y, Ytemp;
|
||||||
|
|
||||||
if (XYZ->red_Y < 0 || XYZ->green_Y < 0 || XYZ->blue_Y < 0 ||
|
/* Normalize by scaling so the sum of the end-point Y values is PNG_FP_1. */
|
||||||
XYZ->red_X < 0 || XYZ->green_X < 0 || XYZ->blue_X < 0 ||
|
Ytemp = XYZ->red_Y;
|
||||||
XYZ->red_Z < 0 || XYZ->green_Z < 0 || XYZ->blue_Z < 0)
|
if (png_safe_add(&Ytemp, XYZ->green_Y, XYZ->blue_Y))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
/* Normalize by scaling so the sum of the end-point Y values is PNG_FP_1.
|
Y = Ytemp;
|
||||||
* IMPLEMENTATION NOTE: ANSI requires signed overflow not to occur, therefore
|
|
||||||
* relying on addition of two positive values producing a negative one is not
|
|
||||||
* safe.
|
|
||||||
*/
|
|
||||||
Y = XYZ->red_Y;
|
|
||||||
if (0x7fffffff - Y < XYZ->green_X)
|
|
||||||
return 1;
|
|
||||||
Y += XYZ->green_Y;
|
|
||||||
if (0x7fffffff - Y < XYZ->blue_X)
|
|
||||||
return 1;
|
|
||||||
Y += XYZ->blue_Y;
|
|
||||||
|
|
||||||
if (Y != PNG_FP_1)
|
if (Y != PNG_FP_1)
|
||||||
{
|
{
|
||||||
|
16
src/3rdparty/libpng/png.h
vendored
16
src/3rdparty/libpng/png.h
vendored
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.6.43
|
* libpng version 1.6.44
|
||||||
*
|
*
|
||||||
* Copyright (c) 2018-2024 Cosmin Truta
|
* Copyright (c) 2018-2024 Cosmin Truta
|
||||||
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
@ -15,7 +15,7 @@
|
|||||||
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
|
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||||
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
|
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
|
||||||
* Glenn Randers-Pehrson
|
* Glenn Randers-Pehrson
|
||||||
* libpng versions 1.6.36, December 2018, through 1.6.43, February 2024:
|
* libpng versions 1.6.36, December 2018, through 1.6.44, September 2024:
|
||||||
* Cosmin Truta
|
* Cosmin Truta
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*/
|
*/
|
||||||
@ -239,7 +239,7 @@
|
|||||||
* ...
|
* ...
|
||||||
* 1.5.30 15 10530 15.so.15.30[.0]
|
* 1.5.30 15 10530 15.so.15.30[.0]
|
||||||
* ...
|
* ...
|
||||||
* 1.6.43 16 10643 16.so.16.43[.0]
|
* 1.6.44 16 10644 16.so.16.44[.0]
|
||||||
*
|
*
|
||||||
* Henceforth the source version will match the shared-library major and
|
* Henceforth the source version will match the shared-library major and
|
||||||
* minor numbers; the shared-library major version number will be used for
|
* minor numbers; the shared-library major version number will be used for
|
||||||
@ -275,7 +275,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Version information for png.h - this should match the version in png.c */
|
/* Version information for png.h - this should match the version in png.c */
|
||||||
#define PNG_LIBPNG_VER_STRING "1.6.43"
|
#define PNG_LIBPNG_VER_STRING "1.6.44"
|
||||||
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
|
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
|
||||||
|
|
||||||
/* The versions of shared library builds should stay in sync, going forward */
|
/* The versions of shared library builds should stay in sync, going forward */
|
||||||
@ -286,7 +286,7 @@
|
|||||||
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
||||||
#define PNG_LIBPNG_VER_MAJOR 1
|
#define PNG_LIBPNG_VER_MAJOR 1
|
||||||
#define PNG_LIBPNG_VER_MINOR 6
|
#define PNG_LIBPNG_VER_MINOR 6
|
||||||
#define PNG_LIBPNG_VER_RELEASE 43
|
#define PNG_LIBPNG_VER_RELEASE 44
|
||||||
|
|
||||||
/* This should be zero for a public release, or non-zero for a
|
/* This should be zero for a public release, or non-zero for a
|
||||||
* development version.
|
* development version.
|
||||||
@ -317,7 +317,7 @@
|
|||||||
* From version 1.0.1 it is:
|
* From version 1.0.1 it is:
|
||||||
* XXYYZZ, where XX=major, YY=minor, ZZ=release
|
* XXYYZZ, where XX=major, YY=minor, ZZ=release
|
||||||
*/
|
*/
|
||||||
#define PNG_LIBPNG_VER 10643 /* 1.6.43 */
|
#define PNG_LIBPNG_VER 10644 /* 1.6.44 */
|
||||||
|
|
||||||
/* Library configuration: these options cannot be changed after
|
/* Library configuration: these options cannot be changed after
|
||||||
* the library has been built.
|
* the library has been built.
|
||||||
@ -427,7 +427,7 @@ extern "C" {
|
|||||||
/* This triggers a compiler error in png.c, if png.c and png.h
|
/* This triggers a compiler error in png.c, if png.c and png.h
|
||||||
* do not agree upon the version number.
|
* do not agree upon the version number.
|
||||||
*/
|
*/
|
||||||
typedef char* png_libpng_version_1_6_43;
|
typedef char* png_libpng_version_1_6_44;
|
||||||
|
|
||||||
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
|
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
|
||||||
*
|
*
|
||||||
@ -824,7 +824,7 @@ typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp,
|
|||||||
* your compiler. This may be very difficult - try using a different compiler
|
* your compiler. This may be very difficult - try using a different compiler
|
||||||
* to build the library!
|
* to build the library!
|
||||||
*/
|
*/
|
||||||
PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef);
|
PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), (jmp_buf, int), typedef);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Transform masks for the high-level interface */
|
/* Transform masks for the high-level interface */
|
||||||
|
8
src/3rdparty/libpng/pngconf.h
vendored
8
src/3rdparty/libpng/pngconf.h
vendored
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngconf.h - machine-configurable file for libpng
|
/* pngconf.h - machine-configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.6.43
|
* libpng version 1.6.44
|
||||||
*
|
*
|
||||||
* Copyright (c) 2018-2024 Cosmin Truta
|
* Copyright (c) 2018-2024 Cosmin Truta
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
|
||||||
@ -88,7 +88,7 @@
|
|||||||
|
|
||||||
/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect
|
/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect
|
||||||
* against legacy (pre ISOC90) compilers that did not understand function
|
* against legacy (pre ISOC90) compilers that did not understand function
|
||||||
* prototypes. It is not required for modern C compilers.
|
* prototypes. [Deprecated.]
|
||||||
*/
|
*/
|
||||||
#ifndef PNGARG
|
#ifndef PNGARG
|
||||||
# define PNGARG(arglist) arglist
|
# define PNGARG(arglist) arglist
|
||||||
@ -298,7 +298,7 @@
|
|||||||
|
|
||||||
#ifndef PNG_EXPORTA
|
#ifndef PNG_EXPORTA
|
||||||
# define PNG_EXPORTA(ordinal, type, name, args, attributes) \
|
# define PNG_EXPORTA(ordinal, type, name, args, attributes) \
|
||||||
PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
|
PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), args, \
|
||||||
PNG_LINKAGE_API attributes)
|
PNG_LINKAGE_API attributes)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -316,7 +316,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PNG_CALLBACK
|
#ifndef PNG_CALLBACK
|
||||||
# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args)
|
# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) args
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Support for compiler specific function attributes. These are used
|
/* Support for compiler specific function attributes. These are used
|
||||||
|
9
src/3rdparty/libpng/pngerror.c
vendored
9
src/3rdparty/libpng/pngerror.c
vendored
@ -20,13 +20,14 @@
|
|||||||
|
|
||||||
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
||||||
|
|
||||||
static PNG_FUNCTION(void, png_default_error,PNGARG((png_const_structrp png_ptr,
|
static PNG_FUNCTION(void /* PRIVATE */,
|
||||||
png_const_charp error_message)),PNG_NORETURN);
|
png_default_error,(png_const_structrp png_ptr, png_const_charp error_message),
|
||||||
|
PNG_NORETURN);
|
||||||
|
|
||||||
#ifdef PNG_WARNINGS_SUPPORTED
|
#ifdef PNG_WARNINGS_SUPPORTED
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_default_warning PNGARG((png_const_structrp png_ptr,
|
png_default_warning(png_const_structrp png_ptr,
|
||||||
png_const_charp warning_message));
|
png_const_charp warning_message);
|
||||||
#endif /* WARNINGS */
|
#endif /* WARNINGS */
|
||||||
|
|
||||||
/* This function is called whenever there is a fatal error. This function
|
/* This function is called whenever there is a fatal error. This function
|
||||||
|
2
src/3rdparty/libpng/pnglibconf.h
vendored
2
src/3rdparty/libpng/pnglibconf.h
vendored
@ -1,6 +1,6 @@
|
|||||||
/* pnglibconf.h - library build configuration */
|
/* pnglibconf.h - library build configuration */
|
||||||
|
|
||||||
/* libpng version 1.6.43 */
|
/* libpng version 1.6.44 */
|
||||||
|
|
||||||
/* Copyright (c) 2018-2024 Cosmin Truta */
|
/* Copyright (c) 2018-2024 Cosmin Truta */
|
||||||
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
|
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
|
||||||
|
41
src/3rdparty/libpng/pngpriv.h
vendored
41
src/3rdparty/libpng/pngpriv.h
vendored
@ -140,47 +140,6 @@
|
|||||||
* callbacks to do this.
|
* callbacks to do this.
|
||||||
*/
|
*/
|
||||||
# define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_neon
|
# define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_neon
|
||||||
|
|
||||||
/* By default the 'intrinsics' code in arm/filter_neon_intrinsics.c is used
|
|
||||||
* if possible - if __ARM_NEON__ is set and the compiler version is not known
|
|
||||||
* to be broken. This is controlled by PNG_ARM_NEON_IMPLEMENTATION which can
|
|
||||||
* be:
|
|
||||||
*
|
|
||||||
* 1 The intrinsics code (the default with __ARM_NEON__)
|
|
||||||
* 2 The hand coded assembler (the default without __ARM_NEON__)
|
|
||||||
*
|
|
||||||
* It is possible to set PNG_ARM_NEON_IMPLEMENTATION in CPPFLAGS, however
|
|
||||||
* this is *NOT* supported and may cease to work even after a minor revision
|
|
||||||
* to libpng. It *is* valid to do this for testing purposes, e.g. speed
|
|
||||||
* testing or a new compiler, but the results should be communicated to the
|
|
||||||
* libpng implementation list for incorporation in the next minor release.
|
|
||||||
*/
|
|
||||||
# ifndef PNG_ARM_NEON_IMPLEMENTATION
|
|
||||||
# if defined(__ARM_NEON__) || defined(__ARM_NEON)
|
|
||||||
# if defined(__clang__)
|
|
||||||
/* At present it is unknown by the libpng developers which versions
|
|
||||||
* of clang support the intrinsics, however some or perhaps all
|
|
||||||
* versions do not work with the assembler so this may be
|
|
||||||
* irrelevant, so just use the default (do nothing here.)
|
|
||||||
*/
|
|
||||||
# elif defined(__GNUC__)
|
|
||||||
/* GCC 4.5.4 NEON support is known to be broken. 4.6.3 is known to
|
|
||||||
* work, so if this *is* GCC, or G++, look for a version >4.5
|
|
||||||
*/
|
|
||||||
# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
|
|
||||||
# define PNG_ARM_NEON_IMPLEMENTATION 2
|
|
||||||
# endif /* no GNUC support */
|
|
||||||
# endif /* __GNUC__ */
|
|
||||||
# else /* !defined __ARM_NEON__ */
|
|
||||||
/* The 'intrinsics' code simply won't compile without this -mfpu=neon:
|
|
||||||
*/
|
|
||||||
# if !defined(__aarch64__) && !defined(_M_ARM64)
|
|
||||||
/* The assembler code currently does not work on ARM64 */
|
|
||||||
# define PNG_ARM_NEON_IMPLEMENTATION 2
|
|
||||||
# endif /* __aarch64__ */
|
|
||||||
# endif /* __ARM_NEON__ */
|
|
||||||
# endif /* !PNG_ARM_NEON_IMPLEMENTATION */
|
|
||||||
|
|
||||||
# ifndef PNG_ARM_NEON_IMPLEMENTATION
|
# ifndef PNG_ARM_NEON_IMPLEMENTATION
|
||||||
/* Use the intrinsics code by default. */
|
/* Use the intrinsics code by default. */
|
||||||
# define PNG_ARM_NEON_IMPLEMENTATION 1
|
# define PNG_ARM_NEON_IMPLEMENTATION 1
|
||||||
|
4
src/3rdparty/libpng/qt_attribution.json
vendored
4
src/3rdparty/libpng/qt_attribution.json
vendored
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
"Description": "libpng is the official PNG reference library.",
|
"Description": "libpng is the official PNG reference library.",
|
||||||
"Homepage": "http://www.libpng.org/pub/png/libpng.html",
|
"Homepage": "http://www.libpng.org/pub/png/libpng.html",
|
||||||
"Version": "1.6.43",
|
"Version": "1.6.44",
|
||||||
"DownloadLocation": "https://download.sourceforge.net/libpng/libpng-1.6.43.tar.xz",
|
"DownloadLocation": "https://download.sourceforge.net/libpng/libpng-1.6.44.tar.xz",
|
||||||
|
|
||||||
"License": "libpng License and PNG Reference Library version 2",
|
"License": "libpng License and PNG Reference Library version 2",
|
||||||
"LicenseId": "Libpng AND libpng-2.0",
|
"LicenseId": "Libpng AND libpng-2.0",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user