Update bundled libpng from 1.6.42 to 1.6.43
This commit is contained in:
parent
1325a257bf
commit
ea96237525
@ -28,7 +28,7 @@ Current versions of bundled libraries (as of March 13, 2024):
|
|||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
jpeg jpeg-9f 2024-01-14 1.4.0
|
jpeg jpeg-9f 2024-01-14 1.4.0
|
||||||
nanosvg 7aeda550a8 [1] 2023-12-02 1.4.0
|
nanosvg 7aeda550a8 [1] 2023-12-02 1.4.0
|
||||||
png libpng-1.6.42 2024-01-29 1.4.0
|
png libpng-1.6.43 2024-02-23 1.4.0
|
||||||
zlib zlib-1.3.1 2024-01-22 1.4.0
|
zlib zlib-1.3.1 2024-01-22 1.4.0
|
||||||
libdecor 4f2c03d5 [2] 2024-03-04 1.4.0
|
libdecor 4f2c03d5 [2] 2024-03-04 1.4.0
|
||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
@ -199,7 +199,6 @@ Run `make depend' in the zlib folder on a Linux system after
|
|||||||
- pnglibconf.h: Generate on a Linux system and merge (see above).
|
- pnglibconf.h: Generate on a Linux system and merge (see above).
|
||||||
- pngprefix.h: Generate on a Linux system and merge (see above).
|
- pngprefix.h: Generate on a Linux system and merge (see above).
|
||||||
- makedepend: Keep this file.
|
- makedepend: Keep this file.
|
||||||
- png.c: Keep a change labelled with "FLTK"
|
|
||||||
|
|
||||||
Run `make depend' in the png folder on a Linux system after
|
Run `make depend' in the png folder on a Linux system after
|
||||||
the upgrade to update this file.
|
the upgrade to update this file.
|
||||||
|
47
png/ANNOUNCE
47
png/ANNOUNCE
@ -1,5 +1,5 @@
|
|||||||
libpng 1.6.40 - June 21, 2023
|
libpng 1.6.43 - February 23, 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.40.tar.xz (LZMA-compressed, recommended)
|
* libpng-1.6.43.tar.xz (LZMA-compressed, recommended)
|
||||||
* libpng-1.6.40.tar.gz
|
* libpng-1.6.43.tar.gz (deflate-compressed)
|
||||||
|
|
||||||
Source files with CRLF line endings (for Windows):
|
Source files with CRLF line endings (for Windows):
|
||||||
|
|
||||||
* lpng1640.7z (LZMA-compressed, recommended)
|
* lpng1643.7z (LZMA-compressed, recommended)
|
||||||
* lpng1640.zip
|
* lpng1643.zip (deflate-compressed)
|
||||||
|
|
||||||
Other information:
|
Other information:
|
||||||
|
|
||||||
@ -25,15 +25,36 @@ Other information:
|
|||||||
* TRADEMARK.md
|
* TRADEMARK.md
|
||||||
|
|
||||||
|
|
||||||
Changes from version 1.6.39 to version 1.6.40
|
Changes from version 1.6.42 to version 1.6.43
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
|
||||||
* Fixed the eXIf chunk multiplicity checks.
|
* Fixed the row width check in png_check_IHDR().
|
||||||
* Fixed a memory leak in pCAL processing.
|
This corrected a bug that was specific to the 16-bit platforms,
|
||||||
* Corrected the validity report about tRNS inside png_get_valid().
|
and removed a spurious compiler warning from the 64-bit builds.
|
||||||
* Fixed various build issues on *BSD, Mac and Windows.
|
(Reported by Jacek Caban; fixed by John Bowler)
|
||||||
* Updated the configurations and the scripts for continuous integration.
|
* Added eXIf chunk support to the push-mode reader in pngpread.c.
|
||||||
* Cleaned up the code, the build scripts, and the documentation.
|
(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)
|
||||||
|
* Fixed a preprocessor condition in pngread.c that broke build-time
|
||||||
|
configurations like contrib/conftest/pngcp.dfa.
|
||||||
|
(Contributed by John Bowler)
|
||||||
|
* Added CMake build support for LoongArch LSX.
|
||||||
|
(Contributed by GuXiWei)
|
||||||
|
* Fixed a CMake build error that occurred under a peculiar state of the
|
||||||
|
dependency tree. This was a regression introduced in libpng-1.6.41.
|
||||||
|
(Contributed by Dan Rosser)
|
||||||
|
* Marked the installed libpng headers as system headers in CMake.
|
||||||
|
(Contributed by Benjamin Buch)
|
||||||
|
* Updated the build support for RISCOS.
|
||||||
|
(Contributed by Cameron Cawley)
|
||||||
|
* Updated the makefiles to allow cross-platform builds to initialize
|
||||||
|
conventional make variables like AR and ARFLAGS.
|
||||||
|
* Added various improvements to the CI scripts in areas like version
|
||||||
|
consistency verification and text linting.
|
||||||
|
* 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.
|
||||||
|
32
png/CHANGES
32
png/CHANGES
@ -6130,7 +6130,7 @@ Version 1.6.40 [June 21, 2023]
|
|||||||
Cleaned up the code, the build scripts, and the documentation.
|
Cleaned up the code, the build scripts, and the documentation.
|
||||||
|
|
||||||
Version 1.6.41 [January 24, 2024]
|
Version 1.6.41 [January 24, 2024]
|
||||||
Added SIMD-optimized code for the Loongarch LSX hardware.
|
Added SIMD-optimized code for the LoongArch LSX hardware.
|
||||||
(Contributed by GuXiWei, JinBo and ZhangLixia)
|
(Contributed by GuXiWei, JinBo and ZhangLixia)
|
||||||
Fixed the run-time discovery of MIPS MSA hardware.
|
Fixed the run-time discovery of MIPS MSA hardware.
|
||||||
(Contributed by Sui Jingfeng)
|
(Contributed by Sui Jingfeng)
|
||||||
@ -6165,6 +6165,36 @@ Version 1.6.42 [January 29, 2024]
|
|||||||
Fixed the implementation of the macro function png_check_sig().
|
Fixed the implementation of the macro function png_check_sig().
|
||||||
This was an API regression, introduced in libpng-1.6.41.
|
This was an API regression, introduced in libpng-1.6.41.
|
||||||
(Reported by Matthieu Darbois)
|
(Reported by Matthieu Darbois)
|
||||||
|
Fixed and updated the libpng manual.
|
||||||
|
|
||||||
|
Version 1.6.43 [February 23, 2024]
|
||||||
|
Fixed the row width check in png_check_IHDR().
|
||||||
|
This corrected a bug that was specific to the 16-bit platforms,
|
||||||
|
and removed a spurious compiler warning from the 64-bit builds.
|
||||||
|
(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)
|
||||||
|
Fixed a preprocessor condition in pngread.c that broke build-time
|
||||||
|
configurations like contrib/conftest/pngcp.dfa.
|
||||||
|
(Contributed by John Bowler)
|
||||||
|
Added CMake build support for LoongArch LSX.
|
||||||
|
(Contributed by GuXiWei)
|
||||||
|
Fixed a CMake build error that occurred under a peculiar state of the
|
||||||
|
dependency tree. This was a regression introduced in libpng-1.6.41.
|
||||||
|
(Contributed by Dan Rosser)
|
||||||
|
Marked the installed libpng headers as system headers in CMake.
|
||||||
|
(Contributed by Benjamin Buch)
|
||||||
|
Updated the build support for RISCOS.
|
||||||
|
(Contributed by Cameron Cawley)
|
||||||
|
Updated the makefiles to allow cross-platform builds to initialize
|
||||||
|
conventional make variables like AR and ARFLAGS.
|
||||||
|
Added various improvements to the CI scripts in areas like version
|
||||||
|
consistency verification and text linting.
|
||||||
|
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.
|
||||||
Subscription is required; visit
|
Subscription is required; visit
|
||||||
|
12
png/README
12
png/README
@ -1,4 +1,4 @@
|
|||||||
README for libpng version 1.6.42
|
README for libpng version 1.6.43
|
||||||
================================
|
================================
|
||||||
|
|
||||||
See the note about version numbers near the top of `png.h`.
|
See the note about version numbers near the top of `png.h`.
|
||||||
@ -142,10 +142,11 @@ Files included in this distribution
|
|||||||
pngwrite.c => High-level write functions
|
pngwrite.c => High-level write functions
|
||||||
pngwtran.c => Write data transformations
|
pngwtran.c => Write data transformations
|
||||||
pngwutil.c => Write utility functions
|
pngwutil.c => Write utility functions
|
||||||
arm/ => Optimized code for the ARM platform
|
arm/ => Optimized code for ARM Neon
|
||||||
intel/ => Optimized code for the INTEL-SSE2 platform
|
intel/ => Optimized code for INTEL SSE2
|
||||||
mips/ => Optimized code for the MIPS platform
|
loongarch/ => Optimized code for LoongArch LSX
|
||||||
powerpc/ => Optimized code for the PowerPC platform
|
mips/ => Optimized code for MIPS MSA and MIPS MMI
|
||||||
|
powerpc/ => Optimized code for PowerPC VSX
|
||||||
ci/ => Scripts for continuous integration
|
ci/ => Scripts for continuous integration
|
||||||
contrib/ => External contributions
|
contrib/ => External contributions
|
||||||
arm-neon/ => Optimized code for the ARM-NEON platform
|
arm-neon/ => Optimized code for the ARM-NEON platform
|
||||||
@ -158,6 +159,7 @@ Files included in this distribution
|
|||||||
libtests/ => Test programs
|
libtests/ => Test programs
|
||||||
oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing
|
oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing
|
||||||
libpng
|
libpng
|
||||||
|
pngexif/ => Program to inspect the EXIF information in PNG files
|
||||||
pngminim/ => Minimal decoder, encoder, and progressive decoder
|
pngminim/ => Minimal decoder, encoder, and progressive decoder
|
||||||
programs demonstrating the use of pngusr.dfa
|
programs demonstrating the use of pngusr.dfa
|
||||||
pngminus/ => Simple pnm2png and png2pnm programs
|
pngminus/ => Simple pnm2png and png2pnm programs
|
||||||
|
@ -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.42 - January 2024
|
libpng version 1.6.36, December 2018, through 1.6.43 - February 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
|
||||||
|
|
||||||
@ -1178,11 +1178,11 @@ where row_pointers is an array of pointers to the pixel data for each row:
|
|||||||
If you know your image size and pixel size ahead of time, you can allocate
|
If you know your image size and pixel size ahead of time, you can allocate
|
||||||
row_pointers prior to calling png_read_png() with
|
row_pointers prior to calling png_read_png() with
|
||||||
|
|
||||||
if (height > PNG_UINT_32_MAX/(sizeof (png_byte)))
|
if (height > PNG_UINT_32_MAX / (sizeof (png_bytep)))
|
||||||
png_error(png_ptr,
|
png_error(png_ptr,
|
||||||
"Image is too tall to process in memory");
|
"Image is too tall to process in memory");
|
||||||
|
|
||||||
if (width > PNG_UINT_32_MAX/pixel_size)
|
if (width > PNG_UINT_32_MAX / pixel_size)
|
||||||
png_error(png_ptr,
|
png_error(png_ptr,
|
||||||
"Image is too wide to process in memory");
|
"Image is too wide to process in memory");
|
||||||
|
|
||||||
|
10
png/libpng.3
10
png/libpng.3
@ -1,6 +1,6 @@
|
|||||||
.TH LIBPNG 3 "January 29, 2024"
|
.TH LIBPNG 3 "February 23, 2024"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.42
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.43
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fB#include <png.h>\fP
|
\fB#include <png.h>\fP
|
||||||
@ -528,7 +528,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.42 - January 2024
|
libpng version 1.6.36, December 2018, through 1.6.43 - February 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
|
||||||
|
|
||||||
@ -1697,11 +1697,11 @@ where row_pointers is an array of pointers to the pixel data for each row:
|
|||||||
If you know your image size and pixel size ahead of time, you can allocate
|
If you know your image size and pixel size ahead of time, you can allocate
|
||||||
row_pointers prior to calling png_read_png() with
|
row_pointers prior to calling png_read_png() with
|
||||||
|
|
||||||
if (height > PNG_UINT_32_MAX/(sizeof (png_byte)))
|
if (height > PNG_UINT_32_MAX / (sizeof (png_bytep)))
|
||||||
png_error(png_ptr,
|
png_error(png_ptr,
|
||||||
"Image is too tall to process in memory");
|
"Image is too tall to process in memory");
|
||||||
|
|
||||||
if (width > PNG_UINT_32_MAX/pixel_size)
|
if (width > PNG_UINT_32_MAX / pixel_size)
|
||||||
png_error(png_ptr,
|
png_error(png_ptr,
|
||||||
"Image is too wide to process in memory");
|
"Image is too wide to process in memory");
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.TH LIBPNGPF 3 "January 29, 2024"
|
.TH LIBPNGPF 3 "February 23, 2024"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.42
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.43
|
||||||
(private functions)
|
(private functions)
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH PNG 5 "January 29, 2024"
|
.TH PNG 5 "February 23, 2024"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
png \- Portable Network Graphics (PNG) format
|
png \- Portable Network Graphics (PNG) format
|
||||||
|
|
||||||
|
43
png/png.c
43
png/png.c
@ -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_42 Your_png_h_is_not_version_1_6_42;
|
typedef png_libpng_version_1_6_43 Your_png_h_is_not_version_1_6_43;
|
||||||
|
|
||||||
/* 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
|
||||||
@ -731,7 +731,7 @@ png_convert_to_rfc1123_buffer(char out[29], png_const_timep ptime)
|
|||||||
|
|
||||||
{
|
{
|
||||||
size_t pos = 0;
|
size_t pos = 0;
|
||||||
char number_buf[5] = ""; /* enough for a four-digit year */ /* FLTK Issue #296 */
|
char number_buf[5] = {0, 0, 0, 0, 0}; /* enough for a four-digit year */
|
||||||
|
|
||||||
# define APPEND_STRING(string) pos = png_safecat(out, 29, pos, (string))
|
# define APPEND_STRING(string) pos = png_safecat(out, 29, pos, (string))
|
||||||
# define APPEND_NUMBER(format, value)\
|
# define APPEND_NUMBER(format, value)\
|
||||||
@ -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.42" PNG_STRING_NEWLINE \
|
"libpng version 1.6.43" 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 \
|
||||||
@ -1821,14 +1821,14 @@ png_icc_profile_error(png_const_structrp png_ptr, png_colorspacerp colorspace,
|
|||||||
}
|
}
|
||||||
# ifdef PNG_WARNINGS_SUPPORTED
|
# ifdef PNG_WARNINGS_SUPPORTED
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char number[PNG_NUMBER_BUFFER_SIZE]; /* +24 = 114 */
|
char number[PNG_NUMBER_BUFFER_SIZE]; /* +24 = 114 */
|
||||||
|
|
||||||
pos = png_safecat(message, (sizeof message), pos,
|
pos = png_safecat(message, (sizeof message), pos,
|
||||||
png_format_number(number, number+(sizeof number),
|
png_format_number(number, number+(sizeof number),
|
||||||
PNG_NUMBER_FORMAT_x, value));
|
PNG_NUMBER_FORMAT_x, value));
|
||||||
pos = png_safecat(message, (sizeof message), pos, "h: "); /* +2 = 116 */
|
pos = png_safecat(message, (sizeof message), pos, "h: "); /* +2 = 116 */
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
/* The 'reason' is an arbitrary message, allow +79 maximum 195 */
|
/* The 'reason' is an arbitrary message, allow +79 maximum 195 */
|
||||||
pos = png_safecat(message, (sizeof message), pos, reason);
|
pos = png_safecat(message, (sizeof message), pos, reason);
|
||||||
@ -2511,17 +2511,6 @@ png_colorspace_set_rgb_coefficients(png_structrp png_ptr)
|
|||||||
|
|
||||||
#endif /* COLORSPACE */
|
#endif /* COLORSPACE */
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
/* This exists solely to work round a warning from GNU C. */
|
|
||||||
static int /* PRIVATE */
|
|
||||||
png_gt(size_t a, size_t b)
|
|
||||||
{
|
|
||||||
return a > b;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
# define png_gt(a,b) ((a) > (b))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_check_IHDR(png_const_structrp png_ptr,
|
png_check_IHDR(png_const_structrp png_ptr,
|
||||||
png_uint_32 width, png_uint_32 height, int bit_depth,
|
png_uint_32 width, png_uint_32 height, int bit_depth,
|
||||||
@ -2543,8 +2532,16 @@ png_check_IHDR(png_const_structrp png_ptr,
|
|||||||
error = 1;
|
error = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (png_gt(((width + 7) & (~7U)),
|
/* The bit mask on the first line below must be at least as big as a
|
||||||
((PNG_SIZE_MAX
|
* png_uint_32. "~7U" is not adequate on 16-bit systems because it will
|
||||||
|
* be an unsigned 16-bit value. Casting to (png_alloc_size_t) makes the
|
||||||
|
* type of the result at least as bit (in bits) as the RHS of the > operator
|
||||||
|
* which also avoids a common warning on 64-bit systems that the comparison
|
||||||
|
* of (png_uint_32) against the constant value on the RHS will always be
|
||||||
|
* false.
|
||||||
|
*/
|
||||||
|
if (((width + 7) & ~(png_alloc_size_t)7) >
|
||||||
|
(((PNG_SIZE_MAX
|
||||||
- 48 /* big_row_buf hack */
|
- 48 /* big_row_buf hack */
|
||||||
- 1) /* filter byte */
|
- 1) /* filter byte */
|
||||||
/ 8) /* 8-byte RGBA pixels */
|
/ 8) /* 8-byte RGBA pixels */
|
||||||
|
25
png/png.h
25
png/png.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.6.42
|
* libpng version 1.6.43
|
||||||
*
|
*
|
||||||
* 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.42, January 2024:
|
* libpng versions 1.6.36, December 2018, through 1.6.43, February 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.42 16 10641 16.so.16.41[.0]
|
* 1.6.43 16 10643 16.so.16.43[.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
|
||||||
@ -255,9 +255,6 @@
|
|||||||
* to the info_ptr or png_ptr members through png.h, and the compiled
|
* to the info_ptr or png_ptr members through png.h, and the compiled
|
||||||
* application is loaded with a different version of the library.
|
* application is loaded with a different version of the library.
|
||||||
*
|
*
|
||||||
* DLLNUM will change each time there are forward or backward changes
|
|
||||||
* in binary compatibility (e.g., when a new feature is added).
|
|
||||||
*
|
|
||||||
* See libpng.txt or libpng.3 for more information. The PNG specification
|
* See libpng.txt or libpng.3 for more information. The PNG specification
|
||||||
* is available as a W3C Recommendation and as an ISO/IEC Standard; see
|
* is available as a W3C Recommendation and as an ISO/IEC Standard; see
|
||||||
* <https://www.w3.org/TR/2003/REC-PNG-20031110/>
|
* <https://www.w3.org/TR/2003/REC-PNG-20031110/>
|
||||||
@ -278,19 +275,21 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* 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.42"
|
#define PNG_LIBPNG_VER_STRING "1.6.43"
|
||||||
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
|
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 16
|
/* The versions of shared library builds should stay in sync, going forward */
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 16
|
#define PNG_LIBPNG_VER_SHAREDLIB 16
|
||||||
|
#define PNG_LIBPNG_VER_SONUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */
|
||||||
|
#define PNG_LIBPNG_VER_DLLNUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */
|
||||||
|
|
||||||
/* 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 42
|
#define PNG_LIBPNG_VER_RELEASE 43
|
||||||
|
|
||||||
/* 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. [Deprecated]
|
* development version.
|
||||||
*/
|
*/
|
||||||
#define PNG_LIBPNG_VER_BUILD 0
|
#define PNG_LIBPNG_VER_BUILD 0
|
||||||
|
|
||||||
@ -318,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 10641 /* 1.6.42 */
|
#define PNG_LIBPNG_VER 10643 /* 1.6.43 */
|
||||||
|
|
||||||
/* 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.
|
||||||
@ -428,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_42;
|
typedef char* png_libpng_version_1_6_43;
|
||||||
|
|
||||||
/* 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.
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngconf.h - machine-configurable file for libpng
|
/* pngconf.h - machine-configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.6.42
|
* libpng version 1.6.43
|
||||||
*
|
*
|
||||||
* 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
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
/* pnglibconf.h - library build configuration */
|
/* pnglibconf.h - library build configuration */
|
||||||
|
|
||||||
/* libpng version 1.6.42 */
|
/* libpng version 1.6.43 */
|
||||||
|
|
||||||
/* 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 */
|
||||||
|
@ -294,6 +294,14 @@ png_push_read_chunk(png_structrp png_ptr, png_inforp info_ptr)
|
|||||||
png_handle_cHRM(png_ptr, info_ptr, png_ptr->push_length);
|
png_handle_cHRM(png_ptr, info_ptr, png_ptr->push_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#ifdef PNG_READ_eXIf_SUPPORTED
|
||||||
|
else if (png_ptr->chunk_name == png_eXIf)
|
||||||
|
{
|
||||||
|
PNG_PUSH_SAVE_BUFFER_IF_FULL
|
||||||
|
png_handle_eXIf(png_ptr, info_ptr, png_ptr->push_length);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef PNG_READ_sRGB_SUPPORTED
|
#ifdef PNG_READ_sRGB_SUPPORTED
|
||||||
else if (chunk_name == png_sRGB)
|
else if (chunk_name == png_sRGB)
|
||||||
|
@ -56,13 +56,6 @@
|
|||||||
#define png_do_read_interlace fltk_png_do_read_interlace
|
#define png_do_read_interlace fltk_png_do_read_interlace
|
||||||
#define png_do_write_interlace fltk_png_do_write_interlace
|
#define png_do_write_interlace fltk_png_do_write_interlace
|
||||||
#define png_read_filter_row fltk_png_read_filter_row
|
#define png_read_filter_row fltk_png_read_filter_row
|
||||||
#define png_read_filter_row_up_neon fltk_png_read_filter_row_up_neon
|
|
||||||
#define png_read_filter_row_sub3_neon fltk_png_read_filter_row_sub3_neon
|
|
||||||
#define png_read_filter_row_sub4_neon fltk_png_read_filter_row_sub4_neon
|
|
||||||
#define png_read_filter_row_avg3_neon fltk_png_read_filter_row_avg3_neon
|
|
||||||
#define png_read_filter_row_avg4_neon fltk_png_read_filter_row_avg4_neon
|
|
||||||
#define png_read_filter_row_paeth3_neon fltk_png_read_filter_row_paeth3_neon
|
|
||||||
#define png_read_filter_row_paeth4_neon fltk_png_read_filter_row_paeth4_neon
|
|
||||||
#define png_write_find_filter fltk_png_write_find_filter
|
#define png_write_find_filter fltk_png_write_find_filter
|
||||||
#define png_read_IDAT_data fltk_png_read_IDAT_data
|
#define png_read_IDAT_data fltk_png_read_IDAT_data
|
||||||
#define png_read_finish_IDAT fltk_png_read_finish_IDAT
|
#define png_read_finish_IDAT fltk_png_read_finish_IDAT
|
||||||
@ -166,8 +159,4 @@
|
|||||||
#define png_safe_warning fltk_png_safe_warning
|
#define png_safe_warning fltk_png_safe_warning
|
||||||
#define png_safe_execute fltk_png_safe_execute
|
#define png_safe_execute fltk_png_safe_execute
|
||||||
#define png_image_error fltk_png_image_error
|
#define png_image_error fltk_png_image_error
|
||||||
#define png_init_filter_functions_neon fltk_png_init_filter_functions_neon
|
|
||||||
#define png_check_keyword fltk_png_check_keyword
|
#define png_check_keyword fltk_png_check_keyword
|
||||||
#define png_riffle_palette_neon fltk_png_riffle_palette_neon
|
|
||||||
#define png_do_expand_palette_rgba8_neon fltk_png_do_expand_palette_rgba8_neon
|
|
||||||
#define png_do_expand_palette_rgb8_neon fltk_png_do_expand_palette_rgb8_neon
|
|
||||||
|
@ -568,7 +568,11 @@ png_read_row(png_structrp png_ptr, png_bytep row, png_bytep dsp_row)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_READ_TRANSFORMS_SUPPORTED
|
#ifdef PNG_READ_TRANSFORMS_SUPPORTED
|
||||||
if (png_ptr->transformations || png_ptr->num_palette_max >= 0)
|
if (png_ptr->transformations
|
||||||
|
# ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
|
||||||
|
|| png_ptr->num_palette_max >= 0
|
||||||
|
# endif
|
||||||
|
)
|
||||||
png_do_read_transformations(png_ptr, &row_info);
|
png_do_read_transformations(png_ptr, &row_info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -297,14 +297,13 @@ png_set_alpha_mode_fixed(png_structrp png_ptr, int mode,
|
|||||||
|
|
||||||
output_gamma = translate_gamma_flags(png_ptr, output_gamma, 1/*screen*/);
|
output_gamma = translate_gamma_flags(png_ptr, output_gamma, 1/*screen*/);
|
||||||
|
|
||||||
/* Validate the value to ensure it is in a reasonable range. The value
|
/* Validate the value to ensure it is in a reasonable range. The value
|
||||||
* is expected to be 1 or greater, but this range test allows for some
|
* is expected to be 1 or greater, but this range test allows for some
|
||||||
* viewing correction values. The intent is to weed out users of this API
|
* viewing correction values. The intent is to weed out the API users
|
||||||
* who use the inverse of the gamma value accidentally! Since some of these
|
* who might use the inverse of the gamma value accidentally!
|
||||||
* values are reasonable this may have to be changed:
|
|
||||||
*
|
*
|
||||||
* 1.6.x: changed from 0.07..3 to 0.01..100 (to accommodate the optimal 16-bit
|
* In libpng 1.6.0, we changed from 0.07..3 to 0.01..100, to accommodate
|
||||||
* gamma of 36, and its reciprocal.)
|
* the optimal 16-bit gamma of 36 and its reciprocal.
|
||||||
*/
|
*/
|
||||||
if (output_gamma < 1000 || output_gamma > 10000000)
|
if (output_gamma < 1000 || output_gamma > 10000000)
|
||||||
png_error(png_ptr, "output gamma out of expected range");
|
png_error(png_ptr, "output gamma out of expected range");
|
||||||
@ -441,7 +440,7 @@ png_set_quantize(png_structrp png_ptr, png_colorp palette,
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
png_ptr->quantize_index = (png_bytep)png_malloc(png_ptr,
|
png_ptr->quantize_index = (png_bytep)png_malloc(png_ptr,
|
||||||
(png_alloc_size_t)((png_uint_32)num_palette * (sizeof (png_byte))));
|
(png_alloc_size_t)num_palette);
|
||||||
for (i = 0; i < num_palette; i++)
|
for (i = 0; i < num_palette; i++)
|
||||||
png_ptr->quantize_index[i] = (png_byte)i;
|
png_ptr->quantize_index[i] = (png_byte)i;
|
||||||
}
|
}
|
||||||
@ -458,7 +457,7 @@ png_set_quantize(png_structrp png_ptr, png_colorp palette,
|
|||||||
|
|
||||||
/* Initialize an array to sort colors */
|
/* Initialize an array to sort colors */
|
||||||
png_ptr->quantize_sort = (png_bytep)png_malloc(png_ptr,
|
png_ptr->quantize_sort = (png_bytep)png_malloc(png_ptr,
|
||||||
(png_alloc_size_t)((png_uint_32)num_palette * (sizeof (png_byte))));
|
(png_alloc_size_t)num_palette);
|
||||||
|
|
||||||
/* Initialize the quantize_sort array */
|
/* Initialize the quantize_sort array */
|
||||||
for (i = 0; i < num_palette; i++)
|
for (i = 0; i < num_palette; i++)
|
||||||
@ -592,11 +591,9 @@ png_set_quantize(png_structrp png_ptr, png_colorp palette,
|
|||||||
|
|
||||||
/* Initialize palette index arrays */
|
/* Initialize palette index arrays */
|
||||||
png_ptr->index_to_palette = (png_bytep)png_malloc(png_ptr,
|
png_ptr->index_to_palette = (png_bytep)png_malloc(png_ptr,
|
||||||
(png_alloc_size_t)((png_uint_32)num_palette *
|
(png_alloc_size_t)num_palette);
|
||||||
(sizeof (png_byte))));
|
|
||||||
png_ptr->palette_to_index = (png_bytep)png_malloc(png_ptr,
|
png_ptr->palette_to_index = (png_bytep)png_malloc(png_ptr,
|
||||||
(png_alloc_size_t)((png_uint_32)num_palette *
|
(png_alloc_size_t)num_palette);
|
||||||
(sizeof (png_byte))));
|
|
||||||
|
|
||||||
/* Initialize the sort array */
|
/* Initialize the sort array */
|
||||||
for (i = 0; i < num_palette; i++)
|
for (i = 0; i < num_palette; i++)
|
||||||
@ -761,12 +758,11 @@ png_set_quantize(png_structrp png_ptr, png_colorp palette,
|
|||||||
size_t num_entries = ((size_t)1 << total_bits);
|
size_t num_entries = ((size_t)1 << total_bits);
|
||||||
|
|
||||||
png_ptr->palette_lookup = (png_bytep)png_calloc(png_ptr,
|
png_ptr->palette_lookup = (png_bytep)png_calloc(png_ptr,
|
||||||
(png_alloc_size_t)(num_entries * (sizeof (png_byte))));
|
(png_alloc_size_t)(num_entries));
|
||||||
|
|
||||||
distance = (png_bytep)png_malloc(png_ptr, (png_alloc_size_t)(num_entries *
|
distance = (png_bytep)png_malloc(png_ptr, (png_alloc_size_t)num_entries);
|
||||||
(sizeof (png_byte))));
|
|
||||||
|
|
||||||
memset(distance, 0xff, num_entries * (sizeof (png_byte)));
|
memset(distance, 0xff, num_entries);
|
||||||
|
|
||||||
for (i = 0; i < num_palette; i++)
|
for (i = 0; i < num_palette; i++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user