libpng: Update to upstream version 1.6.35
(cherry picked from commit f4e682d717
)
This commit is contained in:
parent
36027d425c
commit
e08eb964c4
|
@ -186,7 +186,7 @@ Files: ./thirdparty/libpng/
|
||||||
Comment: libpng
|
Comment: libpng
|
||||||
Copyright: 1995-1996, Guy Eric Schalnat, Group 42, Inc.
|
Copyright: 1995-1996, Guy Eric Schalnat, Group 42, Inc.
|
||||||
1996-1997, Andreas Dilger
|
1996-1997, Andreas Dilger
|
||||||
1998-2016, Glenn Randers-Pehrson
|
1998-2018, Glenn Randers-Pehrson
|
||||||
License: Zlib
|
License: Zlib
|
||||||
|
|
||||||
Files: ./thirdparty/libsimplewebm/
|
Files: ./thirdparty/libsimplewebm/
|
||||||
|
|
|
@ -144,7 +144,7 @@ Files extracted from upstream source:
|
||||||
## libpng
|
## libpng
|
||||||
|
|
||||||
- Upstream: http://libpng.org/pub/png/libpng.html
|
- Upstream: http://libpng.org/pub/png/libpng.html
|
||||||
- Version: 1.6.34
|
- Version: 1.6.35
|
||||||
- License: libpng/zlib
|
- License: libpng/zlib
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
@ -153,6 +153,7 @@ Files extracted from upstream source:
|
||||||
`example.c` and `pngtest.c`
|
`example.c` and `pngtest.c`
|
||||||
- the arm/ folder
|
- the arm/ folder
|
||||||
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
||||||
|
- `LICENSE`
|
||||||
|
|
||||||
|
|
||||||
## libsimplewebm
|
## libsimplewebm
|
||||||
|
|
|
@ -10,8 +10,8 @@ this sentence.
|
||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
|
|
||||||
libpng versions 1.0.7, July 1, 2000 through 1.6.34, September 29, 2017 are
|
libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
|
||||||
Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
|
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
|
||||||
derived from libpng-1.0.6, and are distributed according to the same
|
derived from libpng-1.0.6, and are distributed according to the same
|
||||||
disclaimer and license as libpng-1.0.6 with the following individuals
|
disclaimer and license as libpng-1.0.6 with the following individuals
|
||||||
added to the list of Contributing Authors:
|
added to the list of Contributing Authors:
|
||||||
|
@ -130,4 +130,4 @@ any encryption software. See the EAR, paragraphs 734.3(b)(3) and
|
||||||
|
|
||||||
Glenn Randers-Pehrson
|
Glenn Randers-Pehrson
|
||||||
glennrp at users.sourceforge.net
|
glennrp at users.sourceforge.net
|
||||||
September 29, 2017
|
July 15, 2018
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* png.c - location for general purpose libpng functions
|
/* png.c - location for general purpose libpng functions
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.33 [September 28, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -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_34 Your_png_h_is_not_version_1_6_34;
|
typedef png_libpng_version_1_6_35 Your_png_h_is_not_version_1_6_35;
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
/* The version tests may need to be added to, but the problem warning has
|
/* The version tests may need to be added to, but the problem warning has
|
||||||
|
@ -71,7 +71,7 @@ png_set_sig_bytes(png_structrp png_ptr, int num_bytes)
|
||||||
* PNG signature (this is the same behavior as strcmp, memcmp, etc).
|
* PNG signature (this is the same behavior as strcmp, memcmp, etc).
|
||||||
*/
|
*/
|
||||||
int PNGAPI
|
int PNGAPI
|
||||||
png_sig_cmp(png_const_bytep sig, png_size_t start, png_size_t num_to_check)
|
png_sig_cmp(png_const_bytep sig, size_t start, size_t num_to_check)
|
||||||
{
|
{
|
||||||
png_byte png_signature[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
png_byte png_signature[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ png_reset_crc(png_structrp png_ptr)
|
||||||
* trouble of calculating it.
|
* trouble of calculating it.
|
||||||
*/
|
*/
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_calculate_crc(png_structrp png_ptr, png_const_bytep ptr, png_size_t length)
|
png_calculate_crc(png_structrp png_ptr, png_const_bytep ptr, size_t length)
|
||||||
{
|
{
|
||||||
int need_crc = 1;
|
int need_crc = 1;
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ png_destroy_info_struct(png_const_structrp png_ptr, png_infopp info_ptr_ptr)
|
||||||
* those cases where it does anything other than a memset.
|
* those cases where it does anything other than a memset.
|
||||||
*/
|
*/
|
||||||
PNG_FUNCTION(void,PNGAPI
|
PNG_FUNCTION(void,PNGAPI
|
||||||
png_info_init_3,(png_infopp ptr_ptr, png_size_t png_info_struct_size),
|
png_info_init_3,(png_infopp ptr_ptr, size_t png_info_struct_size),
|
||||||
PNG_DEPRECATED)
|
PNG_DEPRECATED)
|
||||||
{
|
{
|
||||||
png_inforp info_ptr = *ptr_ptr;
|
png_inforp info_ptr = *ptr_ptr;
|
||||||
|
@ -816,15 +816,15 @@ png_get_copyright(png_const_structrp png_ptr)
|
||||||
#else
|
#else
|
||||||
# ifdef __STDC__
|
# ifdef __STDC__
|
||||||
return PNG_STRING_NEWLINE \
|
return PNG_STRING_NEWLINE \
|
||||||
"libpng version 1.6.34 - September 29, 2017" PNG_STRING_NEWLINE \
|
"libpng version 1.6.35 - July 15, 2018" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson" \
|
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
|
||||||
PNG_STRING_NEWLINE \
|
PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||||
PNG_STRING_NEWLINE;
|
PNG_STRING_NEWLINE;
|
||||||
# else
|
# else
|
||||||
return "libpng version 1.6.34 - September 29, 2017\
|
return "libpng version 1.6.35 - July 15, 2018\
|
||||||
Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson\
|
Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson\
|
||||||
Copyright (c) 1996-1997 Andreas Dilger\
|
Copyright (c) 1996-1997 Andreas Dilger\
|
||||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
||||||
# endif
|
# endif
|
||||||
|
@ -942,7 +942,7 @@ png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep chunk_name)
|
||||||
|
|
||||||
/* The code is the fifth byte after each four byte string. Historically this
|
/* The code is the fifth byte after each four byte string. Historically this
|
||||||
* code was always searched from the end of the list, this is no longer
|
* code was always searched from the end of the list, this is no longer
|
||||||
* necessary because the 'set' routine handles duplicate entries correcty.
|
* necessary because the 'set' routine handles duplicate entries correctly.
|
||||||
*/
|
*/
|
||||||
do /* num_chunk_list > 0, so at least one */
|
do /* num_chunk_list > 0, so at least one */
|
||||||
{
|
{
|
||||||
|
@ -2067,7 +2067,7 @@ png_icc_check_header(png_const_structrp png_ptr, png_colorspacerp colorspace,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Data checks (could be skipped). These checks must be independent of the
|
/* Data checks (could be skipped). These checks must be independent of the
|
||||||
* version number; however, the version number doesn't accomodate changes in
|
* version number; however, the version number doesn't accommodate changes in
|
||||||
* the header fields (just the known tags and the interpretation of the
|
* the header fields (just the known tags and the interpretation of the
|
||||||
* data.)
|
* data.)
|
||||||
*/
|
*/
|
||||||
|
@ -2707,7 +2707,7 @@ png_check_IHDR(png_const_structrp png_ptr,
|
||||||
|
|
||||||
#if defined(PNG_sCAL_SUPPORTED) || defined(PNG_pCAL_SUPPORTED)
|
#if defined(PNG_sCAL_SUPPORTED) || defined(PNG_pCAL_SUPPORTED)
|
||||||
/* ASCII to fp functions */
|
/* ASCII to fp functions */
|
||||||
/* Check an ASCII formated floating point value, see the more detailed
|
/* Check an ASCII formatted floating point value, see the more detailed
|
||||||
* comments in pngpriv.h
|
* comments in pngpriv.h
|
||||||
*/
|
*/
|
||||||
/* The following is used internally to preserve the sticky flags */
|
/* The following is used internally to preserve the sticky flags */
|
||||||
|
@ -2715,11 +2715,11 @@ png_check_IHDR(png_const_structrp png_ptr,
|
||||||
#define png_fp_set(state, value) ((state) = (value) | ((state) & PNG_FP_STICKY))
|
#define png_fp_set(state, value) ((state) = (value) | ((state) & PNG_FP_STICKY))
|
||||||
|
|
||||||
int /* PRIVATE */
|
int /* PRIVATE */
|
||||||
png_check_fp_number(png_const_charp string, png_size_t size, int *statep,
|
png_check_fp_number(png_const_charp string, size_t size, int *statep,
|
||||||
png_size_tp whereami)
|
png_size_tp whereami)
|
||||||
{
|
{
|
||||||
int state = *statep;
|
int state = *statep;
|
||||||
png_size_t i = *whereami;
|
size_t i = *whereami;
|
||||||
|
|
||||||
while (i < size)
|
while (i < size)
|
||||||
{
|
{
|
||||||
|
@ -2842,10 +2842,10 @@ PNG_FP_End:
|
||||||
|
|
||||||
/* The same but for a complete string. */
|
/* The same but for a complete string. */
|
||||||
int
|
int
|
||||||
png_check_fp_string(png_const_charp string, png_size_t size)
|
png_check_fp_string(png_const_charp string, size_t size)
|
||||||
{
|
{
|
||||||
int state=0;
|
int state=0;
|
||||||
png_size_t char_index=0;
|
size_t char_index=0;
|
||||||
|
|
||||||
if (png_check_fp_number(string, size, &state, &char_index) != 0 &&
|
if (png_check_fp_number(string, size, &state, &char_index) != 0 &&
|
||||||
(char_index == size || string[char_index] == 0))
|
(char_index == size || string[char_index] == 0))
|
||||||
|
@ -2906,7 +2906,7 @@ png_pow10(int power)
|
||||||
#pragma GCC diagnostic warning "-Wstrict-overflow=2"
|
#pragma GCC diagnostic warning "-Wstrict-overflow=2"
|
||||||
#endif /* GCC_STRICT_OVERFLOW */
|
#endif /* GCC_STRICT_OVERFLOW */
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_ascii_from_fp(png_const_structrp png_ptr, png_charp ascii, png_size_t size,
|
png_ascii_from_fp(png_const_structrp png_ptr, png_charp ascii, size_t size,
|
||||||
double fp, unsigned int precision)
|
double fp, unsigned int precision)
|
||||||
{
|
{
|
||||||
/* We use standard functions from math.h, but not printf because
|
/* We use standard functions from math.h, but not printf because
|
||||||
|
@ -3237,7 +3237,7 @@ png_ascii_from_fp(png_const_structrp png_ptr, png_charp ascii, png_size_t size,
|
||||||
*/
|
*/
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_ascii_from_fixed(png_const_structrp png_ptr, png_charp ascii,
|
png_ascii_from_fixed(png_const_structrp png_ptr, png_charp ascii,
|
||||||
png_size_t size, png_fixed_point fp)
|
size_t size, png_fixed_point fp)
|
||||||
{
|
{
|
||||||
/* Require space for 10 decimal digits, a decimal point, a minus sign and a
|
/* Require space for 10 decimal digits, a decimal point, a minus sign and a
|
||||||
* trailing \0, 13 characters:
|
* trailing \0, 13 characters:
|
||||||
|
@ -4344,7 +4344,7 @@ png_set_option(png_structrp png_ptr, int option, int onoff)
|
||||||
png_uint_32 setting = (2U + (onoff != 0)) << option;
|
png_uint_32 setting = (2U + (onoff != 0)) << option;
|
||||||
png_uint_32 current = png_ptr->options;
|
png_uint_32 current = png_ptr->options;
|
||||||
|
|
||||||
png_ptr->options = (png_uint_32)(((current & ~mask) | setting) & 0xff);
|
png_ptr->options = (png_uint_32)((current & ~mask) | setting);
|
||||||
|
|
||||||
return (int)(current & mask) >> option;
|
return (int)(current & mask) >> option;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.6.34, September 29, 2017
|
* libpng version 1.6.35, July 15, 2018
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
* Authors and maintainers:
|
* Authors and maintainers:
|
||||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||||
* 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.34, September 29, 2017:
|
* libpng versions 0.97, January 1998, through 1.6.35, July 15, 2018:
|
||||||
* Glenn Randers-Pehrson.
|
* Glenn Randers-Pehrson.
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*/
|
*/
|
||||||
|
@ -25,8 +25,8 @@
|
||||||
*
|
*
|
||||||
* This code is released under the libpng license.
|
* This code is released under the libpng license.
|
||||||
*
|
*
|
||||||
* libpng versions 1.0.7, July 1, 2000 through 1.6.34, September 29, 2017 are
|
* libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
|
||||||
* Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
|
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
|
||||||
* derived from libpng-1.0.6, and are distributed according to the same
|
* derived from libpng-1.0.6, and are distributed according to the same
|
||||||
* disclaimer and license as libpng-1.0.6 with the following individuals
|
* disclaimer and license as libpng-1.0.6 with the following individuals
|
||||||
* added to the list of Contributing Authors:
|
* added to the list of Contributing Authors:
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
* ...
|
* ...
|
||||||
* 1.5.30 15 10527 15.so.15.30[.0]
|
* 1.5.30 15 10527 15.so.15.30[.0]
|
||||||
* ...
|
* ...
|
||||||
* 1.6.34 16 10633 16.so.16.34[.0]
|
* 1.6.35 16 10635 16.so.16.35[.0]
|
||||||
*
|
*
|
||||||
* Henceforth the source version will match the shared-library major
|
* Henceforth the source version will match the shared-library major
|
||||||
* and minor numbers; the shared-library major version number will be
|
* and minor numbers; the shared-library major version number will be
|
||||||
|
@ -241,13 +241,13 @@
|
||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* September 29, 2017
|
* July 15, 2018
|
||||||
*
|
*
|
||||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
* an official declaration.
|
* an official declaration.
|
||||||
*
|
*
|
||||||
* This is your unofficial assurance that libpng from version 0.71 and
|
* This is your unofficial assurance that libpng from version 0.71 and
|
||||||
* upward through 1.6.34 are Y2K compliant. It is my belief that
|
* upward through 1.6.35 are Y2K compliant. It is my belief that
|
||||||
* earlier versions were also Y2K compliant.
|
* earlier versions were also Y2K compliant.
|
||||||
*
|
*
|
||||||
* Libpng only has two year fields. One is a 2-byte unsigned integer
|
* Libpng only has two year fields. One is a 2-byte unsigned integer
|
||||||
|
@ -309,8 +309,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* 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.34"
|
#define PNG_LIBPNG_VER_STRING "1.6.35"
|
||||||
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.34 - September 29, 2017\n"
|
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.35 - July 15, 2018\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 16
|
#define PNG_LIBPNG_VER_SONUM 16
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 16
|
#define PNG_LIBPNG_VER_DLLNUM 16
|
||||||
|
@ -318,13 +318,13 @@
|
||||||
/* 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 34
|
#define PNG_LIBPNG_VER_RELEASE 35
|
||||||
|
|
||||||
/* This should match the numeric part of the final component of
|
/* This should match the numeric part of the final component of
|
||||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_BUILD 0
|
#define PNG_LIBPNG_VER_BUILD 02
|
||||||
|
|
||||||
/* Release Status */
|
/* Release Status */
|
||||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||||
|
@ -341,7 +341,7 @@
|
||||||
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
|
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
|
||||||
PNG_LIBPNG_BUILD_PRIVATE */
|
PNG_LIBPNG_BUILD_PRIVATE */
|
||||||
|
|
||||||
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
|
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA
|
||||||
|
|
||||||
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
|
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
|
||||||
* We must not include leading zeros.
|
* We must not include leading zeros.
|
||||||
|
@ -349,7 +349,7 @@
|
||||||
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
||||||
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
|
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
|
||||||
*/
|
*/
|
||||||
#define PNG_LIBPNG_VER 10634 /* 1.6.34 */
|
#define PNG_LIBPNG_VER 10635 /* 1.6.35 */
|
||||||
|
|
||||||
/* 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.
|
||||||
|
@ -459,7 +459,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_34;
|
typedef char* png_libpng_version_1_6_35;
|
||||||
|
|
||||||
/* 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.
|
||||||
*
|
*
|
||||||
|
@ -600,8 +600,8 @@ typedef struct png_text_struct
|
||||||
png_charp key; /* keyword, 1-79 character description of "text" */
|
png_charp key; /* keyword, 1-79 character description of "text" */
|
||||||
png_charp text; /* comment, may be an empty string (ie "")
|
png_charp text; /* comment, may be an empty string (ie "")
|
||||||
or a NULL pointer */
|
or a NULL pointer */
|
||||||
png_size_t text_length; /* length of the text string */
|
size_t text_length; /* length of the text string */
|
||||||
png_size_t itxt_length; /* length of the itxt string */
|
size_t itxt_length; /* length of the itxt string */
|
||||||
png_charp lang; /* language code, 0-79 characters
|
png_charp lang; /* language code, 0-79 characters
|
||||||
or a NULL pointer */
|
or a NULL pointer */
|
||||||
png_charp lang_key; /* keyword translated UTF-8 string, 0 or more
|
png_charp lang_key; /* keyword translated UTF-8 string, 0 or more
|
||||||
|
@ -654,7 +654,7 @@ typedef struct png_unknown_chunk_t
|
||||||
{
|
{
|
||||||
png_byte name[5]; /* Textual chunk name with '\0' terminator */
|
png_byte name[5]; /* Textual chunk name with '\0' terminator */
|
||||||
png_byte *data; /* Data, should not be modified on read! */
|
png_byte *data; /* Data, should not be modified on read! */
|
||||||
png_size_t size;
|
size_t size;
|
||||||
|
|
||||||
/* On write 'location' must be set using the flag values listed below.
|
/* On write 'location' must be set using the flag values listed below.
|
||||||
* Notice that on read it is set by libpng however the values stored have
|
* Notice that on read it is set by libpng however the values stored have
|
||||||
|
@ -679,7 +679,7 @@ typedef png_unknown_chunk * * png_unknown_chunkpp;
|
||||||
/* Maximum positive integer used in PNG is (2^31)-1 */
|
/* Maximum positive integer used in PNG is (2^31)-1 */
|
||||||
#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL)
|
#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL)
|
||||||
#define PNG_UINT_32_MAX ((png_uint_32)(-1))
|
#define PNG_UINT_32_MAX ((png_uint_32)(-1))
|
||||||
#define PNG_SIZE_MAX ((png_size_t)(-1))
|
#define PNG_SIZE_MAX ((size_t)(-1))
|
||||||
|
|
||||||
/* These are constants for fixed point values encoded in the
|
/* These are constants for fixed point values encoded in the
|
||||||
* PNG specification manner (x100000)
|
* PNG specification manner (x100000)
|
||||||
|
@ -785,7 +785,7 @@ typedef png_unknown_chunk * * png_unknown_chunkpp;
|
||||||
typedef struct png_row_info_struct
|
typedef struct png_row_info_struct
|
||||||
{
|
{
|
||||||
png_uint_32 width; /* width of row */
|
png_uint_32 width; /* width of row */
|
||||||
png_size_t rowbytes; /* number of bytes in row */
|
size_t rowbytes; /* number of bytes in row */
|
||||||
png_byte color_type; /* color type of row */
|
png_byte color_type; /* color type of row */
|
||||||
png_byte bit_depth; /* bit depth of row */
|
png_byte bit_depth; /* bit depth of row */
|
||||||
png_byte channels; /* number of channels (1, 2, 3, or 4) */
|
png_byte channels; /* number of channels (1, 2, 3, or 4) */
|
||||||
|
@ -804,7 +804,7 @@ typedef png_row_info * * png_row_infopp;
|
||||||
* expected to return the read data in the buffer.
|
* expected to return the read data in the buffer.
|
||||||
*/
|
*/
|
||||||
typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp));
|
typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp));
|
||||||
typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, png_size_t));
|
typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, size_t));
|
||||||
typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp));
|
typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp));
|
||||||
typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32,
|
typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32,
|
||||||
int));
|
int));
|
||||||
|
@ -941,8 +941,8 @@ PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes));
|
||||||
* signature, and non-zero otherwise. Having num_to_check == 0 or
|
* signature, and non-zero otherwise. Having num_to_check == 0 or
|
||||||
* start > 7 will always fail (ie return non-zero).
|
* start > 7 will always fail (ie return non-zero).
|
||||||
*/
|
*/
|
||||||
PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, png_size_t start,
|
PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start,
|
||||||
png_size_t num_to_check));
|
size_t num_to_check));
|
||||||
|
|
||||||
/* Simple signature checking function. This is the same as calling
|
/* Simple signature checking function. This is the same as calling
|
||||||
* png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n).
|
* png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n).
|
||||||
|
@ -961,11 +961,11 @@ PNG_EXPORTA(5, png_structp, png_create_write_struct,
|
||||||
png_error_ptr warn_fn),
|
png_error_ptr warn_fn),
|
||||||
PNG_ALLOCATED);
|
PNG_ALLOCATED);
|
||||||
|
|
||||||
PNG_EXPORT(6, png_size_t, png_get_compression_buffer_size,
|
PNG_EXPORT(6, size_t, png_get_compression_buffer_size,
|
||||||
(png_const_structrp png_ptr));
|
(png_const_structrp png_ptr));
|
||||||
|
|
||||||
PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr,
|
PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr,
|
||||||
png_size_t size));
|
size_t size));
|
||||||
|
|
||||||
/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp
|
/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp
|
||||||
* match up.
|
* match up.
|
||||||
|
@ -1018,7 +1018,7 @@ PNG_EXPORT(13, void, png_write_sig, (png_structrp png_ptr));
|
||||||
|
|
||||||
/* Write a PNG chunk - size, type, (optional) data, CRC. */
|
/* Write a PNG chunk - size, type, (optional) data, CRC. */
|
||||||
PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep
|
PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep
|
||||||
chunk_name, png_const_bytep data, png_size_t length));
|
chunk_name, png_const_bytep data, size_t length));
|
||||||
|
|
||||||
/* Write the start of a PNG chunk - length and chunk name. */
|
/* Write the start of a PNG chunk - length and chunk name. */
|
||||||
PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr,
|
PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr,
|
||||||
|
@ -1026,7 +1026,7 @@ PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr,
|
||||||
|
|
||||||
/* Write the data of a PNG chunk started with png_write_chunk_start(). */
|
/* Write the data of a PNG chunk started with png_write_chunk_start(). */
|
||||||
PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr,
|
PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr,
|
||||||
png_const_bytep data, png_size_t length));
|
png_const_bytep data, size_t length));
|
||||||
|
|
||||||
/* Finish a chunk started with png_write_chunk_start() (includes CRC). */
|
/* Finish a chunk started with png_write_chunk_start() (includes CRC). */
|
||||||
PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr));
|
PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr));
|
||||||
|
@ -1040,7 +1040,7 @@ PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr),
|
||||||
* the API will be removed in the future.
|
* the API will be removed in the future.
|
||||||
*/
|
*/
|
||||||
PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr,
|
PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr,
|
||||||
png_size_t png_info_struct_size), PNG_DEPRECATED);
|
size_t png_info_struct_size), PNG_DEPRECATED);
|
||||||
|
|
||||||
/* Writes all the PNG information before the image. */
|
/* Writes all the PNG information before the image. */
|
||||||
PNG_EXPORT(20, void, png_write_info_before_PLTE,
|
PNG_EXPORT(20, void, png_write_info_before_PLTE,
|
||||||
|
@ -1137,7 +1137,7 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth,
|
||||||
* corresponding composited pixel, and the color channels are unassociated
|
* corresponding composited pixel, and the color channels are unassociated
|
||||||
* (not premultiplied). The gamma encoded color channels must be scaled
|
* (not premultiplied). The gamma encoded color channels must be scaled
|
||||||
* according to the contribution and to do this it is necessary to undo
|
* according to the contribution and to do this it is necessary to undo
|
||||||
* the encoding, scale the color values, perform the composition and reencode
|
* the encoding, scale the color values, perform the composition and re-encode
|
||||||
* the values. This is the 'PNG' mode.
|
* the values. This is the 'PNG' mode.
|
||||||
*
|
*
|
||||||
* The alternative is to 'associate' the alpha with the color information by
|
* The alternative is to 'associate' the alpha with the color information by
|
||||||
|
@ -1193,7 +1193,7 @@ PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr,
|
||||||
*
|
*
|
||||||
* png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC);
|
* png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC);
|
||||||
* In this case the output is assumed to be something like an sRGB conformant
|
* In this case the output is assumed to be something like an sRGB conformant
|
||||||
* display preceeded by a power-law lookup table of power 1.45. This is how
|
* display preceded by a power-law lookup table of power 1.45. This is how
|
||||||
* early Mac systems behaved.
|
* early Mac systems behaved.
|
||||||
*
|
*
|
||||||
* png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR);
|
* png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR);
|
||||||
|
@ -1240,7 +1240,7 @@ PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr,
|
||||||
*
|
*
|
||||||
* When the default gamma of PNG files doesn't match the output gamma.
|
* When the default gamma of PNG files doesn't match the output gamma.
|
||||||
* If you have PNG files with no gamma information png_set_alpha_mode allows
|
* If you have PNG files with no gamma information png_set_alpha_mode allows
|
||||||
* you to provide a default gamma, but it also sets the ouput gamma to the
|
* you to provide a default gamma, but it also sets the output gamma to the
|
||||||
* matching value. If you know your PNG files have a gamma that doesn't
|
* matching value. If you know your PNG files have a gamma that doesn't
|
||||||
* match the output you can take advantage of the fact that
|
* match the output you can take advantage of the fact that
|
||||||
* png_set_alpha_mode always sets the output gamma but only sets the PNG
|
* png_set_alpha_mode always sets the output gamma but only sets the PNG
|
||||||
|
@ -1691,7 +1691,7 @@ PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp));
|
||||||
* chunk will cause an error at this point unless it is to be saved.
|
* chunk will cause an error at this point unless it is to be saved.
|
||||||
* positive: The chunk was handled, libpng will ignore/discard it.
|
* positive: The chunk was handled, libpng will ignore/discard it.
|
||||||
*
|
*
|
||||||
* See "INTERACTION WTIH USER CHUNK CALLBACKS" below for important notes about
|
* See "INTERACTION WITH USER CHUNK CALLBACKS" below for important notes about
|
||||||
* how this behavior will change in libpng 1.7
|
* how this behavior will change in libpng 1.7
|
||||||
*/
|
*/
|
||||||
PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr,
|
PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr,
|
||||||
|
@ -1716,7 +1716,7 @@ PNG_EXPORT(91, png_voidp, png_get_progressive_ptr,
|
||||||
|
|
||||||
/* Function to be called when data becomes available */
|
/* Function to be called when data becomes available */
|
||||||
PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr,
|
PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr,
|
||||||
png_inforp info_ptr, png_bytep buffer, png_size_t buffer_size));
|
png_inforp info_ptr, png_bytep buffer, size_t buffer_size));
|
||||||
|
|
||||||
/* A function which may be called *only* within png_process_data to stop the
|
/* A function which may be called *only* within png_process_data to stop the
|
||||||
* processing of any more data. The function returns the number of bytes
|
* processing of any more data. The function returns the number of bytes
|
||||||
|
@ -1725,7 +1725,7 @@ PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr,
|
||||||
* 'save' is set to true the routine will first save all the pending data and
|
* 'save' is set to true the routine will first save all the pending data and
|
||||||
* will always return 0.
|
* will always return 0.
|
||||||
*/
|
*/
|
||||||
PNG_EXPORT(219, png_size_t, png_process_data_pause, (png_structrp, int save));
|
PNG_EXPORT(219, size_t, png_process_data_pause, (png_structrp, int save));
|
||||||
|
|
||||||
/* A function which may be called *only* outside (after) a call to
|
/* A function which may be called *only* outside (after) a call to
|
||||||
* png_process_data. It returns the number of bytes of data to skip in the
|
* png_process_data. It returns the number of bytes of data to skip in the
|
||||||
|
@ -1870,7 +1870,7 @@ PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr,
|
||||||
png_const_inforp info_ptr, png_uint_32 flag));
|
png_const_inforp info_ptr, png_uint_32 flag));
|
||||||
|
|
||||||
/* Returns number of bytes needed to hold a transformed row. */
|
/* Returns number of bytes needed to hold a transformed row. */
|
||||||
PNG_EXPORT(111, png_size_t, png_get_rowbytes, (png_const_structrp png_ptr,
|
PNG_EXPORT(111, size_t, png_get_rowbytes, (png_const_structrp png_ptr,
|
||||||
png_const_inforp info_ptr));
|
png_const_inforp info_ptr));
|
||||||
|
|
||||||
#ifdef PNG_INFO_IMAGE_SUPPORTED
|
#ifdef PNG_INFO_IMAGE_SUPPORTED
|
||||||
|
@ -2239,7 +2239,7 @@ PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr,
|
||||||
* to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks
|
* to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks
|
||||||
* it simply resets the behavior to the libpng default.
|
* it simply resets the behavior to the libpng default.
|
||||||
*
|
*
|
||||||
* INTERACTION WTIH USER CHUNK CALLBACKS:
|
* INTERACTION WITH USER CHUNK CALLBACKS:
|
||||||
* The per-chunk handling is always used when there is a png_user_chunk_ptr
|
* The per-chunk handling is always used when there is a png_user_chunk_ptr
|
||||||
* callback and the callback returns 0; the chunk is then always stored *unless*
|
* callback and the callback returns 0; the chunk is then always stored *unless*
|
||||||
* it is critical and the per-chunk setting is other than ALWAYS. Notice that
|
* it is critical and the per-chunk setting is other than ALWAYS. Notice that
|
||||||
|
@ -2658,7 +2658,7 @@ PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
|
||||||
* The simplified API hides the details of both libpng and the PNG file format
|
* The simplified API hides the details of both libpng and the PNG file format
|
||||||
* itself. It allows PNG files to be read into a very limited number of
|
* itself. It allows PNG files to be read into a very limited number of
|
||||||
* in-memory bitmap formats or to be written from the same formats. If these
|
* in-memory bitmap formats or to be written from the same formats. If these
|
||||||
* formats do not accomodate your needs then you can, and should, use the more
|
* formats do not accommodate your needs then you can, and should, use the more
|
||||||
* sophisticated APIs above - these support a wide variety of in-memory formats
|
* sophisticated APIs above - these support a wide variety of in-memory formats
|
||||||
* and a wide variety of sophisticated transformations to those formats as well
|
* and a wide variety of sophisticated transformations to those formats as well
|
||||||
* as a wide variety of APIs to manipulate ancillary information.
|
* as a wide variety of APIs to manipulate ancillary information.
|
||||||
|
@ -3020,7 +3020,7 @@ PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image,
|
||||||
#endif /* STDIO */
|
#endif /* STDIO */
|
||||||
|
|
||||||
PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image,
|
PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image,
|
||||||
png_const_voidp memory, png_size_t size));
|
png_const_voidp memory, size_t size));
|
||||||
/* The PNG header is read from the given memory buffer. */
|
/* The PNG header is read from the given memory buffer. */
|
||||||
|
|
||||||
PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image,
|
PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image,
|
||||||
|
@ -3133,7 +3133,7 @@ PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
|
||||||
* than or equal to the original value.
|
* than or equal to the original value.
|
||||||
*
|
*
|
||||||
* If the function returns false and *memory_bytes was not changed an error
|
* If the function returns false and *memory_bytes was not changed an error
|
||||||
* occured during write. If *memory_bytes was changed, or is not 0 if
|
* occurred during write. If *memory_bytes was changed, or is not 0 if
|
||||||
* 'memory' was NULL, the write would have succeeded but for the memory
|
* 'memory' was NULL, the write would have succeeded but for the memory
|
||||||
* buffer being too small. *memory_bytes contains the required number of
|
* buffer being too small. *memory_bytes contains the required number of
|
||||||
* bytes and will be bigger that the original value.
|
* bytes and will be bigger that the original value.
|
||||||
|
@ -3217,7 +3217,7 @@ PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
|
||||||
* option and 'onoff' is 0 (off) or non-0 (on). The value returned is given
|
* option and 'onoff' is 0 (off) or non-0 (on). The value returned is given
|
||||||
* by the PNG_OPTION_ defines below.
|
* by the PNG_OPTION_ defines below.
|
||||||
*
|
*
|
||||||
* HARDWARE: normally hardware capabilites, such as the Intel SSE instructions,
|
* HARDWARE: normally hardware capabilities, such as the Intel SSE instructions,
|
||||||
* are detected at run time, however sometimes it may be impossible
|
* are detected at run time, however sometimes it may be impossible
|
||||||
* to do this in user mode, in which case it is necessary to discover
|
* to do this in user mode, in which case it is necessary to discover
|
||||||
* the capabilities in an OS specific way. Such capabilities are
|
* the capabilities in an OS specific way. Such capabilities are
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
/* pngconf.h - machine configurable file for libpng
|
/* pngconf.h - machine configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.6.34, September 29, 2017
|
* libpng version 1.6.35, July 15, 2018
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -127,7 +127,7 @@
|
||||||
*
|
*
|
||||||
* These cases only differ if the operating system does not use the C
|
* These cases only differ if the operating system does not use the C
|
||||||
* calling convention, at present this just means the above cases
|
* calling convention, at present this just means the above cases
|
||||||
* (x86 DOS/Windows sytems) and, even then, this does not apply to
|
* (x86 DOS/Windows systems) and, even then, this does not apply to
|
||||||
* Cygwin running on those systems.
|
* Cygwin running on those systems.
|
||||||
*
|
*
|
||||||
* Note that the value must be defined in pnglibconf.h so that what
|
* Note that the value must be defined in pnglibconf.h so that what
|
||||||
|
@ -515,8 +515,10 @@
|
||||||
# error "libpng requires an unsigned 32-bit (or more) type"
|
# error "libpng requires an unsigned 32-bit (or more) type"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however,
|
/* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t.
|
||||||
* requires an ISOC90 compiler and relies on consistent behavior of sizeof.
|
* From 1.6.0 onwards, an ISO C90 compiler, as well as a standard-compliant
|
||||||
|
* behavior of sizeof and ptrdiff_t are required.
|
||||||
|
* The legacy typedefs are provided here for backwards compatibility.
|
||||||
*/
|
*/
|
||||||
typedef size_t png_size_t;
|
typedef size_t png_size_t;
|
||||||
typedef ptrdiff_t png_ptrdiff_t;
|
typedef ptrdiff_t png_ptrdiff_t;
|
||||||
|
@ -537,13 +539,12 @@ typedef ptrdiff_t png_ptrdiff_t;
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, and no
|
/* png_alloc_size_t is guaranteed to be no smaller than size_t, and no smaller
|
||||||
* smaller than png_uint_32. Casts from png_size_t or png_uint_32 to
|
* than png_uint_32. Casts from size_t or png_uint_32 to png_alloc_size_t are
|
||||||
* png_alloc_size_t are not necessary; in fact, it is recommended not to use
|
* not necessary; in fact, it is recommended not to use them at all, so that
|
||||||
* them at all so that the compiler can complain when something turns out to be
|
* the compiler can complain when something turns out to be problematic.
|
||||||
* problematic.
|
|
||||||
*
|
*
|
||||||
* Casts in the other direction (from png_alloc_size_t to png_size_t or
|
* Casts in the other direction (from png_alloc_size_t to size_t or
|
||||||
* png_uint_32) should be explicitly applied; however, we do not expect to
|
* png_uint_32) should be explicitly applied; however, we do not expect to
|
||||||
* encounter practical situations that require such conversions.
|
* encounter practical situations that require such conversions.
|
||||||
*
|
*
|
||||||
|
@ -553,7 +554,7 @@ typedef ptrdiff_t png_ptrdiff_t;
|
||||||
#ifdef PNG_SMALL_SIZE_T
|
#ifdef PNG_SMALL_SIZE_T
|
||||||
typedef png_uint_32 png_alloc_size_t;
|
typedef png_uint_32 png_alloc_size_t;
|
||||||
#else
|
#else
|
||||||
typedef png_size_t png_alloc_size_t;
|
typedef size_t png_alloc_size_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler
|
/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler
|
||||||
|
@ -589,8 +590,8 @@ typedef char * png_charp;
|
||||||
typedef const char * png_const_charp;
|
typedef const char * png_const_charp;
|
||||||
typedef png_fixed_point * png_fixed_point_p;
|
typedef png_fixed_point * png_fixed_point_p;
|
||||||
typedef const png_fixed_point * png_const_fixed_point_p;
|
typedef const png_fixed_point * png_const_fixed_point_p;
|
||||||
typedef png_size_t * png_size_tp;
|
typedef size_t * png_size_tp;
|
||||||
typedef const png_size_t * png_const_size_tp;
|
typedef const size_t * png_const_size_tp;
|
||||||
|
|
||||||
#ifdef PNG_STDIO_SUPPORTED
|
#ifdef PNG_STDIO_SUPPORTED
|
||||||
typedef FILE * png_FILE_p;
|
typedef FILE * png_FILE_p;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngget.c - retrieval of values from info struct
|
/* pngget.c - retrieval of values from info struct
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -26,7 +26,7 @@ png_get_valid(png_const_structrp png_ptr, png_const_inforp info_ptr,
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
png_size_t PNGAPI
|
size_t PNGAPI
|
||||||
png_get_rowbytes(png_const_structrp png_ptr, png_const_inforp info_ptr)
|
png_get_rowbytes(png_const_structrp png_ptr, png_const_inforp info_ptr)
|
||||||
{
|
{
|
||||||
if (png_ptr != NULL && info_ptr != NULL)
|
if (png_ptr != NULL && info_ptr != NULL)
|
||||||
|
@ -367,7 +367,7 @@ png_get_y_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp info_ptr)
|
||||||
static png_fixed_point
|
static png_fixed_point
|
||||||
png_fixed_inches_from_microns(png_const_structrp png_ptr, png_int_32 microns)
|
png_fixed_inches_from_microns(png_const_structrp png_ptr, png_int_32 microns)
|
||||||
{
|
{
|
||||||
/* Convert from metres * 1,000,000 to inches * 100,000, meters to
|
/* Convert from meters * 1,000,000 to inches * 100,000, meters to
|
||||||
* inches is simply *(100/2.54), so we want *(10/2.54) == 500/127.
|
* inches is simply *(100/2.54), so we want *(10/2.54) == 500/127.
|
||||||
* Notice that this can overflow - a warning is output and 0 is
|
* Notice that this can overflow - a warning is output and 0 is
|
||||||
* returned.
|
* returned.
|
||||||
|
@ -741,8 +741,7 @@ png_get_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
|
|
||||||
if (png_ptr != NULL && info_ptr != NULL &&
|
if (png_ptr != NULL && info_ptr != NULL &&
|
||||||
(info_ptr->valid & PNG_INFO_iCCP) != 0 &&
|
(info_ptr->valid & PNG_INFO_iCCP) != 0 &&
|
||||||
name != NULL && compression_type != NULL && profile != NULL &&
|
name != NULL && profile != NULL && proflen != NULL)
|
||||||
proflen != NULL)
|
|
||||||
{
|
{
|
||||||
*name = info_ptr->iccp_name;
|
*name = info_ptr->iccp_name;
|
||||||
*profile = info_ptr->iccp_profile;
|
*profile = info_ptr->iccp_profile;
|
||||||
|
@ -750,11 +749,13 @@ png_get_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
/* This is somewhat irrelevant since the profile data returned has
|
/* This is somewhat irrelevant since the profile data returned has
|
||||||
* actually been uncompressed.
|
* actually been uncompressed.
|
||||||
*/
|
*/
|
||||||
*compression_type = PNG_COMPRESSION_TYPE_BASE;
|
if (compression_type != NULL)
|
||||||
|
*compression_type = PNG_COMPRESSION_TYPE_BASE;
|
||||||
return (PNG_INFO_iCCP);
|
return (PNG_INFO_iCCP);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1164,7 +1165,7 @@ png_get_user_chunk_ptr(png_const_structrp png_ptr)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
png_size_t PNGAPI
|
size_t PNGAPI
|
||||||
png_get_compression_buffer_size(png_const_structrp png_ptr)
|
png_get_compression_buffer_size(png_const_structrp png_ptr)
|
||||||
{
|
{
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pnginfo.h - header file for PNG reference library
|
/* pnginfo.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.1 [March 28, 2013]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2013 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2013,2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -55,10 +55,10 @@
|
||||||
struct png_info_def
|
struct png_info_def
|
||||||
{
|
{
|
||||||
/* The following are necessary for every PNG file */
|
/* The following are necessary for every PNG file */
|
||||||
png_uint_32 width; /* width of image in pixels (from IHDR) */
|
png_uint_32 width; /* width of image in pixels (from IHDR) */
|
||||||
png_uint_32 height; /* height of image in pixels (from IHDR) */
|
png_uint_32 height; /* height of image in pixels (from IHDR) */
|
||||||
png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */
|
png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */
|
||||||
png_size_t rowbytes; /* bytes needed to hold an untransformed row */
|
size_t rowbytes; /* bytes needed to hold an untransformed row */
|
||||||
png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */
|
png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */
|
||||||
png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */
|
png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */
|
||||||
png_uint_16 num_trans; /* number of transparent palette color (tRNS) */
|
png_uint_16 num_trans; /* number of transparent palette color (tRNS) */
|
||||||
|
@ -247,7 +247,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||||
/* The sCAL chunk describes the actual physical dimensions of the
|
/* The sCAL chunk describes the actual physical dimensions of the
|
||||||
* subject matter of the graphic. The chunk contains a unit specification
|
* subject matter of the graphic. The chunk contains a unit specification
|
||||||
* a byte value, and two ASCII strings representing floating-point
|
* a byte value, and two ASCII strings representing floating-point
|
||||||
* values. The values are width and height corresponsing to one pixel
|
* values. The values are width and height corresponding to one pixel
|
||||||
* in the image. Data values are valid if (valid & PNG_INFO_sCAL) is
|
* in the image. Data values are valid if (valid & PNG_INFO_sCAL) is
|
||||||
* non-zero.
|
* non-zero.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
/* libpng 1.6.34 STANDARD API DEFINITION */
|
/* libpng 1.6.35 STANDARD API DEFINITION */
|
||||||
|
|
||||||
/* pnglibconf.h - library build configuration */
|
/* pnglibconf.h - library build configuration */
|
||||||
|
|
||||||
/* Libpng version 1.6.34 - September 29, 2017 */
|
/* Libpng version 1.6.35 - July 15, 2018 */
|
||||||
|
|
||||||
/* Copyright (c) 1998-2017 Glenn Randers-Pehrson */
|
/* Copyright (c) 1998-2018 Glenn Randers-Pehrson */
|
||||||
|
|
||||||
/* This code is released under the libpng license. */
|
/* This code is released under the libpng license. */
|
||||||
/* For conditions of distribution and use, see the disclaimer */
|
/* For conditions of distribution and use, see the disclaimer */
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngpread.c - read a png file in push mode
|
/* pngpread.c - read a png file in push mode
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -34,7 +34,7 @@ if (png_ptr->buffer_size < N) \
|
||||||
|
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_process_data(png_structrp png_ptr, png_inforp info_ptr,
|
png_process_data(png_structrp png_ptr, png_inforp info_ptr,
|
||||||
png_bytep buffer, png_size_t buffer_size)
|
png_bytep buffer, size_t buffer_size)
|
||||||
{
|
{
|
||||||
if (png_ptr == NULL || info_ptr == NULL)
|
if (png_ptr == NULL || info_ptr == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -47,7 +47,7 @@ png_process_data(png_structrp png_ptr, png_inforp info_ptr,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
png_size_t PNGAPI
|
size_t PNGAPI
|
||||||
png_process_data_pause(png_structrp png_ptr, int save)
|
png_process_data_pause(png_structrp png_ptr, int save)
|
||||||
{
|
{
|
||||||
if (png_ptr != NULL)
|
if (png_ptr != NULL)
|
||||||
|
@ -60,7 +60,7 @@ png_process_data_pause(png_structrp png_ptr, int save)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* This includes any pending saved bytes: */
|
/* This includes any pending saved bytes: */
|
||||||
png_size_t remaining = png_ptr->buffer_size;
|
size_t remaining = png_ptr->buffer_size;
|
||||||
png_ptr->buffer_size = 0;
|
png_ptr->buffer_size = 0;
|
||||||
|
|
||||||
/* So subtract the saved buffer size, unless all the data
|
/* So subtract the saved buffer size, unless all the data
|
||||||
|
@ -133,8 +133,8 @@ png_process_some_data(png_structrp png_ptr, png_inforp info_ptr)
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_push_read_sig(png_structrp png_ptr, png_inforp info_ptr)
|
png_push_read_sig(png_structrp png_ptr, png_inforp info_ptr)
|
||||||
{
|
{
|
||||||
png_size_t num_checked = png_ptr->sig_bytes, /* SAFE, does not exceed 8 */
|
size_t num_checked = png_ptr->sig_bytes; /* SAFE, does not exceed 8 */
|
||||||
num_to_check = 8 - num_checked;
|
size_t num_to_check = 8 - num_checked;
|
||||||
|
|
||||||
if (png_ptr->buffer_size < num_to_check)
|
if (png_ptr->buffer_size < num_to_check)
|
||||||
{
|
{
|
||||||
|
@ -418,7 +418,7 @@ png_push_read_chunk(png_structrp png_ptr, png_inforp info_ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
void PNGCBAPI
|
void PNGCBAPI
|
||||||
png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
|
png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, size_t length)
|
||||||
{
|
{
|
||||||
png_bytep ptr;
|
png_bytep ptr;
|
||||||
|
|
||||||
|
@ -428,7 +428,7 @@ png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
|
||||||
ptr = buffer;
|
ptr = buffer;
|
||||||
if (png_ptr->save_buffer_size != 0)
|
if (png_ptr->save_buffer_size != 0)
|
||||||
{
|
{
|
||||||
png_size_t save_size;
|
size_t save_size;
|
||||||
|
|
||||||
if (length < png_ptr->save_buffer_size)
|
if (length < png_ptr->save_buffer_size)
|
||||||
save_size = length;
|
save_size = length;
|
||||||
|
@ -445,7 +445,7 @@ png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
|
||||||
}
|
}
|
||||||
if (length != 0 && png_ptr->current_buffer_size != 0)
|
if (length != 0 && png_ptr->current_buffer_size != 0)
|
||||||
{
|
{
|
||||||
png_size_t save_size;
|
size_t save_size;
|
||||||
|
|
||||||
if (length < png_ptr->current_buffer_size)
|
if (length < png_ptr->current_buffer_size)
|
||||||
save_size = length;
|
save_size = length;
|
||||||
|
@ -467,7 +467,7 @@ png_push_save_buffer(png_structrp png_ptr)
|
||||||
{
|
{
|
||||||
if (png_ptr->save_buffer_ptr != png_ptr->save_buffer)
|
if (png_ptr->save_buffer_ptr != png_ptr->save_buffer)
|
||||||
{
|
{
|
||||||
png_size_t i, istop;
|
size_t i, istop;
|
||||||
png_bytep sp;
|
png_bytep sp;
|
||||||
png_bytep dp;
|
png_bytep dp;
|
||||||
|
|
||||||
|
@ -482,7 +482,7 @@ png_push_save_buffer(png_structrp png_ptr)
|
||||||
if (png_ptr->save_buffer_size + png_ptr->current_buffer_size >
|
if (png_ptr->save_buffer_size + png_ptr->current_buffer_size >
|
||||||
png_ptr->save_buffer_max)
|
png_ptr->save_buffer_max)
|
||||||
{
|
{
|
||||||
png_size_t new_max;
|
size_t new_max;
|
||||||
png_bytep old_buffer;
|
png_bytep old_buffer;
|
||||||
|
|
||||||
if (png_ptr->save_buffer_size > PNG_SIZE_MAX -
|
if (png_ptr->save_buffer_size > PNG_SIZE_MAX -
|
||||||
|
@ -494,7 +494,7 @@ png_push_save_buffer(png_structrp png_ptr)
|
||||||
new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
|
new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
|
||||||
old_buffer = png_ptr->save_buffer;
|
old_buffer = png_ptr->save_buffer;
|
||||||
png_ptr->save_buffer = (png_bytep)png_malloc_warn(png_ptr,
|
png_ptr->save_buffer = (png_bytep)png_malloc_warn(png_ptr,
|
||||||
(png_size_t)new_max);
|
(size_t)new_max);
|
||||||
|
|
||||||
if (png_ptr->save_buffer == NULL)
|
if (png_ptr->save_buffer == NULL)
|
||||||
{
|
{
|
||||||
|
@ -522,7 +522,7 @@ png_push_save_buffer(png_structrp png_ptr)
|
||||||
|
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_push_restore_buffer(png_structrp png_ptr, png_bytep buffer,
|
png_push_restore_buffer(png_structrp png_ptr, png_bytep buffer,
|
||||||
png_size_t buffer_length)
|
size_t buffer_length)
|
||||||
{
|
{
|
||||||
png_ptr->current_buffer = buffer;
|
png_ptr->current_buffer = buffer;
|
||||||
png_ptr->current_buffer_size = buffer_length;
|
png_ptr->current_buffer_size = buffer_length;
|
||||||
|
@ -562,7 +562,7 @@ png_push_read_IDAT(png_structrp png_ptr)
|
||||||
|
|
||||||
if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
|
if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
|
||||||
{
|
{
|
||||||
png_size_t save_size = png_ptr->save_buffer_size;
|
size_t save_size = png_ptr->save_buffer_size;
|
||||||
png_uint_32 idat_size = png_ptr->idat_size;
|
png_uint_32 idat_size = png_ptr->idat_size;
|
||||||
|
|
||||||
/* We want the smaller of 'idat_size' and 'current_buffer_size', but they
|
/* We want the smaller of 'idat_size' and 'current_buffer_size', but they
|
||||||
|
@ -572,7 +572,7 @@ png_push_read_IDAT(png_structrp png_ptr)
|
||||||
* will break on either 16-bit or 64-bit platforms.
|
* will break on either 16-bit or 64-bit platforms.
|
||||||
*/
|
*/
|
||||||
if (idat_size < save_size)
|
if (idat_size < save_size)
|
||||||
save_size = (png_size_t)idat_size;
|
save_size = (size_t)idat_size;
|
||||||
|
|
||||||
else
|
else
|
||||||
idat_size = (png_uint_32)save_size;
|
idat_size = (png_uint_32)save_size;
|
||||||
|
@ -589,7 +589,7 @@ png_push_read_IDAT(png_structrp png_ptr)
|
||||||
|
|
||||||
if (png_ptr->idat_size != 0 && png_ptr->current_buffer_size != 0)
|
if (png_ptr->idat_size != 0 && png_ptr->current_buffer_size != 0)
|
||||||
{
|
{
|
||||||
png_size_t save_size = png_ptr->current_buffer_size;
|
size_t save_size = png_ptr->current_buffer_size;
|
||||||
png_uint_32 idat_size = png_ptr->idat_size;
|
png_uint_32 idat_size = png_ptr->idat_size;
|
||||||
|
|
||||||
/* We want the smaller of 'idat_size' and 'current_buffer_size', but they
|
/* We want the smaller of 'idat_size' and 'current_buffer_size', but they
|
||||||
|
@ -598,7 +598,7 @@ png_push_read_IDAT(png_structrp png_ptr)
|
||||||
* larger - this cannot overflow.
|
* larger - this cannot overflow.
|
||||||
*/
|
*/
|
||||||
if (idat_size < save_size)
|
if (idat_size < save_size)
|
||||||
save_size = (png_size_t)idat_size;
|
save_size = (size_t)idat_size;
|
||||||
|
|
||||||
else
|
else
|
||||||
idat_size = (png_uint_32)save_size;
|
idat_size = (png_uint_32)save_size;
|
||||||
|
@ -625,7 +625,7 @@ png_push_read_IDAT(png_structrp png_ptr)
|
||||||
|
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_process_IDAT_data(png_structrp png_ptr, png_bytep buffer,
|
png_process_IDAT_data(png_structrp png_ptr, png_bytep buffer,
|
||||||
png_size_t buffer_length)
|
size_t buffer_length)
|
||||||
{
|
{
|
||||||
/* The caller checks for a non-zero buffer length. */
|
/* The caller checks for a non-zero buffer length. */
|
||||||
if (!(buffer_length > 0) || buffer == NULL)
|
if (!(buffer_length > 0) || buffer == NULL)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngpriv.h - private declarations for use inside libpng
|
/* pngpriv.h - private declarations for use inside libpng
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -210,7 +210,11 @@
|
||||||
defined(__SSE2__) || defined(_M_X64) || defined(_M_AMD64) || \
|
defined(__SSE2__) || defined(_M_X64) || defined(_M_AMD64) || \
|
||||||
(defined(_M_IX86_FP) && _M_IX86_FP >= 2)
|
(defined(_M_IX86_FP) && _M_IX86_FP >= 2)
|
||||||
# define PNG_INTEL_SSE_OPT 1
|
# define PNG_INTEL_SSE_OPT 1
|
||||||
|
# else
|
||||||
|
# define PNG_INTEL_SSE_OPT 0
|
||||||
# endif
|
# endif
|
||||||
|
# else
|
||||||
|
# define PNG_INTEL_SSE_OPT 0
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -234,6 +238,8 @@
|
||||||
# if PNG_INTEL_SSE_IMPLEMENTATION > 0
|
# if PNG_INTEL_SSE_IMPLEMENTATION > 0
|
||||||
# define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_sse2
|
# define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_sse2
|
||||||
# endif
|
# endif
|
||||||
|
#else
|
||||||
|
# define PNG_INTEL_SSE_IMPLEMENTATION 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PNG_MIPS_MSA_OPT > 0
|
#if PNG_MIPS_MSA_OPT > 0
|
||||||
|
@ -728,8 +734,8 @@
|
||||||
/* Added to libpng-1.2.6 JB */
|
/* Added to libpng-1.2.6 JB */
|
||||||
#define PNG_ROWBYTES(pixel_bits, width) \
|
#define PNG_ROWBYTES(pixel_bits, width) \
|
||||||
((pixel_bits) >= 8 ? \
|
((pixel_bits) >= 8 ? \
|
||||||
((png_size_t)(width) * (((png_size_t)(pixel_bits)) >> 3)) : \
|
((size_t)(width) * (((size_t)(pixel_bits)) >> 3)) : \
|
||||||
(( ((png_size_t)(width) * ((png_size_t)(pixel_bits))) + 7) >> 3) )
|
(( ((size_t)(width) * ((size_t)(pixel_bits))) + 7) >> 3) )
|
||||||
|
|
||||||
/* This returns the number of trailing bits in the last byte of a row, 0 if the
|
/* This returns the number of trailing bits in the last byte of a row, 0 if the
|
||||||
* last byte is completely full of pixels. It is, in principle, (pixel_bits x
|
* last byte is completely full of pixels. It is, in principle, (pixel_bits x
|
||||||
|
@ -917,7 +923,7 @@
|
||||||
* PNG files the -I directives must match.
|
* PNG files the -I directives must match.
|
||||||
*
|
*
|
||||||
* The most likely explanation is that you passed a -I in CFLAGS. This will
|
* The most likely explanation is that you passed a -I in CFLAGS. This will
|
||||||
* not work; all the preprocessor directories and in particular all the -I
|
* not work; all the preprocessor directives and in particular all the -I
|
||||||
* directives must be in CPPFLAGS.
|
* directives must be in CPPFLAGS.
|
||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
@ -1046,15 +1052,15 @@ PNG_INTERNAL_FUNCTION(void,png_zfree,(voidpf png_ptr, voidpf ptr),PNG_EMPTY);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_default_read_data,(png_structp png_ptr,
|
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_default_read_data,(png_structp png_ptr,
|
||||||
png_bytep data, png_size_t length),PNG_EMPTY);
|
png_bytep data, size_t length),PNG_EMPTY);
|
||||||
|
|
||||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||||
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_push_fill_buffer,(png_structp png_ptr,
|
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_push_fill_buffer,(png_structp png_ptr,
|
||||||
png_bytep buffer, png_size_t length),PNG_EMPTY);
|
png_bytep buffer, size_t length),PNG_EMPTY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_default_write_data,(png_structp png_ptr,
|
PNG_INTERNAL_FUNCTION(void PNGCBAPI,png_default_write_data,(png_structp png_ptr,
|
||||||
png_bytep data, png_size_t length),PNG_EMPTY);
|
png_bytep data, size_t length),PNG_EMPTY);
|
||||||
|
|
||||||
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
||||||
# ifdef PNG_STDIO_SUPPORTED
|
# ifdef PNG_STDIO_SUPPORTED
|
||||||
|
@ -1068,7 +1074,7 @@ PNG_INTERNAL_FUNCTION(void,png_reset_crc,(png_structrp png_ptr),PNG_EMPTY);
|
||||||
|
|
||||||
/* Write the "data" buffer to whatever output you are using */
|
/* Write the "data" buffer to whatever output you are using */
|
||||||
PNG_INTERNAL_FUNCTION(void,png_write_data,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_write_data,(png_structrp png_ptr,
|
||||||
png_const_bytep data, png_size_t length),PNG_EMPTY);
|
png_const_bytep data, size_t length),PNG_EMPTY);
|
||||||
|
|
||||||
/* Read and check the PNG file signature */
|
/* Read and check the PNG file signature */
|
||||||
PNG_INTERNAL_FUNCTION(void,png_read_sig,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_read_sig,(png_structrp png_ptr,
|
||||||
|
@ -1080,7 +1086,7 @@ PNG_INTERNAL_FUNCTION(png_uint_32,png_read_chunk_header,(png_structrp png_ptr),
|
||||||
|
|
||||||
/* Read data from whatever input you are using into the "data" buffer */
|
/* Read data from whatever input you are using into the "data" buffer */
|
||||||
PNG_INTERNAL_FUNCTION(void,png_read_data,(png_structrp png_ptr, png_bytep data,
|
PNG_INTERNAL_FUNCTION(void,png_read_data,(png_structrp png_ptr, png_bytep data,
|
||||||
png_size_t length),PNG_EMPTY);
|
size_t length),PNG_EMPTY);
|
||||||
|
|
||||||
/* Read bytes into buf, and update png_ptr->crc */
|
/* Read bytes into buf, and update png_ptr->crc */
|
||||||
PNG_INTERNAL_FUNCTION(void,png_crc_read,(png_structrp png_ptr, png_bytep buf,
|
PNG_INTERNAL_FUNCTION(void,png_crc_read,(png_structrp png_ptr, png_bytep buf,
|
||||||
|
@ -1098,7 +1104,7 @@ PNG_INTERNAL_FUNCTION(int,png_crc_error,(png_structrp png_ptr),PNG_EMPTY);
|
||||||
* since this is the maximum buffer size we can specify.
|
* since this is the maximum buffer size we can specify.
|
||||||
*/
|
*/
|
||||||
PNG_INTERNAL_FUNCTION(void,png_calculate_crc,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_calculate_crc,(png_structrp png_ptr,
|
||||||
png_const_bytep ptr, png_size_t length),PNG_EMPTY);
|
png_const_bytep ptr, size_t length),PNG_EMPTY);
|
||||||
|
|
||||||
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
||||||
PNG_INTERNAL_FUNCTION(void,png_flush,(png_structrp png_ptr),PNG_EMPTY);
|
PNG_INTERNAL_FUNCTION(void,png_flush,(png_structrp png_ptr),PNG_EMPTY);
|
||||||
|
@ -1181,7 +1187,7 @@ PNG_INTERNAL_FUNCTION(void,png_write_hIST,(png_structrp png_ptr,
|
||||||
/* Chunks that have keywords */
|
/* Chunks that have keywords */
|
||||||
#ifdef PNG_WRITE_tEXt_SUPPORTED
|
#ifdef PNG_WRITE_tEXt_SUPPORTED
|
||||||
PNG_INTERNAL_FUNCTION(void,png_write_tEXt,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_write_tEXt,(png_structrp png_ptr,
|
||||||
png_const_charp key, png_const_charp text, png_size_t text_len),PNG_EMPTY);
|
png_const_charp key, png_const_charp text, size_t text_len),PNG_EMPTY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_WRITE_zTXt_SUPPORTED
|
#ifdef PNG_WRITE_zTXt_SUPPORTED
|
||||||
|
@ -1574,10 +1580,10 @@ PNG_INTERNAL_FUNCTION(void,png_push_check_crc,(png_structrp png_ptr),PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_push_save_buffer,(png_structrp png_ptr),
|
PNG_INTERNAL_FUNCTION(void,png_push_save_buffer,(png_structrp png_ptr),
|
||||||
PNG_EMPTY);
|
PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_push_restore_buffer,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_push_restore_buffer,(png_structrp png_ptr,
|
||||||
png_bytep buffer, png_size_t buffer_length),PNG_EMPTY);
|
png_bytep buffer, size_t buffer_length),PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_push_read_IDAT,(png_structrp png_ptr),PNG_EMPTY);
|
PNG_INTERNAL_FUNCTION(void,png_push_read_IDAT,(png_structrp png_ptr),PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_process_IDAT_data,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_process_IDAT_data,(png_structrp png_ptr,
|
||||||
png_bytep buffer, png_size_t buffer_length),PNG_EMPTY);
|
png_bytep buffer, size_t buffer_length),PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_push_process_row,(png_structrp png_ptr),
|
PNG_INTERNAL_FUNCTION(void,png_push_process_row,(png_structrp png_ptr),
|
||||||
PNG_EMPTY);
|
PNG_EMPTY);
|
||||||
PNG_INTERNAL_FUNCTION(void,png_push_handle_unknown,(png_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_push_handle_unknown,(png_structrp png_ptr,
|
||||||
|
@ -1847,13 +1853,13 @@ PNG_INTERNAL_FUNCTION(void,png_chunk_report,(png_const_structrp png_ptr,
|
||||||
|
|
||||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
PNG_INTERNAL_FUNCTION(void,png_ascii_from_fp,(png_const_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_ascii_from_fp,(png_const_structrp png_ptr,
|
||||||
png_charp ascii, png_size_t size, double fp, unsigned int precision),
|
png_charp ascii, size_t size, double fp, unsigned int precision),
|
||||||
PNG_EMPTY);
|
PNG_EMPTY);
|
||||||
#endif /* FLOATING_POINT */
|
#endif /* FLOATING_POINT */
|
||||||
|
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
PNG_INTERNAL_FUNCTION(void,png_ascii_from_fixed,(png_const_structrp png_ptr,
|
PNG_INTERNAL_FUNCTION(void,png_ascii_from_fixed,(png_const_structrp png_ptr,
|
||||||
png_charp ascii, png_size_t size, png_fixed_point fp),PNG_EMPTY);
|
png_charp ascii, size_t size, png_fixed_point fp),PNG_EMPTY);
|
||||||
#endif /* FIXED_POINT */
|
#endif /* FIXED_POINT */
|
||||||
#endif /* sCAL */
|
#endif /* sCAL */
|
||||||
|
|
||||||
|
@ -1946,7 +1952,7 @@ PNG_INTERNAL_FUNCTION(void,png_ascii_from_fixed,(png_const_structrp png_ptr,
|
||||||
* the problem character.) This has not been tested within libpng.
|
* the problem character.) This has not been tested within libpng.
|
||||||
*/
|
*/
|
||||||
PNG_INTERNAL_FUNCTION(int,png_check_fp_number,(png_const_charp string,
|
PNG_INTERNAL_FUNCTION(int,png_check_fp_number,(png_const_charp string,
|
||||||
png_size_t size, int *statep, png_size_tp whereami),PNG_EMPTY);
|
size_t size, int *statep, png_size_tp whereami),PNG_EMPTY);
|
||||||
|
|
||||||
/* This is the same but it checks a complete string and returns true
|
/* This is the same but it checks a complete string and returns true
|
||||||
* only if it just contains a floating point number. As of 1.5.4 this
|
* only if it just contains a floating point number. As of 1.5.4 this
|
||||||
|
@ -1955,7 +1961,7 @@ PNG_INTERNAL_FUNCTION(int,png_check_fp_number,(png_const_charp string,
|
||||||
* for negative or zero values using the sticky flag.
|
* for negative or zero values using the sticky flag.
|
||||||
*/
|
*/
|
||||||
PNG_INTERNAL_FUNCTION(int,png_check_fp_string,(png_const_charp string,
|
PNG_INTERNAL_FUNCTION(int,png_check_fp_string,(png_const_charp string,
|
||||||
png_size_t size),PNG_EMPTY);
|
size_t size),PNG_EMPTY);
|
||||||
#endif /* pCAL || sCAL */
|
#endif /* pCAL || sCAL */
|
||||||
|
|
||||||
#if defined(PNG_GAMMA_SUPPORTED) ||\
|
#if defined(PNG_GAMMA_SUPPORTED) ||\
|
||||||
|
@ -2030,7 +2036,7 @@ typedef struct png_control
|
||||||
png_voidp error_buf; /* Always a jmp_buf at present. */
|
png_voidp error_buf; /* Always a jmp_buf at present. */
|
||||||
|
|
||||||
png_const_bytep memory; /* Memory buffer. */
|
png_const_bytep memory; /* Memory buffer. */
|
||||||
png_size_t size; /* Size of the memory buffer. */
|
size_t size; /* Size of the memory buffer. */
|
||||||
|
|
||||||
unsigned int for_write :1; /* Otherwise it is a read structure */
|
unsigned int for_write :1; /* Otherwise it is a read structure */
|
||||||
unsigned int owned_file :1; /* We own the file in io_ptr */
|
unsigned int owned_file :1; /* We own the file in io_ptr */
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngread.c - read a PNG file
|
/* pngread.c - read a PNG file
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.33 [September 28, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -1532,7 +1532,7 @@ png_image_begin_read_from_file(png_imagep image, const char *file_name)
|
||||||
#endif /* STDIO */
|
#endif /* STDIO */
|
||||||
|
|
||||||
static void PNGCBAPI
|
static void PNGCBAPI
|
||||||
png_image_memory_read(png_structp png_ptr, png_bytep out, png_size_t need)
|
png_image_memory_read(png_structp png_ptr, png_bytep out, size_t need)
|
||||||
{
|
{
|
||||||
if (png_ptr != NULL)
|
if (png_ptr != NULL)
|
||||||
{
|
{
|
||||||
|
@ -1543,7 +1543,7 @@ png_image_memory_read(png_structp png_ptr, png_bytep out, png_size_t need)
|
||||||
if (cp != NULL)
|
if (cp != NULL)
|
||||||
{
|
{
|
||||||
png_const_bytep memory = cp->memory;
|
png_const_bytep memory = cp->memory;
|
||||||
png_size_t size = cp->size;
|
size_t size = cp->size;
|
||||||
|
|
||||||
if (memory != NULL && size >= need)
|
if (memory != NULL && size >= need)
|
||||||
{
|
{
|
||||||
|
@ -1562,7 +1562,7 @@ png_image_memory_read(png_structp png_ptr, png_bytep out, png_size_t need)
|
||||||
}
|
}
|
||||||
|
|
||||||
int PNGAPI png_image_begin_read_from_memory(png_imagep image,
|
int PNGAPI png_image_begin_read_from_memory(png_imagep image,
|
||||||
png_const_voidp memory, png_size_t size)
|
png_const_voidp memory, size_t size)
|
||||||
{
|
{
|
||||||
if (image != NULL && image->version == PNG_IMAGE_VERSION)
|
if (image != NULL && image->version == PNG_IMAGE_VERSION)
|
||||||
{
|
{
|
||||||
|
@ -4150,7 +4150,7 @@ png_image_finish_read(png_imagep image, png_const_colorp background,
|
||||||
*
|
*
|
||||||
* NOTE: this will be changed in 1.7 because PNG_IMAGE_BUFFER_SIZE
|
* NOTE: this will be changed in 1.7 because PNG_IMAGE_BUFFER_SIZE
|
||||||
* will be changed to use png_alloc_size_t; bigger images can be
|
* will be changed to use png_alloc_size_t; bigger images can be
|
||||||
* accomodated on 64-bit systems.
|
* accommodated on 64-bit systems.
|
||||||
*/
|
*/
|
||||||
if (image->height <=
|
if (image->height <=
|
||||||
0xffffffffU/PNG_IMAGE_PIXEL_COMPONENT_SIZE(image->format)/check)
|
0xffffffffU/PNG_IMAGE_PIXEL_COMPONENT_SIZE(image->format)/check)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngrio.c - functions for data input
|
/* pngrio.c - functions for data input
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.24 [August 4, 2016]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
* to read more than 64K on a 16-bit machine.
|
* to read more than 64K on a 16-bit machine.
|
||||||
*/
|
*/
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_read_data(png_structrp png_ptr, png_bytep data, png_size_t length)
|
png_read_data(png_structrp png_ptr, png_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
png_debug1(4, "reading %d bytes", (int)length);
|
png_debug1(4, "reading %d bytes", (int)length);
|
||||||
|
|
||||||
|
@ -47,14 +47,14 @@ png_read_data(png_structrp png_ptr, png_bytep data, png_size_t length)
|
||||||
* than changing the library.
|
* than changing the library.
|
||||||
*/
|
*/
|
||||||
void PNGCBAPI
|
void PNGCBAPI
|
||||||
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
png_default_read_data(png_structp png_ptr, png_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
png_size_t check;
|
size_t check;
|
||||||
|
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* fread() returns 0 on error, so it is OK to store this in a png_size_t
|
/* fread() returns 0 on error, so it is OK to store this in a size_t
|
||||||
* instead of an int, which is what fread() actually returns.
|
* instead of an int, which is what fread() actually returns.
|
||||||
*/
|
*/
|
||||||
check = fread(data, 1, length, png_voidcast(png_FILE_p, png_ptr->io_ptr));
|
check = fread(data, 1, length, png_voidcast(png_FILE_p, png_ptr->io_ptr));
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngrutil.c - utilities to read a PNG file
|
/* pngrutil.c - utilities to read a PNG file
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.33 [September 28, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -102,7 +102,7 @@ png_get_int_32)(png_const_bytep buf)
|
||||||
png_uint_16 (PNGAPI
|
png_uint_16 (PNGAPI
|
||||||
png_get_uint_16)(png_const_bytep buf)
|
png_get_uint_16)(png_const_bytep buf)
|
||||||
{
|
{
|
||||||
/* ANSI-C requires an int value to accomodate at least 16 bits so this
|
/* ANSI-C requires an int value to accommodate at least 16 bits so this
|
||||||
* works and allows the compiler not to worry about possible narrowing
|
* works and allows the compiler not to worry about possible narrowing
|
||||||
* on 32-bit systems. (Pre-ANSI systems did not make integers smaller
|
* on 32-bit systems. (Pre-ANSI systems did not make integers smaller
|
||||||
* than 16 bits either.)
|
* than 16 bits either.)
|
||||||
|
@ -120,7 +120,7 @@ png_get_uint_16)(png_const_bytep buf)
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_read_sig(png_structrp png_ptr, png_inforp info_ptr)
|
png_read_sig(png_structrp png_ptr, png_inforp info_ptr)
|
||||||
{
|
{
|
||||||
png_size_t num_checked, num_to_check;
|
size_t num_checked, num_to_check;
|
||||||
|
|
||||||
/* Exit if the user application does not expect a signature. */
|
/* Exit if the user application does not expect a signature. */
|
||||||
if (png_ptr->sig_bytes >= 8)
|
if (png_ptr->sig_bytes >= 8)
|
||||||
|
@ -1648,7 +1648,7 @@ png_handle_sPLT(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
||||||
int entry_size, i;
|
int entry_size, i;
|
||||||
png_uint_32 skip = 0;
|
png_uint_32 skip = 0;
|
||||||
png_uint_32 dl;
|
png_uint_32 dl;
|
||||||
png_size_t max_dl;
|
size_t max_dl;
|
||||||
|
|
||||||
png_debug(1, "in png_handle_sPLT");
|
png_debug(1, "in png_handle_sPLT");
|
||||||
|
|
||||||
|
@ -1997,6 +1997,15 @@ png_handle_bKGD(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
||||||
|
|
||||||
else if ((png_ptr->color_type & PNG_COLOR_MASK_COLOR) == 0) /* GRAY */
|
else if ((png_ptr->color_type & PNG_COLOR_MASK_COLOR) == 0) /* GRAY */
|
||||||
{
|
{
|
||||||
|
if (png_ptr->bit_depth <= 8)
|
||||||
|
{
|
||||||
|
if (buf[0] != 0 || buf[1] >= (unsigned int)(1 << png_ptr->bit_depth))
|
||||||
|
{
|
||||||
|
png_chunk_benign_error(png_ptr, "invalid gray level");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
background.index = 0;
|
background.index = 0;
|
||||||
background.red =
|
background.red =
|
||||||
background.green =
|
background.green =
|
||||||
|
@ -2006,6 +2015,15 @@ png_handle_bKGD(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (png_ptr->bit_depth <= 8)
|
||||||
|
{
|
||||||
|
if (buf[0] != 0 || buf[2] != 0 || buf[4] != 0)
|
||||||
|
{
|
||||||
|
png_chunk_benign_error(png_ptr, "invalid color");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
background.index = 0;
|
background.index = 0;
|
||||||
background.red = png_get_uint_16(buf);
|
background.red = png_get_uint_16(buf);
|
||||||
background.green = png_get_uint_16(buf + 2);
|
background.green = png_get_uint_16(buf + 2);
|
||||||
|
@ -2359,7 +2377,7 @@ void /* PRIVATE */
|
||||||
png_handle_sCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
png_handle_sCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
||||||
{
|
{
|
||||||
png_bytep buffer;
|
png_bytep buffer;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
png_debug(1, "in png_handle_sCAL");
|
png_debug(1, "in png_handle_sCAL");
|
||||||
|
@ -2429,7 +2447,7 @@ png_handle_sCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
png_size_t heighti = i;
|
size_t heighti = i;
|
||||||
|
|
||||||
state = 0;
|
state = 0;
|
||||||
if (png_check_fp_number((png_const_charp)buffer, length,
|
if (png_check_fp_number((png_const_charp)buffer, length,
|
||||||
|
@ -2867,7 +2885,7 @@ png_cache_unknown_chunk(png_structrp png_ptr, png_uint_32 length)
|
||||||
{
|
{
|
||||||
PNG_CSTRING_FROM_CHUNK(png_ptr->unknown_chunk.name, png_ptr->chunk_name);
|
PNG_CSTRING_FROM_CHUNK(png_ptr->unknown_chunk.name, png_ptr->chunk_name);
|
||||||
/* The following is safe because of the PNG_SIZE_MAX init above */
|
/* The following is safe because of the PNG_SIZE_MAX init above */
|
||||||
png_ptr->unknown_chunk.size = (png_size_t)length/*SAFE*/;
|
png_ptr->unknown_chunk.size = (size_t)length/*SAFE*/;
|
||||||
/* 'mode' is a flag array, only the bottom four bits matter here */
|
/* 'mode' is a flag array, only the bottom four bits matter here */
|
||||||
png_ptr->unknown_chunk.location = (png_byte)png_ptr->mode/*SAFE*/;
|
png_ptr->unknown_chunk.location = (png_byte)png_ptr->mode/*SAFE*/;
|
||||||
|
|
||||||
|
@ -3149,10 +3167,13 @@ png_check_chunk_length(png_const_structrp png_ptr, const png_uint_32 length)
|
||||||
{
|
{
|
||||||
png_alloc_size_t idat_limit = PNG_UINT_31_MAX;
|
png_alloc_size_t idat_limit = PNG_UINT_31_MAX;
|
||||||
size_t row_factor =
|
size_t row_factor =
|
||||||
(png_ptr->width * png_ptr->channels * (png_ptr->bit_depth > 8? 2: 1)
|
(size_t)png_ptr->width
|
||||||
+ 1 + (png_ptr->interlaced? 6: 0));
|
* (size_t)png_ptr->channels
|
||||||
|
* (png_ptr->bit_depth > 8? 2: 1)
|
||||||
|
+ 1
|
||||||
|
+ (png_ptr->interlaced? 6: 0);
|
||||||
if (png_ptr->height > PNG_UINT_32_MAX/row_factor)
|
if (png_ptr->height > PNG_UINT_32_MAX/row_factor)
|
||||||
idat_limit=PNG_UINT_31_MAX;
|
idat_limit = PNG_UINT_31_MAX;
|
||||||
else
|
else
|
||||||
idat_limit = png_ptr->height * row_factor;
|
idat_limit = png_ptr->height * row_factor;
|
||||||
row_factor = row_factor > 32566? 32566 : row_factor;
|
row_factor = row_factor > 32566? 32566 : row_factor;
|
||||||
|
@ -3679,8 +3700,8 @@ png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 3);
|
png_bytep sp = row + (size_t)((row_info->width - 1) >> 3);
|
||||||
png_bytep dp = row + (png_size_t)((final_width - 1) >> 3);
|
png_bytep dp = row + (size_t)((final_width - 1) >> 3);
|
||||||
unsigned int sshift, dshift;
|
unsigned int sshift, dshift;
|
||||||
unsigned int s_start, s_end;
|
unsigned int s_start, s_end;
|
||||||
int s_inc;
|
int s_inc;
|
||||||
|
@ -3806,8 +3827,8 @@ png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
{
|
{
|
||||||
png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 1);
|
png_bytep sp = row + (size_t)((row_info->width - 1) >> 1);
|
||||||
png_bytep dp = row + (png_size_t)((final_width - 1) >> 1);
|
png_bytep dp = row + (size_t)((final_width - 1) >> 1);
|
||||||
unsigned int sshift, dshift;
|
unsigned int sshift, dshift;
|
||||||
unsigned int s_start, s_end;
|
unsigned int s_start, s_end;
|
||||||
int s_inc;
|
int s_inc;
|
||||||
|
@ -3869,12 +3890,12 @@ png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
png_size_t pixel_bytes = (row_info->pixel_depth >> 3);
|
size_t pixel_bytes = (row_info->pixel_depth >> 3);
|
||||||
|
|
||||||
png_bytep sp = row + (png_size_t)(row_info->width - 1)
|
png_bytep sp = row + (size_t)(row_info->width - 1)
|
||||||
* pixel_bytes;
|
* pixel_bytes;
|
||||||
|
|
||||||
png_bytep dp = row + (png_size_t)(final_width - 1) * pixel_bytes;
|
png_bytep dp = row + (size_t)(final_width - 1) * pixel_bytes;
|
||||||
|
|
||||||
int jstop = (int)png_pass_inc[pass];
|
int jstop = (int)png_pass_inc[pass];
|
||||||
png_uint_32 i;
|
png_uint_32 i;
|
||||||
|
@ -3911,8 +3932,8 @@ static void
|
||||||
png_read_filter_row_sub(png_row_infop row_info, png_bytep row,
|
png_read_filter_row_sub(png_row_infop row_info, png_bytep row,
|
||||||
png_const_bytep prev_row)
|
png_const_bytep prev_row)
|
||||||
{
|
{
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t istop = row_info->rowbytes;
|
size_t istop = row_info->rowbytes;
|
||||||
unsigned int bpp = (row_info->pixel_depth + 7) >> 3;
|
unsigned int bpp = (row_info->pixel_depth + 7) >> 3;
|
||||||
png_bytep rp = row + bpp;
|
png_bytep rp = row + bpp;
|
||||||
|
|
||||||
|
@ -3929,8 +3950,8 @@ static void
|
||||||
png_read_filter_row_up(png_row_infop row_info, png_bytep row,
|
png_read_filter_row_up(png_row_infop row_info, png_bytep row,
|
||||||
png_const_bytep prev_row)
|
png_const_bytep prev_row)
|
||||||
{
|
{
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t istop = row_info->rowbytes;
|
size_t istop = row_info->rowbytes;
|
||||||
png_bytep rp = row;
|
png_bytep rp = row;
|
||||||
png_const_bytep pp = prev_row;
|
png_const_bytep pp = prev_row;
|
||||||
|
|
||||||
|
@ -3945,11 +3966,11 @@ static void
|
||||||
png_read_filter_row_avg(png_row_infop row_info, png_bytep row,
|
png_read_filter_row_avg(png_row_infop row_info, png_bytep row,
|
||||||
png_const_bytep prev_row)
|
png_const_bytep prev_row)
|
||||||
{
|
{
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_bytep rp = row;
|
png_bytep rp = row;
|
||||||
png_const_bytep pp = prev_row;
|
png_const_bytep pp = prev_row;
|
||||||
unsigned int bpp = (row_info->pixel_depth + 7) >> 3;
|
unsigned int bpp = (row_info->pixel_depth + 7) >> 3;
|
||||||
png_size_t istop = row_info->rowbytes - bpp;
|
size_t istop = row_info->rowbytes - bpp;
|
||||||
|
|
||||||
for (i = 0; i < bpp; i++)
|
for (i = 0; i < bpp; i++)
|
||||||
{
|
{
|
||||||
|
@ -4385,7 +4406,7 @@ png_read_start_row(png_structrp png_ptr)
|
||||||
static PNG_CONST png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
|
static PNG_CONST png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
|
||||||
|
|
||||||
unsigned int max_pixel_depth;
|
unsigned int max_pixel_depth;
|
||||||
png_size_t row_bytes;
|
size_t row_bytes;
|
||||||
|
|
||||||
png_debug(1, "in png_read_start_row");
|
png_debug(1, "in png_read_start_row");
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngset.c - storage of image information into info struct
|
/* pngset.c - storage of image information into info struct
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -313,7 +313,7 @@ png_set_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type,
|
png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type,
|
||||||
int nparams, png_const_charp units, png_charpp params)
|
int nparams, png_const_charp units, png_charpp params)
|
||||||
{
|
{
|
||||||
png_size_t length;
|
size_t length;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
png_debug1(1, "in %s storage function", "pCAL");
|
png_debug1(1, "in %s storage function", "pCAL");
|
||||||
|
@ -390,7 +390,7 @@ png_set_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
memcpy(info_ptr->pcal_units, units, length);
|
memcpy(info_ptr->pcal_units, units, length);
|
||||||
|
|
||||||
info_ptr->pcal_params = png_voidcast(png_charpp, png_malloc_warn(png_ptr,
|
info_ptr->pcal_params = png_voidcast(png_charpp, png_malloc_warn(png_ptr,
|
||||||
(png_size_t)(((unsigned int)nparams + 1) * (sizeof (png_charp)))));
|
(size_t)(((unsigned int)nparams + 1) * (sizeof (png_charp)))));
|
||||||
|
|
||||||
if (info_ptr->pcal_params == NULL)
|
if (info_ptr->pcal_params == NULL)
|
||||||
{
|
{
|
||||||
|
@ -430,7 +430,7 @@ void PNGAPI
|
||||||
png_set_sCAL_s(png_const_structrp png_ptr, png_inforp info_ptr,
|
png_set_sCAL_s(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
int unit, png_const_charp swidth, png_const_charp sheight)
|
int unit, png_const_charp swidth, png_const_charp sheight)
|
||||||
{
|
{
|
||||||
png_size_t lengthw = 0, lengthh = 0;
|
size_t lengthw = 0, lengthh = 0;
|
||||||
|
|
||||||
png_debug1(1, "in %s storage function", "sCAL");
|
png_debug1(1, "in %s storage function", "sCAL");
|
||||||
|
|
||||||
|
@ -691,7 +691,7 @@ png_set_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
{
|
{
|
||||||
png_charp new_iccp_name;
|
png_charp new_iccp_name;
|
||||||
png_bytep new_iccp_profile;
|
png_bytep new_iccp_profile;
|
||||||
png_size_t length;
|
size_t length;
|
||||||
|
|
||||||
png_debug1(1, "in %s storage function", "iCCP");
|
png_debug1(1, "in %s storage function", "iCCP");
|
||||||
|
|
||||||
|
@ -1018,7 +1018,7 @@ png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr,
|
||||||
/* Changed from num_trans to PNG_MAX_PALETTE_LENGTH in version 1.2.1 */
|
/* Changed from num_trans to PNG_MAX_PALETTE_LENGTH in version 1.2.1 */
|
||||||
info_ptr->trans_alpha = png_voidcast(png_bytep,
|
info_ptr->trans_alpha = png_voidcast(png_bytep,
|
||||||
png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH));
|
png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH));
|
||||||
memcpy(info_ptr->trans_alpha, trans_alpha, (png_size_t)num_trans);
|
memcpy(info_ptr->trans_alpha, trans_alpha, (size_t)num_trans);
|
||||||
}
|
}
|
||||||
png_ptr->trans_alpha = info_ptr->trans_alpha;
|
png_ptr->trans_alpha = info_ptr->trans_alpha;
|
||||||
}
|
}
|
||||||
|
@ -1098,7 +1098,7 @@ png_set_sPLT(png_const_structrp png_ptr,
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
png_size_t length;
|
size_t length;
|
||||||
|
|
||||||
/* Skip invalid input entries */
|
/* Skip invalid input entries */
|
||||||
if (entries->name == NULL || entries->entries == NULL)
|
if (entries->name == NULL || entries->entries == NULL)
|
||||||
|
@ -1563,7 +1563,7 @@ png_set_rows(png_const_structrp png_ptr, png_inforp info_ptr,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_set_compression_buffer_size(png_structrp png_ptr, png_size_t size)
|
png_set_compression_buffer_size(png_structrp png_ptr, size_t size)
|
||||||
{
|
{
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngstruct.h - header file for PNG reference library
|
/* pngstruct.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
/* zlib.h declares a magic type 'uInt' that limits the amount of data that zlib
|
/* zlib.h declares a magic type 'uInt' that limits the amount of data that zlib
|
||||||
* can handle at once. This type need be no larger than 16 bits (so maximum of
|
* can handle at once. This type need be no larger than 16 bits (so maximum of
|
||||||
* 65535), this define allows us to discover how big it is, but limited by the
|
* 65535), this define allows us to discover how big it is, but limited by the
|
||||||
* maximuum for png_size_t. The value can be overriden in a library build
|
* maximum for size_t. The value can be overridden in a library build
|
||||||
* (pngusr.h, or set it in CPPFLAGS) and it works to set it to a considerably
|
* (pngusr.h, or set it in CPPFLAGS) and it works to set it to a considerably
|
||||||
* lower value (e.g. 255 works). A lower value may help memory usage (slightly)
|
* lower value (e.g. 255 works). A lower value may help memory usage (slightly)
|
||||||
* and may even improve performance on some systems (and degrade it on others.)
|
* and may even improve performance on some systems (and degrade it on others.)
|
||||||
|
@ -214,7 +214,7 @@ struct png_struct_def
|
||||||
png_uint_32 height; /* height of image in pixels */
|
png_uint_32 height; /* height of image in pixels */
|
||||||
png_uint_32 num_rows; /* number of rows in current pass */
|
png_uint_32 num_rows; /* number of rows in current pass */
|
||||||
png_uint_32 usr_width; /* width of row at start of write */
|
png_uint_32 usr_width; /* width of row at start of write */
|
||||||
png_size_t rowbytes; /* size of row in bytes */
|
size_t rowbytes; /* size of row in bytes */
|
||||||
png_uint_32 iwidth; /* width of current interlaced row in pixels */
|
png_uint_32 iwidth; /* width of current interlaced row in pixels */
|
||||||
png_uint_32 row_number; /* current row in interlace pass */
|
png_uint_32 row_number; /* current row in interlace pass */
|
||||||
png_uint_32 chunk_name; /* PNG_CHUNK() id of current chunk */
|
png_uint_32 chunk_name; /* PNG_CHUNK() id of current chunk */
|
||||||
|
@ -232,7 +232,7 @@ struct png_struct_def
|
||||||
png_bytep try_row; /* buffer to save trial row when filtering */
|
png_bytep try_row; /* buffer to save trial row when filtering */
|
||||||
png_bytep tst_row; /* buffer to save best trial row when filtering */
|
png_bytep tst_row; /* buffer to save best trial row when filtering */
|
||||||
#endif
|
#endif
|
||||||
png_size_t info_rowbytes; /* Added in 1.5.4: cache of updated row bytes */
|
size_t info_rowbytes; /* Added in 1.5.4: cache of updated row bytes */
|
||||||
|
|
||||||
png_uint_32 idat_size; /* current IDAT size for read */
|
png_uint_32 idat_size; /* current IDAT size for read */
|
||||||
png_uint_32 crc; /* current chunk CRC value */
|
png_uint_32 crc; /* current chunk CRC value */
|
||||||
|
@ -307,7 +307,7 @@ struct png_struct_def
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
|
#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
|
||||||
png_color_8 shift; /* shift for significant bit tranformation */
|
png_color_8 shift; /* shift for significant bit transformation */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
|
#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
|
||||||
|
@ -328,10 +328,10 @@ struct png_struct_def
|
||||||
png_bytep current_buffer; /* buffer for recently used data */
|
png_bytep current_buffer; /* buffer for recently used data */
|
||||||
png_uint_32 push_length; /* size of current input chunk */
|
png_uint_32 push_length; /* size of current input chunk */
|
||||||
png_uint_32 skip_length; /* bytes to skip in input data */
|
png_uint_32 skip_length; /* bytes to skip in input data */
|
||||||
png_size_t save_buffer_size; /* amount of data now in save_buffer */
|
size_t save_buffer_size; /* amount of data now in save_buffer */
|
||||||
png_size_t save_buffer_max; /* total size of save_buffer */
|
size_t save_buffer_max; /* total size of save_buffer */
|
||||||
png_size_t buffer_size; /* total amount of available input data */
|
size_t buffer_size; /* total amount of available input data */
|
||||||
png_size_t current_buffer_size; /* amount of data now in current_buffer */
|
size_t current_buffer_size; /* amount of data now in current_buffer */
|
||||||
int process_mode; /* what push library is currently doing */
|
int process_mode; /* what push library is currently doing */
|
||||||
int cur_palette; /* current push library palette index */
|
int cur_palette; /* current push library palette index */
|
||||||
|
|
||||||
|
@ -451,7 +451,7 @@ struct png_struct_def
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* New member added in libpng-1.2.26 */
|
/* New member added in libpng-1.2.26 */
|
||||||
png_size_t old_big_row_buf_size;
|
size_t old_big_row_buf_size;
|
||||||
|
|
||||||
#ifdef PNG_READ_SUPPORTED
|
#ifdef PNG_READ_SUPPORTED
|
||||||
/* New member added in libpng-1.2.30 */
|
/* New member added in libpng-1.2.30 */
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
|
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.33 [September 28, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -269,8 +269,8 @@ png_do_invert(png_row_infop row_info, png_bytep row)
|
||||||
if (row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
if (row_info->color_type == PNG_COLOR_TYPE_GRAY)
|
||||||
{
|
{
|
||||||
png_bytep rp = row;
|
png_bytep rp = row;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t istop = row_info->rowbytes;
|
size_t istop = row_info->rowbytes;
|
||||||
|
|
||||||
for (i = 0; i < istop; i++)
|
for (i = 0; i < istop; i++)
|
||||||
{
|
{
|
||||||
|
@ -283,8 +283,8 @@ png_do_invert(png_row_infop row_info, png_bytep row)
|
||||||
row_info->bit_depth == 8)
|
row_info->bit_depth == 8)
|
||||||
{
|
{
|
||||||
png_bytep rp = row;
|
png_bytep rp = row;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t istop = row_info->rowbytes;
|
size_t istop = row_info->rowbytes;
|
||||||
|
|
||||||
for (i = 0; i < istop; i += 2)
|
for (i = 0; i < istop; i += 2)
|
||||||
{
|
{
|
||||||
|
@ -298,8 +298,8 @@ png_do_invert(png_row_infop row_info, png_bytep row)
|
||||||
row_info->bit_depth == 16)
|
row_info->bit_depth == 16)
|
||||||
{
|
{
|
||||||
png_bytep rp = row;
|
png_bytep rp = row;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t istop = row_info->rowbytes;
|
size_t istop = row_info->rowbytes;
|
||||||
|
|
||||||
for (i = 0; i < istop; i += 4)
|
for (i = 0; i < istop; i += 4)
|
||||||
{
|
{
|
||||||
|
@ -609,7 +609,7 @@ png_do_strip_channel(png_row_infop row_info, png_bytep row, int at_start)
|
||||||
return; /* The filler channel has gone already */
|
return; /* The filler channel has gone already */
|
||||||
|
|
||||||
/* Fix the rowbytes value. */
|
/* Fix the rowbytes value. */
|
||||||
row_info->rowbytes = (png_size_t)(dp-row);
|
row_info->rowbytes = (size_t)(dp-row);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngwio.c - functions for data output
|
/* pngwio.c - functions for data output
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.24 [August 4, 2016]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2014,2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2014,2016,2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_write_data(png_structrp png_ptr, png_const_bytep data, png_size_t length)
|
png_write_data(png_structrp png_ptr, png_const_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
/* NOTE: write_data_fn must not change the buffer! */
|
/* NOTE: write_data_fn must not change the buffer! */
|
||||||
if (png_ptr->write_data_fn != NULL )
|
if (png_ptr->write_data_fn != NULL )
|
||||||
|
@ -48,9 +48,9 @@ png_write_data(png_structrp png_ptr, png_const_bytep data, png_size_t length)
|
||||||
* than changing the library.
|
* than changing the library.
|
||||||
*/
|
*/
|
||||||
void PNGCBAPI
|
void PNGCBAPI
|
||||||
png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
|
png_default_write_data(png_structp png_ptr, png_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
png_size_t check;
|
size_t check;
|
||||||
|
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngwrite.c - general routines to write a PNG file
|
/* pngwrite.c - general routines to write a PNG file
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -1636,7 +1636,7 @@ png_write_image_16bit(png_voidp argument)
|
||||||
* calculation can be done to 15 bits of accuracy; however, the output needs to
|
* calculation can be done to 15 bits of accuracy; however, the output needs to
|
||||||
* be scaled in the range 0..255*65535, so include that scaling here.
|
* be scaled in the range 0..255*65535, so include that scaling here.
|
||||||
*/
|
*/
|
||||||
# define UNP_RECIPROCAL(alpha) ((((0xffff*0xff)<<7)+(alpha>>1))/alpha)
|
# define UNP_RECIPROCAL(alpha) ((((0xffff*0xff)<<7)+((alpha)>>1))/(alpha))
|
||||||
|
|
||||||
static png_byte
|
static png_byte
|
||||||
png_unpremultiply(png_uint_32 component, png_uint_32 alpha,
|
png_unpremultiply(png_uint_32 component, png_uint_32 alpha,
|
||||||
|
@ -2162,8 +2162,7 @@ png_image_write_main(png_voidp argument)
|
||||||
|
|
||||||
|
|
||||||
static void (PNGCBAPI
|
static void (PNGCBAPI
|
||||||
image_memory_write)(png_structp png_ptr, png_bytep/*const*/ data,
|
image_memory_write)(png_structp png_ptr, png_bytep/*const*/ data, size_t size)
|
||||||
png_size_t size)
|
|
||||||
{
|
{
|
||||||
png_image_write_control *display = png_voidcast(png_image_write_control*,
|
png_image_write_control *display = png_voidcast(png_image_write_control*,
|
||||||
png_ptr->io_ptr/*backdoor: png_get_io_ptr(png_ptr)*/);
|
png_ptr->io_ptr/*backdoor: png_get_io_ptr(png_ptr)*/);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngwtran.c - transforms the data in a row for PNG writers
|
/* pngwtran.c - transforms the data in a row for PNG writers
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.26 [October 20, 2016]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -212,9 +212,9 @@ png_do_shift(png_row_infop row_info, png_bytep row,
|
||||||
if (row_info->bit_depth < 8)
|
if (row_info->bit_depth < 8)
|
||||||
{
|
{
|
||||||
png_bytep bp = row;
|
png_bytep bp = row;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
unsigned int mask;
|
unsigned int mask;
|
||||||
png_size_t row_bytes = row_info->rowbytes;
|
size_t row_bytes = row_info->rowbytes;
|
||||||
|
|
||||||
if (bit_depth->gray == 1 && row_info->bit_depth == 2)
|
if (bit_depth->gray == 1 && row_info->bit_depth == 2)
|
||||||
mask = 0x55;
|
mask = 0x55;
|
||||||
|
@ -514,7 +514,7 @@ png_do_write_transformations(png_structrp png_ptr, png_row_infop row_info)
|
||||||
(png_ptr, /* png_ptr */
|
(png_ptr, /* png_ptr */
|
||||||
row_info, /* row_info: */
|
row_info, /* row_info: */
|
||||||
/* png_uint_32 width; width of row */
|
/* png_uint_32 width; width of row */
|
||||||
/* png_size_t rowbytes; number of bytes in row */
|
/* size_t rowbytes; number of bytes in row */
|
||||||
/* png_byte color_type; color type of pixels */
|
/* png_byte color_type; color type of pixels */
|
||||||
/* png_byte bit_depth; bit depth of samples */
|
/* png_byte bit_depth; bit depth of samples */
|
||||||
/* png_byte channels; number of channels (1-4) */
|
/* png_byte channels; number of channels (1-4) */
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
/* pngwutil.c - utilities to write a PNG file
|
/* pngwutil.c - utilities to write a PNG file
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.32 [August 24, 2017]
|
* Last changed in libpng 1.6.35 [July 15, 2018]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
*
|
*
|
||||||
|
@ -59,7 +59,7 @@ png_write_sig(png_structrp png_ptr)
|
||||||
|
|
||||||
/* Write the rest of the 8 byte signature */
|
/* Write the rest of the 8 byte signature */
|
||||||
png_write_data(png_ptr, &png_signature[png_ptr->sig_bytes],
|
png_write_data(png_ptr, &png_signature[png_ptr->sig_bytes],
|
||||||
(png_size_t)(8 - png_ptr->sig_bytes));
|
(size_t)(8 - png_ptr->sig_bytes));
|
||||||
|
|
||||||
if (png_ptr->sig_bytes < 3)
|
if (png_ptr->sig_bytes < 3)
|
||||||
png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
|
png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
|
||||||
|
@ -124,8 +124,7 @@ png_write_chunk_start(png_structrp png_ptr, png_const_bytep chunk_string,
|
||||||
* given to png_write_chunk_header().
|
* given to png_write_chunk_header().
|
||||||
*/
|
*/
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_write_chunk_data(png_structrp png_ptr, png_const_bytep data,
|
png_write_chunk_data(png_structrp png_ptr, png_const_bytep data, size_t length)
|
||||||
png_size_t length)
|
|
||||||
{
|
{
|
||||||
/* Write the data, and run the CRC over it */
|
/* Write the data, and run the CRC over it */
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
|
@ -160,7 +159,7 @@ png_write_chunk_end(png_structrp png_ptr)
|
||||||
/* Write the crc in a single operation */
|
/* Write the crc in a single operation */
|
||||||
png_save_uint_32(buf, png_ptr->crc);
|
png_save_uint_32(buf, png_ptr->crc);
|
||||||
|
|
||||||
png_write_data(png_ptr, buf, (png_size_t)4);
|
png_write_data(png_ptr, buf, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write a PNG chunk all at once. The type is an array of ASCII characters
|
/* Write a PNG chunk all at once. The type is an array of ASCII characters
|
||||||
|
@ -174,7 +173,7 @@ png_write_chunk_end(png_structrp png_ptr)
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
png_write_complete_chunk(png_structrp png_ptr, png_uint_32 chunk_name,
|
png_write_complete_chunk(png_structrp png_ptr, png_uint_32 chunk_name,
|
||||||
png_const_bytep data, png_size_t length)
|
png_const_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
if (png_ptr == NULL)
|
if (png_ptr == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -191,7 +190,7 @@ png_write_complete_chunk(png_structrp png_ptr, png_uint_32 chunk_name,
|
||||||
/* This is the API that calls the internal function above. */
|
/* This is the API that calls the internal function above. */
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_write_chunk(png_structrp png_ptr, png_const_bytep chunk_string,
|
png_write_chunk(png_structrp png_ptr, png_const_bytep chunk_string,
|
||||||
png_const_bytep data, png_size_t length)
|
png_const_bytep data, size_t length)
|
||||||
{
|
{
|
||||||
png_write_complete_chunk(png_ptr, PNG_CHUNK_FROM_STRING(chunk_string), data,
|
png_write_complete_chunk(png_ptr, PNG_CHUNK_FROM_STRING(chunk_string), data,
|
||||||
length);
|
length);
|
||||||
|
@ -820,7 +819,7 @@ png_write_IHDR(png_structrp png_ptr, png_uint_32 width, png_uint_32 height,
|
||||||
buf[12] = (png_byte)interlace_type;
|
buf[12] = (png_byte)interlace_type;
|
||||||
|
|
||||||
/* Write the chunk */
|
/* Write the chunk */
|
||||||
png_write_complete_chunk(png_ptr, png_IHDR, buf, (png_size_t)13);
|
png_write_complete_chunk(png_ptr, png_IHDR, buf, 13);
|
||||||
|
|
||||||
if ((png_ptr->do_filter) == PNG_NO_FILTERS)
|
if ((png_ptr->do_filter) == PNG_NO_FILTERS)
|
||||||
{
|
{
|
||||||
|
@ -889,7 +888,7 @@ png_write_PLTE(png_structrp png_ptr, png_const_colorp palette,
|
||||||
buf[0] = pal_ptr->red;
|
buf[0] = pal_ptr->red;
|
||||||
buf[1] = pal_ptr->green;
|
buf[1] = pal_ptr->green;
|
||||||
buf[2] = pal_ptr->blue;
|
buf[2] = pal_ptr->blue;
|
||||||
png_write_chunk_data(png_ptr, buf, (png_size_t)3);
|
png_write_chunk_data(png_ptr, buf, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -903,7 +902,7 @@ png_write_PLTE(png_structrp png_ptr, png_const_colorp palette,
|
||||||
buf[0] = pal_ptr[i].red;
|
buf[0] = pal_ptr[i].red;
|
||||||
buf[1] = pal_ptr[i].green;
|
buf[1] = pal_ptr[i].green;
|
||||||
buf[2] = pal_ptr[i].blue;
|
buf[2] = pal_ptr[i].blue;
|
||||||
png_write_chunk_data(png_ptr, buf, (png_size_t)3);
|
png_write_chunk_data(png_ptr, buf, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1075,7 +1074,7 @@ png_write_IEND(png_structrp png_ptr)
|
||||||
{
|
{
|
||||||
png_debug(1, "in png_write_IEND");
|
png_debug(1, "in png_write_IEND");
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_IEND, NULL, (png_size_t)0);
|
png_write_complete_chunk(png_ptr, png_IEND, NULL, 0);
|
||||||
png_ptr->mode |= PNG_HAVE_IEND;
|
png_ptr->mode |= PNG_HAVE_IEND;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1090,7 +1089,7 @@ png_write_gAMA_fixed(png_structrp png_ptr, png_fixed_point file_gamma)
|
||||||
|
|
||||||
/* file_gamma is saved in 1/100,000ths */
|
/* file_gamma is saved in 1/100,000ths */
|
||||||
png_save_uint_32(buf, (png_uint_32)file_gamma);
|
png_save_uint_32(buf, (png_uint_32)file_gamma);
|
||||||
png_write_complete_chunk(png_ptr, png_gAMA, buf, (png_size_t)4);
|
png_write_complete_chunk(png_ptr, png_gAMA, buf, 4);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1108,7 +1107,7 @@ png_write_sRGB(png_structrp png_ptr, int srgb_intent)
|
||||||
"Invalid sRGB rendering intent specified");
|
"Invalid sRGB rendering intent specified");
|
||||||
|
|
||||||
buf[0]=(png_byte)srgb_intent;
|
buf[0]=(png_byte)srgb_intent;
|
||||||
png_write_complete_chunk(png_ptr, png_sRGB, buf, (png_size_t)1);
|
png_write_complete_chunk(png_ptr, png_sRGB, buf, 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1182,8 +1181,8 @@ png_write_sPLT(png_structrp png_ptr, png_const_sPLT_tp spalette)
|
||||||
png_uint_32 name_len;
|
png_uint_32 name_len;
|
||||||
png_byte new_name[80];
|
png_byte new_name[80];
|
||||||
png_byte entrybuf[10];
|
png_byte entrybuf[10];
|
||||||
png_size_t entry_size = (spalette->depth == 8 ? 6 : 10);
|
size_t entry_size = (spalette->depth == 8 ? 6 : 10);
|
||||||
png_size_t palette_size = entry_size * (png_size_t)spalette->nentries;
|
size_t palette_size = entry_size * (size_t)spalette->nentries;
|
||||||
png_sPLT_entryp ep;
|
png_sPLT_entryp ep;
|
||||||
#ifndef PNG_POINTER_INDEXING_SUPPORTED
|
#ifndef PNG_POINTER_INDEXING_SUPPORTED
|
||||||
int i;
|
int i;
|
||||||
|
@ -1200,10 +1199,9 @@ png_write_sPLT(png_structrp png_ptr, png_const_sPLT_tp spalette)
|
||||||
png_write_chunk_header(png_ptr, png_sPLT,
|
png_write_chunk_header(png_ptr, png_sPLT,
|
||||||
(png_uint_32)(name_len + 2 + palette_size));
|
(png_uint_32)(name_len + 2 + palette_size));
|
||||||
|
|
||||||
png_write_chunk_data(png_ptr, (png_bytep)new_name,
|
png_write_chunk_data(png_ptr, (png_bytep)new_name, (size_t)(name_len + 1));
|
||||||
(png_size_t)(name_len + 1));
|
|
||||||
|
|
||||||
png_write_chunk_data(png_ptr, &spalette->depth, (png_size_t)1);
|
png_write_chunk_data(png_ptr, &spalette->depth, 1);
|
||||||
|
|
||||||
/* Loop through each palette entry, writing appropriately */
|
/* Loop through each palette entry, writing appropriately */
|
||||||
#ifdef PNG_POINTER_INDEXING_SUPPORTED
|
#ifdef PNG_POINTER_INDEXING_SUPPORTED
|
||||||
|
@ -1265,7 +1263,7 @@ void /* PRIVATE */
|
||||||
png_write_sBIT(png_structrp png_ptr, png_const_color_8p sbit, int color_type)
|
png_write_sBIT(png_structrp png_ptr, png_const_color_8p sbit, int color_type)
|
||||||
{
|
{
|
||||||
png_byte buf[4];
|
png_byte buf[4];
|
||||||
png_size_t size;
|
size_t size;
|
||||||
|
|
||||||
png_debug(1, "in png_write_sBIT");
|
png_debug(1, "in png_write_sBIT");
|
||||||
|
|
||||||
|
@ -1365,7 +1363,7 @@ png_write_tRNS(png_structrp png_ptr, png_const_bytep trans_alpha,
|
||||||
|
|
||||||
/* Write the chunk out as it is */
|
/* Write the chunk out as it is */
|
||||||
png_write_complete_chunk(png_ptr, png_tRNS, trans_alpha,
|
png_write_complete_chunk(png_ptr, png_tRNS, trans_alpha,
|
||||||
(png_size_t)num_trans);
|
(size_t)num_trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (color_type == PNG_COLOR_TYPE_GRAY)
|
else if (color_type == PNG_COLOR_TYPE_GRAY)
|
||||||
|
@ -1380,7 +1378,7 @@ png_write_tRNS(png_structrp png_ptr, png_const_bytep trans_alpha,
|
||||||
}
|
}
|
||||||
|
|
||||||
png_save_uint_16(buf, tran->gray);
|
png_save_uint_16(buf, tran->gray);
|
||||||
png_write_complete_chunk(png_ptr, png_tRNS, buf, (png_size_t)2);
|
png_write_complete_chunk(png_ptr, png_tRNS, buf, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (color_type == PNG_COLOR_TYPE_RGB)
|
else if (color_type == PNG_COLOR_TYPE_RGB)
|
||||||
|
@ -1400,7 +1398,7 @@ png_write_tRNS(png_structrp png_ptr, png_const_bytep trans_alpha,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_tRNS, buf, (png_size_t)6);
|
png_write_complete_chunk(png_ptr, png_tRNS, buf, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -1433,7 +1431,7 @@ png_write_bKGD(png_structrp png_ptr, png_const_color_16p back, int color_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
buf[0] = back->index;
|
buf[0] = back->index;
|
||||||
png_write_complete_chunk(png_ptr, png_bKGD, buf, (png_size_t)1);
|
png_write_complete_chunk(png_ptr, png_bKGD, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ((color_type & PNG_COLOR_MASK_COLOR) != 0)
|
else if ((color_type & PNG_COLOR_MASK_COLOR) != 0)
|
||||||
|
@ -1454,7 +1452,7 @@ png_write_bKGD(png_structrp png_ptr, png_const_color_16p back, int color_type)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_bKGD, buf, (png_size_t)6);
|
png_write_complete_chunk(png_ptr, png_bKGD, buf, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -1468,7 +1466,7 @@ png_write_bKGD(png_structrp png_ptr, png_const_color_16p back, int color_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
png_save_uint_16(buf, back->gray);
|
png_save_uint_16(buf, back->gray);
|
||||||
png_write_complete_chunk(png_ptr, png_bKGD, buf, (png_size_t)2);
|
png_write_complete_chunk(png_ptr, png_bKGD, buf, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1488,7 +1486,7 @@ png_write_eXIf(png_structrp png_ptr, png_bytep exif, int num_exif)
|
||||||
for (i = 0; i < num_exif; i++)
|
for (i = 0; i < num_exif; i++)
|
||||||
{
|
{
|
||||||
buf[0] = exif[i];
|
buf[0] = exif[i];
|
||||||
png_write_chunk_data(png_ptr, buf, (png_size_t)1);
|
png_write_chunk_data(png_ptr, buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
png_write_chunk_end(png_ptr);
|
png_write_chunk_end(png_ptr);
|
||||||
|
@ -1519,7 +1517,7 @@ png_write_hIST(png_structrp png_ptr, png_const_uint_16p hist, int num_hist)
|
||||||
for (i = 0; i < num_hist; i++)
|
for (i = 0; i < num_hist; i++)
|
||||||
{
|
{
|
||||||
png_save_uint_16(buf, hist[i]);
|
png_save_uint_16(buf, hist[i]);
|
||||||
png_write_chunk_data(png_ptr, buf, (png_size_t)2);
|
png_write_chunk_data(png_ptr, buf, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
png_write_chunk_end(png_ptr);
|
png_write_chunk_end(png_ptr);
|
||||||
|
@ -1530,7 +1528,7 @@ png_write_hIST(png_structrp png_ptr, png_const_uint_16p hist, int num_hist)
|
||||||
/* Write a tEXt chunk */
|
/* Write a tEXt chunk */
|
||||||
void /* PRIVATE */
|
void /* PRIVATE */
|
||||||
png_write_tEXt(png_structrp png_ptr, png_const_charp key, png_const_charp text,
|
png_write_tEXt(png_structrp png_ptr, png_const_charp key, png_const_charp text,
|
||||||
png_size_t text_len)
|
size_t text_len)
|
||||||
{
|
{
|
||||||
png_uint_32 key_len;
|
png_uint_32 key_len;
|
||||||
png_byte new_key[80];
|
png_byte new_key[80];
|
||||||
|
@ -1627,7 +1625,7 @@ png_write_iTXt(png_structrp png_ptr, int compression, png_const_charp key,
|
||||||
png_const_charp lang, png_const_charp lang_key, png_const_charp text)
|
png_const_charp lang, png_const_charp lang_key, png_const_charp text)
|
||||||
{
|
{
|
||||||
png_uint_32 key_len, prefix_len;
|
png_uint_32 key_len, prefix_len;
|
||||||
png_size_t lang_len, lang_key_len;
|
size_t lang_len, lang_key_len;
|
||||||
png_byte new_key[82];
|
png_byte new_key[82];
|
||||||
compression_state comp;
|
compression_state comp;
|
||||||
|
|
||||||
|
@ -1737,7 +1735,7 @@ png_write_oFFs(png_structrp png_ptr, png_int_32 x_offset, png_int_32 y_offset,
|
||||||
png_save_int_32(buf + 4, y_offset);
|
png_save_int_32(buf + 4, y_offset);
|
||||||
buf[8] = (png_byte)unit_type;
|
buf[8] = (png_byte)unit_type;
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_oFFs, buf, (png_size_t)9);
|
png_write_complete_chunk(png_ptr, png_oFFs, buf, 9);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef PNG_WRITE_pCAL_SUPPORTED
|
#ifdef PNG_WRITE_pCAL_SUPPORTED
|
||||||
|
@ -1748,7 +1746,7 @@ png_write_pCAL(png_structrp png_ptr, png_charp purpose, png_int_32 X0,
|
||||||
png_charpp params)
|
png_charpp params)
|
||||||
{
|
{
|
||||||
png_uint_32 purpose_len;
|
png_uint_32 purpose_len;
|
||||||
png_size_t units_len, total_len;
|
size_t units_len, total_len;
|
||||||
png_size_tp params_len;
|
png_size_tp params_len;
|
||||||
png_byte buf[10];
|
png_byte buf[10];
|
||||||
png_byte new_purpose[80];
|
png_byte new_purpose[80];
|
||||||
|
@ -1772,7 +1770,7 @@ png_write_pCAL(png_structrp png_ptr, png_charp purpose, png_int_32 X0,
|
||||||
total_len = purpose_len + units_len + 10;
|
total_len = purpose_len + units_len + 10;
|
||||||
|
|
||||||
params_len = (png_size_tp)png_malloc(png_ptr,
|
params_len = (png_size_tp)png_malloc(png_ptr,
|
||||||
(png_alloc_size_t)((png_alloc_size_t)nparams * (sizeof (png_size_t))));
|
(png_alloc_size_t)((png_alloc_size_t)nparams * (sizeof (size_t))));
|
||||||
|
|
||||||
/* Find the length of each parameter, making sure we don't count the
|
/* Find the length of each parameter, making sure we don't count the
|
||||||
* null terminator for the last parameter.
|
* null terminator for the last parameter.
|
||||||
|
@ -1792,8 +1790,8 @@ png_write_pCAL(png_structrp png_ptr, png_charp purpose, png_int_32 X0,
|
||||||
png_save_int_32(buf + 4, X1);
|
png_save_int_32(buf + 4, X1);
|
||||||
buf[8] = (png_byte)type;
|
buf[8] = (png_byte)type;
|
||||||
buf[9] = (png_byte)nparams;
|
buf[9] = (png_byte)nparams;
|
||||||
png_write_chunk_data(png_ptr, buf, (png_size_t)10);
|
png_write_chunk_data(png_ptr, buf, 10);
|
||||||
png_write_chunk_data(png_ptr, (png_const_bytep)units, (png_size_t)units_len);
|
png_write_chunk_data(png_ptr, (png_const_bytep)units, (size_t)units_len);
|
||||||
|
|
||||||
for (i = 0; i < nparams; i++)
|
for (i = 0; i < nparams; i++)
|
||||||
{
|
{
|
||||||
|
@ -1812,7 +1810,7 @@ png_write_sCAL_s(png_structrp png_ptr, int unit, png_const_charp width,
|
||||||
png_const_charp height)
|
png_const_charp height)
|
||||||
{
|
{
|
||||||
png_byte buf[64];
|
png_byte buf[64];
|
||||||
png_size_t wlen, hlen, total_len;
|
size_t wlen, hlen, total_len;
|
||||||
|
|
||||||
png_debug(1, "in png_write_sCAL_s");
|
png_debug(1, "in png_write_sCAL_s");
|
||||||
|
|
||||||
|
@ -1853,7 +1851,7 @@ png_write_pHYs(png_structrp png_ptr, png_uint_32 x_pixels_per_unit,
|
||||||
png_save_uint_32(buf + 4, y_pixels_per_unit);
|
png_save_uint_32(buf + 4, y_pixels_per_unit);
|
||||||
buf[8] = (png_byte)unit_type;
|
buf[8] = (png_byte)unit_type;
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_pHYs, buf, (png_size_t)9);
|
png_write_complete_chunk(png_ptr, png_pHYs, buf, 9);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1883,7 +1881,7 @@ png_write_tIME(png_structrp png_ptr, png_const_timep mod_time)
|
||||||
buf[5] = mod_time->minute;
|
buf[5] = mod_time->minute;
|
||||||
buf[6] = mod_time->second;
|
buf[6] = mod_time->second;
|
||||||
|
|
||||||
png_write_complete_chunk(png_ptr, png_tIME, buf, (png_size_t)7);
|
png_write_complete_chunk(png_ptr, png_tIME, buf, 7);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2073,8 +2071,8 @@ png_write_finish_row(png_structrp png_ptr)
|
||||||
{
|
{
|
||||||
if (png_ptr->prev_row != NULL)
|
if (png_ptr->prev_row != NULL)
|
||||||
memset(png_ptr->prev_row, 0,
|
memset(png_ptr->prev_row, 0,
|
||||||
(png_size_t)(PNG_ROWBYTES(png_ptr->usr_channels*
|
PNG_ROWBYTES(png_ptr->usr_channels *
|
||||||
png_ptr->usr_bit_depth, png_ptr->width)) + 1);
|
png_ptr->usr_bit_depth, png_ptr->width) + 1);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -2130,7 +2128,7 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
for (i = png_pass_start[pass]; i < row_width;
|
for (i = png_pass_start[pass]; i < row_width;
|
||||||
i += png_pass_inc[pass])
|
i += png_pass_inc[pass])
|
||||||
{
|
{
|
||||||
sp = row + (png_size_t)(i >> 3);
|
sp = row + (size_t)(i >> 3);
|
||||||
value = (int)(*sp >> (7 - (int)(i & 0x07))) & 0x01;
|
value = (int)(*sp >> (7 - (int)(i & 0x07))) & 0x01;
|
||||||
d |= (value << shift);
|
d |= (value << shift);
|
||||||
|
|
||||||
|
@ -2168,7 +2166,7 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
for (i = png_pass_start[pass]; i < row_width;
|
for (i = png_pass_start[pass]; i < row_width;
|
||||||
i += png_pass_inc[pass])
|
i += png_pass_inc[pass])
|
||||||
{
|
{
|
||||||
sp = row + (png_size_t)(i >> 2);
|
sp = row + (size_t)(i >> 2);
|
||||||
value = (*sp >> ((3 - (int)(i & 0x03)) << 1)) & 0x03;
|
value = (*sp >> ((3 - (int)(i & 0x03)) << 1)) & 0x03;
|
||||||
d |= (value << shift);
|
d |= (value << shift);
|
||||||
|
|
||||||
|
@ -2204,7 +2202,7 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
for (i = png_pass_start[pass]; i < row_width;
|
for (i = png_pass_start[pass]; i < row_width;
|
||||||
i += png_pass_inc[pass])
|
i += png_pass_inc[pass])
|
||||||
{
|
{
|
||||||
sp = row + (png_size_t)(i >> 1);
|
sp = row + (size_t)(i >> 1);
|
||||||
value = (*sp >> ((1 - (int)(i & 0x01)) << 2)) & 0x0f;
|
value = (*sp >> ((1 - (int)(i & 0x01)) << 2)) & 0x0f;
|
||||||
d |= (value << shift);
|
d |= (value << shift);
|
||||||
|
|
||||||
|
@ -2230,7 +2228,7 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
png_bytep dp;
|
png_bytep dp;
|
||||||
png_uint_32 i;
|
png_uint_32 i;
|
||||||
png_uint_32 row_width = row_info->width;
|
png_uint_32 row_width = row_info->width;
|
||||||
png_size_t pixel_bytes;
|
size_t pixel_bytes;
|
||||||
|
|
||||||
/* Start at the beginning */
|
/* Start at the beginning */
|
||||||
dp = row;
|
dp = row;
|
||||||
|
@ -2243,7 +2241,7 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
i += png_pass_inc[pass])
|
i += png_pass_inc[pass])
|
||||||
{
|
{
|
||||||
/* Find out where the original pixel is */
|
/* Find out where the original pixel is */
|
||||||
sp = row + (png_size_t)i * pixel_bytes;
|
sp = row + (size_t)i * pixel_bytes;
|
||||||
|
|
||||||
/* Move the pixel */
|
/* Move the pixel */
|
||||||
if (dp != sp)
|
if (dp != sp)
|
||||||
|
@ -2274,16 +2272,16 @@ png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
|
||||||
*/
|
*/
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_write_filtered_row(png_structrp png_ptr, png_bytep filtered_row,
|
png_write_filtered_row(png_structrp png_ptr, png_bytep filtered_row,
|
||||||
png_size_t row_bytes);
|
size_t row_bytes);
|
||||||
|
|
||||||
#ifdef PNG_WRITE_FILTER_SUPPORTED
|
#ifdef PNG_WRITE_FILTER_SUPPORTED
|
||||||
static png_size_t /* PRIVATE */
|
static size_t /* PRIVATE */
|
||||||
png_setup_sub_row(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_sub_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes, const png_size_t lmins)
|
size_t row_bytes, size_t lmins)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, lp;
|
png_bytep rp, dp, lp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t sum = 0;
|
size_t sum = 0;
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_SUB;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_SUB;
|
||||||
|
@ -2318,10 +2316,10 @@ png_setup_sub_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
|
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_setup_sub_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_sub_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes)
|
size_t row_bytes)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, lp;
|
png_bytep rp, dp, lp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_SUB;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_SUB;
|
||||||
|
|
||||||
|
@ -2338,13 +2336,12 @@ png_setup_sub_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static png_size_t /* PRIVATE */
|
static size_t /* PRIVATE */
|
||||||
png_setup_up_row(png_structrp png_ptr, const png_size_t row_bytes,
|
png_setup_up_row(png_structrp png_ptr, size_t row_bytes, size_t lmins)
|
||||||
const png_size_t lmins)
|
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp;
|
png_bytep rp, dp, pp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t sum = 0;
|
size_t sum = 0;
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_UP;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_UP;
|
||||||
|
@ -2367,10 +2364,10 @@ png_setup_up_row(png_structrp png_ptr, const png_size_t row_bytes,
|
||||||
return (sum);
|
return (sum);
|
||||||
}
|
}
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_setup_up_row_only(png_structrp png_ptr, const png_size_t row_bytes)
|
png_setup_up_row_only(png_structrp png_ptr, size_t row_bytes)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp;
|
png_bytep rp, dp, pp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_UP;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_UP;
|
||||||
|
|
||||||
|
@ -2382,13 +2379,13 @@ png_setup_up_row_only(png_structrp png_ptr, const png_size_t row_bytes)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static png_size_t /* PRIVATE */
|
static size_t /* PRIVATE */
|
||||||
png_setup_avg_row(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_avg_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes, const png_size_t lmins)
|
size_t row_bytes, size_t lmins)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp, lp;
|
png_bytep rp, dp, pp, lp;
|
||||||
png_uint_32 i;
|
png_uint_32 i;
|
||||||
png_size_t sum = 0;
|
size_t sum = 0;
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_AVG;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_AVG;
|
||||||
|
@ -2424,7 +2421,7 @@ png_setup_avg_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
}
|
}
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_setup_avg_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_avg_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes)
|
size_t row_bytes)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp, lp;
|
png_bytep rp, dp, pp, lp;
|
||||||
png_uint_32 i;
|
png_uint_32 i;
|
||||||
|
@ -2444,13 +2441,13 @@ png_setup_avg_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static png_size_t /* PRIVATE */
|
static size_t /* PRIVATE */
|
||||||
png_setup_paeth_row(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_paeth_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes, const png_size_t lmins)
|
size_t row_bytes, size_t lmins)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp, cp, lp;
|
png_bytep rp, dp, pp, cp, lp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
png_size_t sum = 0;
|
size_t sum = 0;
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_PAETH;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_PAETH;
|
||||||
|
@ -2507,10 +2504,10 @@ png_setup_paeth_row(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
}
|
}
|
||||||
static void /* PRIVATE */
|
static void /* PRIVATE */
|
||||||
png_setup_paeth_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
png_setup_paeth_row_only(png_structrp png_ptr, const png_uint_32 bpp,
|
||||||
const png_size_t row_bytes)
|
size_t row_bytes)
|
||||||
{
|
{
|
||||||
png_bytep rp, dp, pp, cp, lp;
|
png_bytep rp, dp, pp, cp, lp;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
|
|
||||||
png_ptr->try_row[0] = PNG_FILTER_VALUE_PAETH;
|
png_ptr->try_row[0] = PNG_FILTER_VALUE_PAETH;
|
||||||
|
|
||||||
|
@ -2559,8 +2556,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
png_bytep row_buf;
|
png_bytep row_buf;
|
||||||
png_bytep best_row;
|
png_bytep best_row;
|
||||||
png_uint_32 bpp;
|
png_uint_32 bpp;
|
||||||
png_size_t mins;
|
size_t mins;
|
||||||
png_size_t row_bytes = row_info->rowbytes;
|
size_t row_bytes = row_info->rowbytes;
|
||||||
|
|
||||||
png_debug(1, "in png_write_find_filter");
|
png_debug(1, "in png_write_find_filter");
|
||||||
|
|
||||||
|
@ -2615,8 +2612,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
* 'none' filter.
|
* 'none' filter.
|
||||||
*/
|
*/
|
||||||
png_bytep rp;
|
png_bytep rp;
|
||||||
png_size_t sum = 0;
|
size_t sum = 0;
|
||||||
png_size_t i;
|
size_t i;
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -2644,8 +2641,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
|
|
||||||
else if ((filter_to_do & PNG_FILTER_SUB) != 0)
|
else if ((filter_to_do & PNG_FILTER_SUB) != 0)
|
||||||
{
|
{
|
||||||
png_size_t sum;
|
size_t sum;
|
||||||
png_size_t lmins = mins;
|
size_t lmins = mins;
|
||||||
|
|
||||||
sum = png_setup_sub_row(png_ptr, bpp, row_bytes, lmins);
|
sum = png_setup_sub_row(png_ptr, bpp, row_bytes, lmins);
|
||||||
|
|
||||||
|
@ -2670,8 +2667,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
|
|
||||||
else if ((filter_to_do & PNG_FILTER_UP) != 0)
|
else if ((filter_to_do & PNG_FILTER_UP) != 0)
|
||||||
{
|
{
|
||||||
png_size_t sum;
|
size_t sum;
|
||||||
png_size_t lmins = mins;
|
size_t lmins = mins;
|
||||||
|
|
||||||
sum = png_setup_up_row(png_ptr, row_bytes, lmins);
|
sum = png_setup_up_row(png_ptr, row_bytes, lmins);
|
||||||
|
|
||||||
|
@ -2696,8 +2693,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
|
|
||||||
else if ((filter_to_do & PNG_FILTER_AVG) != 0)
|
else if ((filter_to_do & PNG_FILTER_AVG) != 0)
|
||||||
{
|
{
|
||||||
png_size_t sum;
|
size_t sum;
|
||||||
png_size_t lmins = mins;
|
size_t lmins = mins;
|
||||||
|
|
||||||
sum= png_setup_avg_row(png_ptr, bpp, row_bytes, lmins);
|
sum= png_setup_avg_row(png_ptr, bpp, row_bytes, lmins);
|
||||||
|
|
||||||
|
@ -2722,8 +2719,8 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
|
|
||||||
else if ((filter_to_do & PNG_FILTER_PAETH) != 0)
|
else if ((filter_to_do & PNG_FILTER_PAETH) != 0)
|
||||||
{
|
{
|
||||||
png_size_t sum;
|
size_t sum;
|
||||||
png_size_t lmins = mins;
|
size_t lmins = mins;
|
||||||
|
|
||||||
sum = png_setup_paeth_row(png_ptr, bpp, row_bytes, lmins);
|
sum = png_setup_paeth_row(png_ptr, bpp, row_bytes, lmins);
|
||||||
|
|
||||||
|
@ -2748,7 +2745,7 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
|
||||||
/* Do the actual writing of a previously filtered row. */
|
/* Do the actual writing of a previously filtered row. */
|
||||||
static void
|
static void
|
||||||
png_write_filtered_row(png_structrp png_ptr, png_bytep filtered_row,
|
png_write_filtered_row(png_structrp png_ptr, png_bytep filtered_row,
|
||||||
png_size_t full_row_length/*includes filter byte*/)
|
size_t full_row_length/*includes filter byte*/)
|
||||||
{
|
{
|
||||||
png_debug(1, "in png_write_filtered_row");
|
png_debug(1, "in png_write_filtered_row");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue