Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
Stella
Commits
9c64a8fd
Commit
9c64a8fd
authored
Dec 18, 2018
by
Stephen Anthony
Browse files
Update libpng to latest version.
parent
3423bf15
Changes
22
Hide whitespace changes
Inline
Side-by-side
src/libpng/png.c
View file @
9c64a8fd
/* png.c - location for general purpose libpng functions
*
*
Last changed in libpng 1.6.35 [July 15, 2018]
*
Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
*
(Version 0.96
Copyright (c) 1996
,
1997 Andreas Dilger
)
*
(Version 0.88
Copyright (c) 1995
,
1996 Guy Eric Schalnat, Group 42, Inc.
)
* Copyright (c) 1996
-
1997 Andreas Dilger
* Copyright (c) 1995
-
1996 Guy Eric Schalnat, Group 42, Inc.
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
...
...
@@ -14,7 +14,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
png_libpng_version_1_6_3
5
Your_png_h_is_not_version_1_6_3
5
;
typedef
png_libpng_version_1_6_3
6
Your_png_h_is_not_version_1_6_3
6
;
#ifdef __GNUC__
/* The version tests may need to be added to, but the problem warning has
...
...
@@ -736,7 +736,7 @@ png_save_int_32(png_bytep buf, png_int_32 i)
int
PNGAPI
png_convert_to_rfc1123_buffer
(
char
out
[
29
],
png_const_timep
ptime
)
{
static
PNG_CONST
char
short_months
[
12
][
4
]
=
static
const
char
short_months
[
12
][
4
]
=
{
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
};
...
...
@@ -814,20 +814,14 @@ png_get_copyright(png_const_structrp png_ptr)
#ifdef PNG_STRING_COPYRIGHT
return
PNG_STRING_COPYRIGHT
#else
# ifdef __STDC__
return
PNG_STRING_NEWLINE
\
"libpng version 1.6.35 - July 15, 2018"
PNG_STRING_NEWLINE
\
"libpng version 1.6.36"
PNG_STRING_NEWLINE
\
"Copyright (c) 2018 Cosmin Truta"
PNG_STRING_NEWLINE
\
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson"
\
PNG_STRING_NEWLINE
\
"Copyright (c) 1996-1997 Andreas Dilger"
PNG_STRING_NEWLINE
\
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."
\
PNG_STRING_NEWLINE
;
# else
return
"libpng version 1.6.35 - July 15, 2018\
Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."
;
# endif
#endif
}
...
...
@@ -1121,7 +1115,7 @@ png_colorspace_set_gamma(png_const_structrp png_ptr,
png_colorspacerp
colorspace
,
png_fixed_point
gAMA
)
{
/* Changed in libpng-1.5.4 to limit the values to ensure overflow can't
* occur. Since the fixed point representation is asymetrical it is
* occur. Since the fixed point representation is asym
m
etrical it is
* possible for 1/gamma to overflow the limit of 21474 and this means the
* gamma value must be at least 5/100000 and hence at most 20000.0. For
* safety the limits here are a little narrower. The values are 0.00016 to
...
...
@@ -3134,11 +3128,11 @@ png_ascii_from_fp(png_const_structrp png_ptr, png_charp ascii, size_t size,
/* The total output count (max) is now 4+precision */
/* Check for an exponent, if we don't need one we are
* done and just need to terminate the string. At
*
this
point exp_b10==(-1) is effectively a flag
-
it got
* to '-1' because of the decrement after outputting
* the decimal point above (
t
he exponent required is
* *not* -1
!
)
* done and just need to terminate the string. At
this
* point
,
exp_b10==(-1) is effectively a flag
:
it got
* to '-1' because of the decrement
,
after outputting
* the decimal point above
.
(
T
he exponent required is
* *not* -1
.
)
*/
if
(
exp_b10
>=
(
-
1
)
&&
exp_b10
<=
2
)
{
...
...
@@ -3976,18 +3970,18 @@ png_gamma_correct(png_structrp png_ptr, unsigned int value,
*/
static
void
png_build_16bit_table
(
png_structrp
png_ptr
,
png_uint_16pp
*
ptable
,
PNG_CONST
unsigned
int
shift
,
PNG_CONST
png_fixed_point
gamma_val
)
unsigned
int
shift
,
png_fixed_point
gamma_val
)
{
/* Various values derived from 'shift': */
PNG_CONST
unsigned
int
num
=
1U
<<
(
8U
-
shift
);
unsigned
int
num
=
1U
<<
(
8U
-
shift
);
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
/* CSE the division and work round wacky GCC warnings (see the comments
* in png_gamma_8bit_correct for where these come from.)
*/
PNG_CONST
double
fmax
=
1
.
/
(((
png_int_32
)
1
<<
(
16U
-
shift
))
-
1
);
double
fmax
=
1
.
0
/
(((
png_int_32
)
1
<<
(
16U
-
shift
))
-
1
);
#endif
PNG_CONST
unsigned
int
max
=
(
1U
<<
(
16U
-
shift
))
-
1U
;
PNG_CONST
unsigned
int
max_by_2
=
1U
<<
(
15U
-
shift
);
unsigned
int
max
=
(
1U
<<
(
16U
-
shift
))
-
1U
;
unsigned
int
max_by_2
=
1U
<<
(
15U
-
shift
);
unsigned
int
i
;
png_uint_16pp
table
=
*
ptable
=
...
...
@@ -4053,10 +4047,10 @@ png_build_16bit_table(png_structrp png_ptr, png_uint_16pp *ptable,
*/
static
void
png_build_16to8_table
(
png_structrp
png_ptr
,
png_uint_16pp
*
ptable
,
PNG_CONST
unsigned
int
shift
,
PNG_CONST
png_fixed_point
gamma_val
)
unsigned
int
shift
,
png_fixed_point
gamma_val
)
{
PNG_CONST
unsigned
int
num
=
1U
<<
(
8U
-
shift
);
PNG_CONST
unsigned
int
max
=
(
1U
<<
(
16U
-
shift
))
-
1U
;
unsigned
int
num
=
1U
<<
(
8U
-
shift
);
unsigned
int
max
=
(
1U
<<
(
16U
-
shift
))
-
1U
;
unsigned
int
i
;
png_uint_32
last
;
...
...
@@ -4121,7 +4115,7 @@ png_build_16to8_table(png_structrp png_ptr, png_uint_16pp *ptable,
*/
static
void
png_build_8bit_table
(
png_structrp
png_ptr
,
png_bytepp
ptable
,
PNG_CONST
png_fixed_point
gamma_val
)
png_fixed_point
gamma_val
)
{
unsigned
int
i
;
png_bytep
table
=
*
ptable
=
(
png_bytep
)
png_malloc
(
png_ptr
,
256
);
...
...
src/libpng/png.h
View file @
9c64a8fd
/* png.h - header file for PNG reference library
*
* libpng version 1.6.3
5, July
1
5
, 2018
* libpng version 1.6.3
6 - December
1, 2018
*
* Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
*
(Version 0.96
Copyright (c) 1996
,
1997 Andreas Dilger
)
*
(Version 0.88
Copyright (c) 1995
,
1996 Guy Eric Schalnat, Group 42, Inc.
)
* Copyright (c) 1996
-
1997 Andreas Dilger
* Copyright (c) 1995
-
1996 Guy Eric Schalnat, Group 42, Inc.
*
* This code is released under the libpng license (See LICENSE, below)
* This code is released under the libpng license
.
(See LICENSE, below
.
)
*
* Authors and maintainers:
* 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.97, January 1998, through 1.6.35, July
15,
2018:
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
* Glenn Randers-Pehrson.
* libpng version 1.6.36, December 1, 2018: Cosmin Truta
* See also "Contributing Authors", below.
*/
/*
* COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
* COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
* =========================================
*
* PNG Reference Library License version 2
* ---------------------------------------
*
* * Copyright (c) 1995-2018 The PNG Reference Library Authors.
* * Copyright (c) 2018 Cosmin Truta.
* * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* * Copyright (c) 1996-1997 Andreas Dilger.
* * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
*
* The software is supplied "as is", without warranty of any kind,
* express or implied, including, without limitation, the warranties
* of merchantability, fitness for a particular purpose, title, and
* non-infringement. In no even shall the Copyright owners, or
* anyone distributing the software, be liable for any damages or
* other liability, whether in contract, tort or otherwise, arising
* from, out of, or in connection with the software, or the use or
* other dealings in the software, even if advised of the possibility
* of such damage.
*
* Permission is hereby granted to use, copy, modify, and distribute
* this software, or portions hereof, for any purpose, without fee,
* subject to the following restrictions:
*
* If you modify libpng you may insert additional notices immediately following
* this sentence.
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you
* use this software in a product, an acknowledgment in the product
* documentation would be appreciated, but is not required.
*
* This code is released under the libpng license.
* 2. Altered source versions must be plainly marked as such, and must
* not be misrepresented as being the original software.
*
* 3. This Copyright notice may not be removed or altered from any
* source or altered source distribution.
*
*
* PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
* -----------------------------------------------------------------------
*
* libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
...
...
@@ -31,38 +67,38 @@
* disclaimer and license as libpng-1.0.6 with the following individuals
* added to the list of Contributing Authors:
*
* Simon-Pierre Cadieux
* Eric S. Raymond
* Mans Rullgard
* Cosmin Truta
* Gilles Vollant
* James Yu
* Mandar Sahastrabuddhe
* Google Inc.
* Vadim Barkov
*
Simon-Pierre Cadieux
*
Eric S. Raymond
*
Mans Rullgard
*
Cosmin Truta
*
Gilles Vollant
*
James Yu
*
Mandar Sahastrabuddhe
*
Google Inc.
*
Vadim Barkov
*
* and with the following additions to the disclaimer:
*
* There is no warranty against interference with your enjoyment of
the
* library or against infringement. There is no warranty that our
* efforts or the library will fulfill any of your particular purposes
* or needs. This library is provided with all faults, and the entire
* risk of satisfactory quality, performance, accuracy, and effort is
with
* the user.
*
There is no warranty against interference with your enjoyment of
*
the
library or against infringement. There is no warranty that our
*
efforts or the library will fulfill any of your particular purposes
*
or needs. This library is provided with all faults, and the entire
*
risk of satisfactory quality, performance, accuracy, and effort is
*
with
the user.
*
* Some files in the "contrib" directory and some configure-generated
* files that are distributed with libpng have other copyright owners and
* files that are distributed with libpng have other copyright owners
,
and
* are released under other open source licenses.
*
* libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
* Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
* libpng-0.96, and are distributed according to the same disclaimer and
* license as libpng-0.96, with the following individuals added to the
list
* of Contributing Authors:
* license as libpng-0.96, with the following individuals added to the
*
list
of Contributing Authors:
*
* Tom Lane
* Glenn Randers-Pehrson
* Willem van Schaik
*
Tom Lane
*
Glenn Randers-Pehrson
*
Willem van Schaik
*
* libpng versions 0.89, June 1996, through 0.96, May 1997, are
* Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
...
...
@@ -70,14 +106,14 @@
* libpng-0.88, with the following individuals added to the list of
* Contributing Authors:
*
* John Bowler
* Kevin Bracey
* Sam Bushell
* Magnus Holmgren
* Greg Roelofs
* Tom Tanner
*
John Bowler
*
Kevin Bracey
*
Sam Bushell
*
Magnus Holmgren
*
Greg Roelofs
*
Tom Tanner
*
* Some files in the "scripts" directory have other copyright owners
* Some files in the "scripts" directory have other copyright owners
,
* but are released under this license.
*
* libpng versions 0.5, May 1995, through 0.88, January 1996, are
...
...
@@ -86,62 +122,49 @@
* For the purposes of this copyright and license, "Contributing Authors"
* is defined as the following set of individuals:
*
* Andreas Dilger
* Dave Martindale
* Guy Eric Schalnat
* Paul Schmidt
* Tim Wegner
*
* The PNG Reference Library is supplied "AS IS". The Contributing Authors
* and Group 42, Inc. disclaim all warranties, expressed or implied,
* including, without limitation, the warranties of merchantability and of
* fitness for any purpose. The Contributing Authors and Group 42, Inc.
* assume no liability for direct, indirect, incidental, special, exemplary,
* or consequential damages, which may result from the use of the PNG
* Reference Library, even if advised of the possibility of such damage.
* Andreas Dilger
* Dave Martindale
* Guy Eric Schalnat
* Paul Schmidt
* Tim Wegner
*
* The PNG Reference Library is supplied "AS IS". The Contributing
* Authors and Group 42, Inc. disclaim all warranties, expressed or
* implied, including, without limitation, the warranties of
* merchantability and of fitness for any purpose. The Contributing
* Authors and Group 42, Inc. assume no liability for direct, indirect,
* incidental, special, exemplary, or consequential damages, which may
* result from the use of the PNG Reference Library, even if advised of
* the possibility of such damage.
*
* Permission is hereby granted to use, copy, modify, and distribute this
* source code, or portions hereof, for any purpose, without fee, subject
* to the following restrictions:
*
*
1. The origin of this source code must not be misrepresented.
* 1. The origin of this source code must not be misrepresented.
*
*
2. Altered versions must be plainly marked as such and must not
*
be misrepresented as being the original source.
* 2. Altered versions must be plainly marked as such and must not
* be misrepresented as being the original source.
*
*
3. This Copyright notice may not be removed or altered from any
*
source or altered source distribution.
* 3. This Copyright notice may not be removed or altered from any
* source or altered source distribution.
*
* The Contributing Authors and Group 42, Inc. specifically permit,
without
* fee, and encourage the use of this source code as a component
to
* supporting the PNG file format in commercial products. If you use
this
* source code in a product, acknowledgment is not required but would
be
* appreciated.
* The Contributing Authors and Group 42, Inc. specifically permit,
*
without
fee, and encourage the use of this source code as a component
*
to
supporting the PNG file format in commercial products. If you use
*
this
source code in a product, acknowledgment is not required but would
*
be
appreciated.
*
* END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
*
* TRADEMARK:
* TRADEMARK
* =========
*
* The name "libpng" has not been registered by the Copyright owner
* The name "libpng" has not been registered by the Copyright owner
s
* as a trademark in any jurisdiction. However, because libpng has
* been distributed and maintained world-wide, continually since 1995,
* the Copyright owner claim
s
"common-law trademark protection" in any
* the Copyright owner
s
claim "common-law trademark protection" in any
* jurisdiction where common-law trademark is recognized.
*
* OSI CERTIFICATION:
*
* Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
* a certification mark of the Open Source Initiative. OSI has not addressed
* the additional disclaimers inserted at version 1.0.7.
*
* EXPORT CONTROL:
*
* The Copyright owner believes that the Export Control Classification
* Number (ECCN) for libpng is EAR99, which means not subject to export
* controls or International Traffic in Arms Regulations (ITAR) because
* it is open source, publicly available software, that does not contain
* any encryption software. See the EAR, paragraphs 734.3(b)(3) and
* 734.7(b).
*/
/*
...
...
@@ -207,23 +230,25 @@
* 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible)
* 1.0.7 1 10007 (still compatible)
* ...
* 1.0.
1
9 10 100
1
9 10.so.0.
1
9[.0]
* 1.0.
6
9 10 100
6
9 10.so.0.
6
9[.0]
* ...
* 1.2.59 13 1025
7
12.so.0.59[.0]
* 1.2.59 13 1025
9
12.so.0.59[.0]
* ...
* 1.
5.3
0 1
5
10
527
1
5
.so.
15.3
0[.0]
* 1.
4.2
0 1
4
10
420
1
4
.so.
0.2
0[.0]
* ...
* 1.6.35 16 10635 16.so.16.35[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
* used for changes in backward compatibility, as it is intended. The
* PNG_LIBPNG_VER macro, which is not used within libpng but is available
* for applications, is an unsigned integer of the form xyyzz corresponding
* to the source version x.y.z (leading zeros in y and z). Beta versions
* were given the previous public release number plus a letter, until
* version 1.0.6j; from then on they were given the upcoming public
* release number plus "betaNN" or "rcNN".
* 1.5.30 15 10530 15.so.15.30[.0]
* ...
* 1.6.36 16 10636 16.so.16.36[.0]
*
* Henceforth the source version will match the shared-library major and
* minor numbers; the shared-library major version number will be used for
* changes in backward compatibility, as it is intended.
* The PNG_LIBPNG_VER macro, which is not used within libpng but is
* available for applications, is an unsigned integer of the form XYYZZ
* corresponding to the source version X.Y.Z (leading zeros in Y and Z).
* Beta versions were given the previous public release number plus a
* letter, until version 1.0.6j; from then on they were given the upcoming
* public release number plus "betaNN" or "rcNN".
*
* Binary incompatibility exists only when applications make direct access
* to the info_ptr or png_ptr members through png.h, and the compiled
...
...
@@ -233,65 +258,8 @@
* in binary compatibility (e.g., when a new feature is added).
*
* See libpng.txt or libpng.3 for more information. The PNG specification
* is available as a W3C Recommendation and as an ISO Specification,
* <https://www.w3.org/TR/2003/REC-PNG-20031110/
*/
/*
* Y2K compliance in libpng:
* =========================
*
* July 15, 2018
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.6.35 are Y2K compliant. It is my belief that
* earlier versions were also Y2K compliant.
*
* Libpng only has two year fields. One is a 2-byte unsigned integer
* that will hold years up to 65535. The other, which is deprecated,
* holds the date in text format, and will hold years up to 9999.
*
* The integer is
* "png_uint_16 year" in png_time_struct.
*
* The string is
* "char time_buffer[29]" in png_struct. This is no longer used
* in libpng-1.6.x and will be removed from libpng-1.7.0.
*
* There are seven time-related functions:
* png.c: png_convert_to_rfc_1123_buffer() in png.c
* (formerly png_convert_to_rfc_1123() prior to libpng-1.5.x and
* png_convert_to_rfc_1152() in error prior to libpng-0.98)
* png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
* png_convert_from_time_t() in pngwrite.c
* png_get_tIME() in pngget.c
* png_handle_tIME() in pngrutil.c, called in pngread.c
* png_set_tIME() in pngset.c
* png_write_tIME() in pngwutil.c, called in pngwrite.c
*
* All handle dates properly in a Y2K environment. The
* png_convert_from_time_t() function calls gmtime() to convert from system
* clock time, which returns (year - 1900), which we properly convert to
* the full 4-digit year. There is a possibility that libpng applications
* are not passing 4-digit years into the png_convert_to_rfc_1123_buffer()
* function, or that they are incorrectly passing only a 2-digit year
* instead of "year - 1900" into the png_convert_from_struct_tm() function,
* but this is not under our control. The libpng documentation has always
* stated that it works with 4-digit years, and the APIs have been
* documented as such.
*
* The tIME chunk itself is also Y2K compliant. It uses a 2-byte unsigned
* integer to hold the year, and can hold years as large as 65535.
*
* zlib, upon which libpng depends, is also Y2K compliant. It contains
* no date-related code.
*
* Glenn Randers-Pehrson
* libpng maintainer
* PNG Development Group
* is available as a W3C Recommendation and as an ISO/IEC Standard; see
* <https://www.w3.org/TR/2003/REC-PNG-20031110/>
*/
#ifndef PNG_H
...
...
@@ -309,8 +277,8 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.3
5
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.3
5
-
July
1
5
, 2018\n"
#define PNG_LIBPNG_VER_STRING "1.6.3
6
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.3
6
-
December
1, 2018\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
...
...
@@ -318,13 +286,13 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6
#define PNG_LIBPNG_VER_RELEASE 3
5
#define PNG_LIBPNG_VER_RELEASE 3
6
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
*/
#define PNG_LIBPNG_VER_BUILD 0
2
#define PNG_LIBPNG_VER_BUILD 0
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
...
...
@@ -341,15 +309,16 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32
/* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_
BETA
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_
STABLE
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
* 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
/* Careful here. At one time, Guy wanted to use 082, but that
* would be octal. We must not include leading zeros.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here
* (only version 1.0.0 was mis-numbered 100 instead of 10000).
* From version 1.0.1 it is:
* XXYYZZ, where XX=major, YY=minor, ZZ=release
*/
#define PNG_LIBPNG_VER 1063
5
/* 1.6.3
5
*/
#define PNG_LIBPNG_VER 1063
6
/* 1.6.3
6
*/
/* Library configuration: these options cannot be changed after
* the library has been built.
...
...
@@ -459,7 +428,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef
char
*
png_libpng_version_1_6_3
5
;
typedef
char
*
png_libpng_version_1_6_3
6
;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
...
...
@@ -2013,12 +1982,12 @@ PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr,
PNG_EXPORT
(
246
,
png_uint_32
,
png_get_eXIf
,
(
png_const_structrp
png_ptr
,
png_inforp
info_ptr
,
png_bytep
*
exif
));
PNG_EXPORT
(
247
,
void
,
png_set_eXIf
,
(
png_const_structrp
png_ptr
,
png_inforp
info_ptr
,
const
png_bytep
exif
));
png_inforp
info_ptr
,
png_bytep
exif
));
PNG_EXPORT
(
248
,
png_uint_32
,
png_get_eXIf_1
,
(
png_const_structrp
png_ptr
,
png_const_inforp
info_ptr
,
png_uint_32
*
num_exif
,
png_bytep
*
exif
));
PNG_EXPORT
(
249
,
void
,
png_set_eXIf_1
,
(
png_const_structrp
png_ptr
,
png_inforp
info_ptr
,
const
png_uint_32
num_exif
,
const
png_bytep
exif
));
png_inforp
info_ptr
,
png_uint_32
num_exif
,
png_bytep
exif
));
#endif
#ifdef PNG_gAMA_SUPPORTED
...
...
@@ -2764,7 +2733,7 @@ typedef struct
*
* When the simplified API needs to convert between sRGB and linear colorspaces,
* the actual sRGB transfer curve defined in the sRGB specification (see the
* article at https://en.wikipedia.org/wiki/SRGB) is used, not the gamma=1/2.2
* article at
<
https://en.wikipedia.org/wiki/SRGB
>
) is used, not the gamma=1/2.2
* approximation used elsewhere in libpng.
*
* When an alpha channel is present it is expected to denote pixel coverage
...
...
@@ -2967,7 +2936,7 @@ typedef struct
* 'flags' field of png_image.
*/
#define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01
/* This indicates th
e
the RGB values of the in-memory bitmap do not
/* This indicates th
at
the RGB values of the in-memory bitmap do not
* correspond to the red, green and blue end-points defined by sRGB.
*/
...
...
src/libpng/pngconf.h
View file @
9c64a8fd
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.3
5, July 15, 2018
* libpng version 1.6.3
6
*
* Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
*
(Version 0.96
Copyright (c) 1996
,
1997 Andreas Dilger
)
*
(Version 0.88
Copyright (c) 1995
,
1996 Guy Eric Schalnat, Group 42, Inc.
)
* Copyright (c) 1996
-
1997 Andreas Dilger
* Copyright (c) 1995
-
1996 Guy Eric Schalnat, Group 42, Inc.
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
...
...
@@ -57,14 +58,13 @@
#endif
/* PNG_BUILDING_SYMBOL_TABLE */
/* Prior to 1.6.0 it was possible to turn off 'const' in declarations using
* PNG_NO_CONST; this is no longer supported except for data declarations which
* apparently still cause problems in 2011 on some compilers.
/* Prior to 1.6.0, it was possible to turn off 'const' in declarations,
* using PNG_NO_CONST. This is no longer supported.
*/
#define PNG_CONST const
/* backward compatibility only */
/* This controls optimization of the reading of 16-bit and 32-bit
values
* from PNG files. It can be set on a per-app-file basis
-
it
/* This controls optimization of the reading of 16-bit and 32-bit
*
values
from PNG files. It can be set on a per-app-file basis
:
it
* just changes whether a macro is used when the function is called.
* The library builder sets the default; if read functions are not
* built into the library the macro implementation is forced on.
...
...
src/libpng/pngdebug.h
View file @
9c64a8fd
/* pngdebug.h - Debugging macros for libpng, also used in pngtest.c
*
*
Last changed in libpng 1.6.8 [December 19, 2013]
*
Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2013 Glenn Randers-Pehrson
*
(Version 0.96
Copyright (c) 1996
,
1997 Andreas Dilger
)
*
(Version 0.88
Copyright (c) 1995
,
1996 Guy Eric Schalnat, Group 42, Inc.
)
* Copyright (c) 1996
-
1997 Andreas Dilger
* Copyright (c) 1995
-
1996 Guy Eric Schalnat, Group 42, Inc.
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
...
...
src/libpng/pngerror.c
View file @
9c64a8fd
/* pngerror.c - stub functions for i/o and memory allocation
*
*
Last changed in libpng 1.6.31 [July 27, 2017]
*
Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
*
(Version 0.96
Copyright (c) 1996
,
1997 Andreas Dilger
)
*
(Version 0.88
Copyright (c) 1995
,
1996 Guy Eric Schalnat, Group 42, Inc.
)
* Copyright (c) 1996
-
1997 Andreas Dilger
* Copyright (c) 1995
-
1996 Guy Eric Schalnat, Group 42, Inc.
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
...
...
@@ -425,7 +425,7 @@ png_app_error(png_const_structrp png_ptr, png_const_charp error_message)
* if the character is invalid.
*/
#define isnonalpha(c) ((c) < 65 || (c) > 122 || ((c) > 90 && (c) < 97))
static
PNG_CONST
char
png_digit
[
16
]
=
{
static
const
char
png_digit
[
16
]
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
};
...
...
@@ -885,7 +885,7 @@ PNG_FUNCTION(void /* PRIVATE */, (PNGCBAPI
png_safe_error
),(
png_structp
png_nonconst_ptr
,
png_const_charp
error_message
),
PNG_NORETURN
)
{
const
png_const_structrp
png_ptr
=
png_nonconst_ptr
;
png_const_structrp
png_ptr
=
png_nonconst_ptr
;
png_imagep
image
=
png_voidcast
(
png_imagep
,
png_ptr
->
error_ptr
);