mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[master] Imported from libpng-1.5.13.tar
This commit is contained in:
parent
c86cf4b7e4
commit
c2ac10b502
35
ANNOUNCE
35
ANNOUNCE
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Libpng 1.5.12 - July 11, 2012
|
Libpng 1.5.13 - September 27, 2012
|
||||||
|
|
||||||
This is a public release of libpng, intended for use in production codes.
|
This is a public release of libpng, intended for use in production codes.
|
||||||
|
|
||||||
@ -8,26 +8,35 @@ Files available for download:
|
|||||||
Source files with LF line endings (for Unix/Linux) and with a
|
Source files with LF line endings (for Unix/Linux) and with a
|
||||||
"configure" script
|
"configure" script
|
||||||
|
|
||||||
libpng-1.5.12.tar.xz (LZMA-compressed, recommended)
|
libpng-1.5.13.tar.xz (LZMA-compressed, recommended)
|
||||||
libpng-1.5.12.tar.gz
|
libpng-1.5.13.tar.gz
|
||||||
libpng-1.5.12.tar.bz2
|
libpng-1.5.13.tar.bz2
|
||||||
|
|
||||||
Source files with CRLF line endings (for Windows), without the
|
Source files with CRLF line endings (for Windows), without the
|
||||||
"configure" script
|
"configure" script
|
||||||
|
|
||||||
lpng1512.7z (LZMA-compressed, recommended)
|
lpng1513.7z (LZMA-compressed, recommended)
|
||||||
lpng1512.zip
|
lpng1513.zip
|
||||||
|
|
||||||
Other information:
|
Other information:
|
||||||
|
|
||||||
libpng-1.5.12-README.txt
|
libpng-1.5.13-README.txt
|
||||||
libpng-1.5.12-LICENSE.txt
|
libpng-1.5.13-LICENSE.txt
|
||||||
|
|
||||||
Changes since the last public release (1.5.11):
|
Changes since the last public release (1.5.12):
|
||||||
|
Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
|
||||||
Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it
|
Removed references to png_zalloc() and png_zfree() from the manual.
|
||||||
depends on configure, which is not included in those archives.
|
Revised PNG_FP_EXPORT and PNG_FIXED_EXPORT macros to avoid generating
|
||||||
Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
|
lone semicolons (patch ported from libpng-1.6.0beta11).
|
||||||
|
Corrected handling of the image array and the row_pointers array in example.c
|
||||||
|
When png_set_filler is used to strip a filler channel during write, the
|
||||||
|
code prior to 1.5 would ignore the case where the output required an
|
||||||
|
alpha channel or when the output was a palettized PNG. In libpng-1.5 the
|
||||||
|
ignorance was lost and libpng proceeded to strip the channel resulting
|
||||||
|
in a bad (potential memory overwrite) failure later. This reverts
|
||||||
|
the behavior to the pre-1.5 state but issues a warning. libpng-1.6 is
|
||||||
|
expected to issue an error on the erroneous png_set_filler call.
|
||||||
|
Use png_memset() consistently (pngmem.c contained some bare "memset" calls).
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
25
CHANGES
25
CHANGES
@ -3852,7 +3852,7 @@ Version 1.5.10beta05 [March 10, 2012]
|
|||||||
Version 1.5.10 [March 29, 2012]
|
Version 1.5.10 [March 29, 2012]
|
||||||
Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
|
Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
|
||||||
Revised png_set_text_2() to avoid potential memory corruption (fixes
|
Revised png_set_text_2() to avoid potential memory corruption (fixes
|
||||||
CVE-2011-3048).
|
CVE-2011-3048, also known as CVE-2012-3425).
|
||||||
|
|
||||||
Version 1.5.11beta01 [April 28, 2012]
|
Version 1.5.11beta01 [April 28, 2012]
|
||||||
Revised scripts/makefile.darwin: use system zlib; remove quotes around
|
Revised scripts/makefile.darwin: use system zlib; remove quotes around
|
||||||
@ -3896,6 +3896,29 @@ Version 1.5.12 [July 11, 2012]
|
|||||||
depends on configure, which is not included in those archives.
|
depends on configure, which is not included in those archives.
|
||||||
Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
|
Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
|
||||||
|
|
||||||
|
Version 1.5.13beta01 [August 8, 2012]
|
||||||
|
Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
|
||||||
|
Removed references to png_zalloc() and png_zfree() from the manual.
|
||||||
|
Revised PNG_FP_EXPORT and PNG_FIXED_EXPORT macros to avoid generating
|
||||||
|
lone semicolons (patch ported from libpng-1.6.0beta11).
|
||||||
|
|
||||||
|
Version 1.5.13beta02 [September 10, 2012]
|
||||||
|
Corrected handling of the image array and the row_pointers array in example.c
|
||||||
|
When png_set_filler is used to strip a filler channel during write, the
|
||||||
|
code prior to 1.5 would ignore the case where the output required an
|
||||||
|
alpha channel or when the output was a palettized PNG. In libpng-1.5 the
|
||||||
|
ignorance was lost and libpng proceeded to strip the channel resulting
|
||||||
|
in a bad (potential memory overwrite) failure later. This reverts
|
||||||
|
the behavior to the pre-1.5 state but issues a warning. libpng-1.6 is
|
||||||
|
expected to issue an error on the erroneous png_set_filler call.
|
||||||
|
Use png_memset() consistently (pngmem.c contained some bare "memset" calls).
|
||||||
|
|
||||||
|
Version 1.5.13rc01 [September 17, 2012]
|
||||||
|
No changes.
|
||||||
|
|
||||||
|
Version 1.5.13 [September 27, 2012]
|
||||||
|
No changes.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||||
|
@ -35,7 +35,7 @@ enable_testing()
|
|||||||
|
|
||||||
set(PNGLIB_MAJOR 1)
|
set(PNGLIB_MAJOR 1)
|
||||||
set(PNGLIB_MINOR 5)
|
set(PNGLIB_MINOR 5)
|
||||||
set(PNGLIB_RELEASE 12)
|
set(PNGLIB_RELEASE 13)
|
||||||
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
|
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
|
||||||
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
|
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW)
|
|||||||
# SET UP LINKS
|
# SET UP LINKS
|
||||||
if(PNG_SHARED)
|
if(PNG_SHARED)
|
||||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES
|
set_target_properties(${PNG_LIB_NAME} PROPERTIES
|
||||||
# VERSION 15.${PNGLIB_RELEASE}.1.5.12
|
# VERSION 15.${PNGLIB_RELEASE}.1.5.13
|
||||||
VERSION 15.${PNGLIB_RELEASE}.0
|
VERSION 15.${PNGLIB_RELEASE}.0
|
||||||
SOVERSION 15
|
SOVERSION 15
|
||||||
CLEAN_DIRECT_OUTPUT 1)
|
CLEAN_DIRECT_OUTPUT 1)
|
||||||
|
4
LICENSE
4
LICENSE
@ -10,7 +10,7 @@ this sentence.
|
|||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
|
|
||||||
libpng versions 1.2.6, August 15, 2004, through 1.5.12, July 11, 2012, are
|
libpng versions 1.2.6, August 15, 2004, through 1.5.13, September 27, 2012, are
|
||||||
Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
|
Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
|
||||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
with the following individual added to the list of Contributing Authors
|
with the following individual added to the list of Contributing Authors
|
||||||
@ -108,4 +108,4 @@ certification mark of the Open Source Initiative.
|
|||||||
|
|
||||||
Glenn Randers-Pehrson
|
Glenn Randers-Pehrson
|
||||||
glennrp at users.sourceforge.net
|
glennrp at users.sourceforge.net
|
||||||
July 11, 2012
|
September 27, 2012
|
||||||
|
2
README
2
README
@ -1,4 +1,4 @@
|
|||||||
README for libpng version 1.5.12 - July 11, 2012 (shared library 15.0)
|
README for libpng version 1.5.13 - September 27, 2012 (shared library 15.0)
|
||||||
See the note about version numbers near the top of png.h
|
See the note about version numbers near the top of png.h
|
||||||
|
|
||||||
See INSTALL for instructions on how to install libpng.
|
See INSTALL for instructions on how to install libpng.
|
||||||
|
24
configure
vendored
24
configure
vendored
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libpng 1.5.12.
|
# Generated by GNU Autoconf 2.68 for libpng 1.5.13.
|
||||||
#
|
#
|
||||||
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
|
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
|
||||||
#
|
#
|
||||||
@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libpng'
|
PACKAGE_NAME='libpng'
|
||||||
PACKAGE_TARNAME='libpng'
|
PACKAGE_TARNAME='libpng'
|
||||||
PACKAGE_VERSION='1.5.12'
|
PACKAGE_VERSION='1.5.13'
|
||||||
PACKAGE_STRING='libpng 1.5.12'
|
PACKAGE_STRING='libpng 1.5.13'
|
||||||
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
|
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@ -1321,7 +1321,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libpng 1.5.12 to adapt to many kinds of systems.
|
\`configure' configures libpng 1.5.13 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@ -1391,7 +1391,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libpng 1.5.12:";;
|
short | recursive ) echo "Configuration of libpng 1.5.13:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@ -1502,7 +1502,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libpng configure 1.5.12
|
libpng configure 1.5.13
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@ -1925,7 +1925,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libpng $as_me 1.5.12, which was
|
It was created by libpng $as_me 1.5.13, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@ -2740,7 +2740,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libpng'
|
PACKAGE='libpng'
|
||||||
VERSION='1.5.12'
|
VERSION='1.5.13'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@ -2804,10 +2804,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
PNGLIB_VERSION=1.5.12
|
PNGLIB_VERSION=1.5.13
|
||||||
PNGLIB_MAJOR=1
|
PNGLIB_MAJOR=1
|
||||||
PNGLIB_MINOR=5
|
PNGLIB_MINOR=5
|
||||||
PNGLIB_RELEASE=12
|
PNGLIB_RELEASE=13
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -13417,7 +13417,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libpng $as_me 1.5.12, which was
|
This file was extended by libpng $as_me 1.5.13, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@ -13483,7 +13483,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libpng config.status 1.5.12
|
libpng config.status 1.5.13
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
@ -18,15 +18,15 @@ AC_PREREQ(2.59)
|
|||||||
|
|
||||||
dnl Version number stuff here:
|
dnl Version number stuff here:
|
||||||
|
|
||||||
AC_INIT([libpng], [1.5.12], [png-mng-implement@lists.sourceforge.net])
|
AC_INIT([libpng], [1.5.13], [png-mng-implement@lists.sourceforge.net])
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
dnl stop configure from automagically running automake
|
dnl stop configure from automagically running automake
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
PNGLIB_VERSION=1.5.12
|
PNGLIB_VERSION=1.5.13
|
||||||
PNGLIB_MAJOR=1
|
PNGLIB_MAJOR=1
|
||||||
PNGLIB_MINOR=5
|
PNGLIB_MINOR=5
|
||||||
PNGLIB_RELEASE=12
|
PNGLIB_RELEASE=13
|
||||||
|
|
||||||
dnl End of version number stuff
|
dnl End of version number stuff
|
||||||
|
|
||||||
|
@ -1658,7 +1658,7 @@ static CIE_color
|
|||||||
white_point(PNG_CONST color_encoding *encoding)
|
white_point(PNG_CONST color_encoding *encoding)
|
||||||
{
|
{
|
||||||
CIE_color white;
|
CIE_color white;
|
||||||
|
|
||||||
white.X = encoding->red.X + encoding->green.X + encoding->blue.X;
|
white.X = encoding->red.X + encoding->green.X + encoding->blue.X;
|
||||||
white.Y = encoding->red.Y + encoding->green.Y + encoding->blue.Y;
|
white.Y = encoding->red.Y + encoding->green.Y + encoding->blue.Y;
|
||||||
white.Z = encoding->red.Z + encoding->green.Z + encoding->blue.Z;
|
white.Z = encoding->red.Z + encoding->green.Z + encoding->blue.Z;
|
||||||
|
@ -17,7 +17,7 @@ void PngFileInitialize (HWND hwnd) ;
|
|||||||
BOOL PngFileOpenDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ;
|
BOOL PngFileOpenDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ;
|
||||||
BOOL PngFileSaveDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ;
|
BOOL PngFileSaveDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ;
|
||||||
|
|
||||||
BOOL PngLoadImage (PTSTR pstrFileName, png_byte **ppbImageData,
|
BOOL PngLoadImage (PTSTR pstrFileName, png_byte **ppbImageData,
|
||||||
int *piWidth, int *piHeight, int *piChannels, png_color *pBkgColor);
|
int *piWidth, int *piHeight, int *piChannels, png_color *pBkgColor);
|
||||||
BOOL PngSaveImage (PTSTR pstrFileName, png_byte *pDiData,
|
BOOL PngSaveImage (PTSTR pstrFileName, png_byte *pDiData,
|
||||||
int iWidth, int iHeight, png_color BkgColor);
|
int iWidth, int iHeight, png_color BkgColor);
|
||||||
|
@ -799,12 +799,16 @@ void write_png(char *file_name /* , ... other image information ... */)
|
|||||||
* use the first method if you aren't handling interlacing yourself.
|
* use the first method if you aren't handling interlacing yourself.
|
||||||
*/
|
*/
|
||||||
png_uint_32 k, height, width;
|
png_uint_32 k, height, width;
|
||||||
png_byte image[height][width*bytes_per_pixel];
|
|
||||||
|
/* In this example, "image" is a one-dimensional array of bytes */
|
||||||
|
png_byte image[height*width*bytes_per_pixel];
|
||||||
|
|
||||||
png_bytep row_pointers[height];
|
png_bytep row_pointers[height];
|
||||||
|
|
||||||
if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
|
if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
|
||||||
png_error (png_ptr, "Image is too tall to process in memory");
|
png_error (png_ptr, "Image is too tall to process in memory");
|
||||||
|
|
||||||
|
/* Set up pointers into your "image" byte array */
|
||||||
for (k = 0; k < height; k++)
|
for (k = 0; k < height; k++)
|
||||||
row_pointers[k] = image + k*width*bytes_per_pixel;
|
row_pointers[k] = image + k*width*bytes_per_pixel;
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Libpng-manual.txt - A description on how to use and modify libpng
|
Libpng-manual.txt - A description on how to use and modify libpng
|
||||||
|
|
||||||
libpng version 1.5.12 - July 11, 2012
|
libpng version 1.5.13 - September 27, 2012
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
<glennrp at users.sourceforge.net>
|
<glennrp at users.sourceforge.net>
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
||||||
|
|
||||||
This document is released under the libpng license.
|
This document is released under the libpng license.
|
||||||
For conditions of distribution and use, see the disclaimer
|
For conditions of distribution and use, see the disclaimer
|
||||||
@ -11,9 +11,9 @@ Libpng-manual.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng versions 0.97, January 1998, through 1.5.12 - July 11, 2012
|
libpng versions 0.97, January 1998, through 1.5.13 - September 27, 2012
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
||||||
|
|
||||||
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
||||||
Updated and distributed by Andreas Dilger
|
Updated and distributed by Andreas Dilger
|
||||||
@ -723,11 +723,11 @@ Libpng only supports composing onto a single color (using png_set_background;
|
|||||||
see below). Otherwise you must do the composition yourself and, in this case,
|
see below). Otherwise you must do the composition yourself and, in this case,
|
||||||
you may need to call png_set_alpha_mode:
|
you may need to call png_set_alpha_mode:
|
||||||
|
|
||||||
#if PNG_LIBPNG_VER >= 10504
|
#if PNG_LIBPNG_VER >= 10504
|
||||||
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
||||||
#else
|
#else
|
||||||
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
||||||
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
||||||
@ -1152,8 +1152,8 @@ gamma when combining semitransparent pixels with the background color.
|
|||||||
int_file_gamma - 100,000 times the gamma at which the
|
int_file_gamma - 100,000 times the gamma at which the
|
||||||
file is written
|
file is written
|
||||||
|
|
||||||
png_get_cHRM(png_ptr, info_ptr, &white_x, &white_y, &red_x, &red_y,
|
png_get_cHRM(png_ptr, info_ptr, &white_x, &white_y, &red_x,
|
||||||
&green_x, &green_y, &blue_x, &blue_y)
|
&red_y, &green_x, &green_y, &blue_x, &blue_y)
|
||||||
png_get_cHRM_XYZ(png_ptr, info_ptr, &red_X, &red_Y, &red_Z, &green_X,
|
png_get_cHRM_XYZ(png_ptr, info_ptr, &red_X, &red_Y, &red_Z, &green_X,
|
||||||
&green_Y, &green_Z, &blue_X, &blue_Y, &blue_Z)
|
&green_Y, &green_Z, &blue_X, &blue_Y, &blue_Z)
|
||||||
png_get_cHRM_fixed(png_ptr, info_ptr, &int_white_x, &int_white_y,
|
png_get_cHRM_fixed(png_ptr, info_ptr, &int_white_x, &int_white_y,
|
||||||
@ -1164,8 +1164,9 @@ gamma when combining semitransparent pixels with the background color.
|
|||||||
&int_blue_X, &int_blue_Y, &int_blue_Z)
|
&int_blue_X, &int_blue_Y, &int_blue_Z)
|
||||||
|
|
||||||
{white,red,green,blue}_{x,y}
|
{white,red,green,blue}_{x,y}
|
||||||
A color space encoding specified using the chromaticities
|
A color space encoding specified using the
|
||||||
of the end points and the white point. (PNG_INFO_cHRM)
|
chromaticities of the end points and the
|
||||||
|
white point. (PNG_INFO_cHRM)
|
||||||
|
|
||||||
{red,green,blue}_{X,Y,Z}
|
{red,green,blue}_{X,Y,Z}
|
||||||
A color space encoding specified using the encoding end
|
A color space encoding specified using the encoding end
|
||||||
@ -1576,17 +1577,19 @@ Within the matrix,
|
|||||||
"A" means the transformation is obtained by png_set_add_alpha().
|
"A" means the transformation is obtained by png_set_add_alpha().
|
||||||
"X" means the transformation is obtained by png_set_expand().
|
"X" means the transformation is obtained by png_set_expand().
|
||||||
"1" means the transformation is obtained by
|
"1" means the transformation is obtained by
|
||||||
png_set_expand_gray_1_2_4_to_8() (and by png_set_expand() if there
|
png_set_expand_gray_1_2_4_to_8() (and by png_set_expand()
|
||||||
is no transparency in the original or the final format).
|
if there is no transparency in the original or the final
|
||||||
|
format).
|
||||||
"C" means the transformation is obtained by png_set_gray_to_rgb().
|
"C" means the transformation is obtained by png_set_gray_to_rgb().
|
||||||
"G" means the transformation is obtained by png_set_rgb_to_gray().
|
"G" means the transformation is obtained by png_set_rgb_to_gray().
|
||||||
"P" means the transformation is obtained by
|
"P" means the transformation is obtained by
|
||||||
png_set_expand_palette_to_rgb().
|
png_set_expand_palette_to_rgb().
|
||||||
"p" means the transformation is obtained by png_set_packing().
|
"p" means the transformation is obtained by png_set_packing().
|
||||||
"Q" means the transformation is obtained by png_set_quantize().
|
"Q" means the transformation is obtained by png_set_quantize().
|
||||||
"T" means the transformation is obtained by png_set_tRNS_to_alpha().
|
"T" means the transformation is obtained by
|
||||||
"B" means the transformation is obtained by png_set_background(), or
|
png_set_tRNS_to_alpha().
|
||||||
png_strip_alpha().
|
"B" means the transformation is obtained by
|
||||||
|
png_set_background(), or png_strip_alpha().
|
||||||
|
|
||||||
When an entry has multiple transforms listed all are required to cause the
|
When an entry has multiple transforms listed all are required to cause the
|
||||||
right overall transformation. When two transforms are separated by a comma
|
right overall transformation. When two transforms are separated by a comma
|
||||||
@ -1671,8 +1674,8 @@ with alpha.
|
|||||||
|
|
||||||
if (color_type == PNG_COLOR_TYPE_RGB ||
|
if (color_type == PNG_COLOR_TYPE_RGB ||
|
||||||
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||||
png_set_rgb_to_gray(png_ptr, error_action, double red_weight,
|
png_set_rgb_to_gray(png_ptr, error_action,
|
||||||
double green_weight);
|
double red_weight, double green_weight);
|
||||||
|
|
||||||
error_action = 1: silently do the conversion
|
error_action = 1: silently do the conversion
|
||||||
|
|
||||||
@ -1694,7 +1697,8 @@ with alpha.
|
|||||||
In the corresponding fixed point API the red_weight and green_weight values are
|
In the corresponding fixed point API the red_weight and green_weight values are
|
||||||
simply scaled by 100,000:
|
simply scaled by 100,000:
|
||||||
|
|
||||||
png_set_rgb_to_gray(png_ptr, error_action, png_fixed_point red_weight,
|
png_set_rgb_to_gray(png_ptr, error_action,
|
||||||
|
png_fixed_point red_weight,
|
||||||
png_fixed_point green_weight);
|
png_fixed_point green_weight);
|
||||||
|
|
||||||
If you have set error_action = 1 or 2, you can
|
If you have set error_action = 1 or 2, you can
|
||||||
@ -2189,7 +2193,7 @@ sPLT, only the n'th item in the structure is freed, where n is "seq".
|
|||||||
The default behavior is only to free data that was allocated internally
|
The default behavior is only to free data that was allocated internally
|
||||||
by libpng. This can be changed, so that libpng will not free the data,
|
by libpng. This can be changed, so that libpng will not free the data,
|
||||||
or so that it will free data that was allocated by the user with png_malloc()
|
or so that it will free data that was allocated by the user with png_malloc()
|
||||||
or png_zalloc() and passed in via a png_set_*() function, with
|
or png_calloc() and passed in via a png_set_*() function, with
|
||||||
|
|
||||||
png_data_freer(png_ptr, info_ptr, freer, mask)
|
png_data_freer(png_ptr, info_ptr, freer, mask)
|
||||||
|
|
||||||
@ -2210,7 +2214,7 @@ or png_destroy_*() is supposed to free the data. When the user assumes
|
|||||||
responsibility for libpng-allocated data, the application must use
|
responsibility for libpng-allocated data, the application must use
|
||||||
png_free() to free it, and when the user transfers responsibility to libpng
|
png_free() to free it, and when the user transfers responsibility to libpng
|
||||||
for data that the user has allocated, the user must have used png_malloc()
|
for data that the user has allocated, the user must have used png_malloc()
|
||||||
or png_zalloc() to allocate it.
|
or png_calloc() to allocate it.
|
||||||
|
|
||||||
If you allocated your row_pointers in a single block, as suggested above in
|
If you allocated your row_pointers in a single block, as suggested above in
|
||||||
the description of the high level read interface, you must not transfer
|
the description of the high level read interface, you must not transfer
|
||||||
@ -3028,8 +3032,8 @@ tEXt chunk use RFC 1123 format dates (e.g. "22 May 1997 18:07:10 GMT"),
|
|||||||
although this isn't a requirement. Unlike the tIME chunk, the
|
although this isn't a requirement. Unlike the tIME chunk, the
|
||||||
"Creation Time" tEXt chunk is not expected to be automatically changed
|
"Creation Time" tEXt chunk is not expected to be automatically changed
|
||||||
by the software. To facilitate the use of RFC 1123 dates, a function
|
by the software. To facilitate the use of RFC 1123 dates, a function
|
||||||
png_convert_to_rfc1123(png_timep) is provided to convert from PNG
|
png_convert_to_rfc1123(png_ptr, png_timep) is provided to convert
|
||||||
time to an RFC 1123 format string.
|
from PNG time to an RFC 1123 format string.
|
||||||
|
|
||||||
Writing unknown chunks
|
Writing unknown chunks
|
||||||
|
|
||||||
@ -3391,7 +3395,7 @@ png_destroy_write_struct().
|
|||||||
The default behavior is only to free data that was allocated internally
|
The default behavior is only to free data that was allocated internally
|
||||||
by libpng. This can be changed, so that libpng will not free the data,
|
by libpng. This can be changed, so that libpng will not free the data,
|
||||||
or so that it will free data that was allocated by the user with png_malloc()
|
or so that it will free data that was allocated by the user with png_malloc()
|
||||||
or png_zalloc() and passed in via a png_set_*() function, with
|
or png_calloc() and passed in via a png_set_*() function, with
|
||||||
|
|
||||||
png_data_freer(png_ptr, info_ptr, freer, mask)
|
png_data_freer(png_ptr, info_ptr, freer, mask)
|
||||||
|
|
||||||
@ -3427,7 +3431,7 @@ When the user assumes responsibility for libpng-allocated data, the
|
|||||||
application must use
|
application must use
|
||||||
png_free() to free it, and when the user transfers responsibility to libpng
|
png_free() to free it, and when the user transfers responsibility to libpng
|
||||||
for data that the user has allocated, the user must have used png_malloc()
|
for data that the user has allocated, the user must have used png_malloc()
|
||||||
or png_zalloc() to allocate it.
|
or png_calloc() to allocate it.
|
||||||
|
|
||||||
If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword
|
If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword
|
||||||
separately, do not transfer responsibility for freeing text_ptr to libpng,
|
separately, do not transfer responsibility for freeing text_ptr to libpng,
|
||||||
@ -3455,12 +3459,13 @@ in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively. To change
|
|||||||
these functions, call the appropriate png_set_*_fn() function.
|
these functions, call the appropriate png_set_*_fn() function.
|
||||||
|
|
||||||
Memory allocation is done through the functions png_malloc(), png_calloc(),
|
Memory allocation is done through the functions png_malloc(), png_calloc(),
|
||||||
and png_free(). These currently just call the standard C functions.
|
and png_free(). The png_malloc() and png_free() functions currently just
|
||||||
png_calloc() calls png_malloc() and then clears the newly
|
call the standard C functions and png_calloc() calls png_malloc() and then
|
||||||
allocated memory to zero. There is limited support for certain systems
|
clears the newly allocated memory to zero; note that png_calloc(png_ptr, size)
|
||||||
with segmented memory architectures and the types of pointers declared by
|
is not the same as the calloc(number, size) function provided by stdlib.h.
|
||||||
png.h match this; you will have to use appropriate pointers in your
|
There is limited support for certain systems with segmented memory
|
||||||
application. Since it is
|
architectures and the types of pointers declared by png.h match this; you
|
||||||
|
will have to use appropriate pointers in your application. Since it is
|
||||||
unlikely that the method of handling memory allocation on a platform
|
unlikely that the method of handling memory allocation on a platform
|
||||||
will change between applications, these functions must be modified in
|
will change between applications, these functions must be modified in
|
||||||
the library at compile time. If you prefer to use a different method
|
the library at compile time. If you prefer to use a different method
|
||||||
@ -4089,8 +4094,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
|
|||||||
png_set_asm_flags(), and png_mmx_supported()
|
png_set_asm_flags(), and png_mmx_supported()
|
||||||
|
|
||||||
We removed the obsolete png_check_sig(), png_memcpy_check(), and
|
We removed the obsolete png_check_sig(), png_memcpy_check(), and
|
||||||
png_memset_check() functions. Instead use !png_sig_cmp(), memcpy(),
|
png_memset_check() functions. Instead use !png_sig_cmp(), png_memcpy(),
|
||||||
and memset(), respectively.
|
and png_memset(), respectively.
|
||||||
|
|
||||||
The function png_set_gray_1_2_4_to_8() was removed. It has been
|
The function png_set_gray_1_2_4_to_8() was removed. It has been
|
||||||
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
|
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
|
||||||
@ -4127,7 +4132,9 @@ png_set_strip_error_numbers() was removed from the library by default.
|
|||||||
|
|
||||||
The png_zalloc() and png_zfree() functions are no longer exported.
|
The png_zalloc() and png_zfree() functions are no longer exported.
|
||||||
The png_zalloc() function no longer zeroes out the memory that it
|
The png_zalloc() function no longer zeroes out the memory that it
|
||||||
allocates.
|
allocates. Applications that called png_zalloc(png_ptr, number, size)
|
||||||
|
can call png_calloc(png_ptr, number*size) instead, and can call
|
||||||
|
png_free() instead of png_zfree().
|
||||||
|
|
||||||
Support for dithering was disabled by default in libpng-1.4.0, because
|
Support for dithering was disabled by default in libpng-1.4.0, because
|
||||||
it has not been well tested and doesn't actually "dither".
|
it has not been well tested and doesn't actually "dither".
|
||||||
@ -4161,8 +4168,8 @@ A. Changes that affect users of libpng
|
|||||||
|
|
||||||
There are no substantial API changes between the non-deprecated parts of
|
There are no substantial API changes between the non-deprecated parts of
|
||||||
the 1.4.5 API and the 1.5.0 API; however, the ability to directly access
|
the 1.4.5 API and the 1.5.0 API; however, the ability to directly access
|
||||||
the main libpng control structures, png_struct and png_info, deprecated
|
members of the main libpng control structures, png_struct and png_info,
|
||||||
in earlier versions of libpng, has been completely removed from
|
deprecated in earlier versions of libpng, has been completely removed from
|
||||||
libpng 1.5.
|
libpng 1.5.
|
||||||
|
|
||||||
We no longer include zlib.h in png.h. Applications that need access
|
We no longer include zlib.h in png.h. Applications that need access
|
||||||
@ -4170,9 +4177,12 @@ to information in zlib.h will need to add the '#include "zlib.h"'
|
|||||||
directive. It does not matter whether it is placed prior to or after
|
directive. It does not matter whether it is placed prior to or after
|
||||||
the '"#include png.h"' directive.
|
the '"#include png.h"' directive.
|
||||||
|
|
||||||
We moved the png_strcpy(), png_strncpy(), png_strlen(), png_memcpy(),
|
The png_sprintf(), png_strcpy(), and png_strncpy() macros are no longer used
|
||||||
png_memcmp(), png_sprintf, and png_memcpy() macros into a private
|
and were removed.
|
||||||
header file (pngpriv.h) that is not accessible to applications.
|
|
||||||
|
We moved the png_strlen(), png_memcpy(), png_memset(), and png_memcmp()
|
||||||
|
macros into a private header file (pngpriv.h) that is not accessible to
|
||||||
|
applications.
|
||||||
|
|
||||||
In png_get_iCCP, the type of "profile" was changed from png_charpp
|
In png_get_iCCP, the type of "profile" was changed from png_charpp
|
||||||
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
||||||
@ -4602,13 +4612,13 @@ Other rules can be inferred by inspecting the libpng source.
|
|||||||
|
|
||||||
XIV. Y2K Compliance in libpng
|
XIV. Y2K Compliance in libpng
|
||||||
|
|
||||||
July 11, 2012
|
September 27, 2012
|
||||||
|
|
||||||
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.5.12 are Y2K compliant. It is my belief that earlier
|
upward through 1.5.13 are Y2K compliant. It is my belief that earlier
|
||||||
versions were also Y2K compliant.
|
versions were also Y2K compliant.
|
||||||
|
|
||||||
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
||||||
|
117
libpng.3
117
libpng.3
@ -1,6 +1,6 @@
|
|||||||
.TH LIBPNG 3 "July 11, 2012"
|
.TH LIBPNG 3 "September 27, 2012"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.12
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.13
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fI\fB
|
\fI\fB
|
||||||
|
|
||||||
@ -962,14 +962,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.12
|
|||||||
|
|
||||||
\fI\fB
|
\fI\fB
|
||||||
|
|
||||||
\fBvoidpf png_zalloc (voidpf \fP\fIpng_ptr\fP\fB, uInt \fP\fIitems\fP\fB, uInt \fIsize\fP\fB);\fP
|
|
||||||
|
|
||||||
\fI\fB
|
|
||||||
|
|
||||||
\fBvoid png_zfree (voidpf \fP\fIpng_ptr\fP\fB, voidpf \fIptr\fP\fB);\fP
|
|
||||||
|
|
||||||
\fI\fB
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
The
|
The
|
||||||
.I libpng
|
.I libpng
|
||||||
@ -981,10 +973,10 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
|||||||
.SH LIBPNG.TXT
|
.SH LIBPNG.TXT
|
||||||
Libpng-manual.txt - A description on how to use and modify libpng
|
Libpng-manual.txt - A description on how to use and modify libpng
|
||||||
|
|
||||||
libpng version 1.5.12 - July 11, 2012
|
libpng version 1.5.13 - September 27, 2012
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
<glennrp at users.sourceforge.net>
|
<glennrp at users.sourceforge.net>
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
||||||
|
|
||||||
This document is released under the libpng license.
|
This document is released under the libpng license.
|
||||||
For conditions of distribution and use, see the disclaimer
|
For conditions of distribution and use, see the disclaimer
|
||||||
@ -992,9 +984,9 @@ Libpng-manual.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng versions 0.97, January 1998, through 1.5.12 - July 11, 2012
|
libpng versions 0.97, January 1998, through 1.5.13 - September 27, 2012
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
||||||
|
|
||||||
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
libpng 1.0 beta 6 version 0.96 May 28, 1997
|
||||||
Updated and distributed by Andreas Dilger
|
Updated and distributed by Andreas Dilger
|
||||||
@ -1704,11 +1696,11 @@ Libpng only supports composing onto a single color (using png_set_background;
|
|||||||
see below). Otherwise you must do the composition yourself and, in this case,
|
see below). Otherwise you must do the composition yourself and, in this case,
|
||||||
you may need to call png_set_alpha_mode:
|
you may need to call png_set_alpha_mode:
|
||||||
|
|
||||||
#if PNG_LIBPNG_VER >= 10504
|
#if PNG_LIBPNG_VER >= 10504
|
||||||
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
||||||
#else
|
#else
|
||||||
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
||||||
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
||||||
@ -2133,8 +2125,8 @@ gamma when combining semitransparent pixels with the background color.
|
|||||||
int_file_gamma - 100,000 times the gamma at which the
|
int_file_gamma - 100,000 times the gamma at which the
|
||||||
file is written
|
file is written
|
||||||
|
|
||||||
png_get_cHRM(png_ptr, info_ptr, &white_x, &white_y, &red_x, &red_y,
|
png_get_cHRM(png_ptr, info_ptr, &white_x, &white_y, &red_x,
|
||||||
&green_x, &green_y, &blue_x, &blue_y)
|
&red_y, &green_x, &green_y, &blue_x, &blue_y)
|
||||||
png_get_cHRM_XYZ(png_ptr, info_ptr, &red_X, &red_Y, &red_Z, &green_X,
|
png_get_cHRM_XYZ(png_ptr, info_ptr, &red_X, &red_Y, &red_Z, &green_X,
|
||||||
&green_Y, &green_Z, &blue_X, &blue_Y, &blue_Z)
|
&green_Y, &green_Z, &blue_X, &blue_Y, &blue_Z)
|
||||||
png_get_cHRM_fixed(png_ptr, info_ptr, &int_white_x, &int_white_y,
|
png_get_cHRM_fixed(png_ptr, info_ptr, &int_white_x, &int_white_y,
|
||||||
@ -2145,8 +2137,9 @@ gamma when combining semitransparent pixels with the background color.
|
|||||||
&int_blue_X, &int_blue_Y, &int_blue_Z)
|
&int_blue_X, &int_blue_Y, &int_blue_Z)
|
||||||
|
|
||||||
{white,red,green,blue}_{x,y}
|
{white,red,green,blue}_{x,y}
|
||||||
A color space encoding specified using the chromaticities
|
A color space encoding specified using the
|
||||||
of the end points and the white point. (PNG_INFO_cHRM)
|
chromaticities of the end points and the
|
||||||
|
white point. (PNG_INFO_cHRM)
|
||||||
|
|
||||||
{red,green,blue}_{X,Y,Z}
|
{red,green,blue}_{X,Y,Z}
|
||||||
A color space encoding specified using the encoding end
|
A color space encoding specified using the encoding end
|
||||||
@ -2557,17 +2550,19 @@ Within the matrix,
|
|||||||
"A" means the transformation is obtained by png_set_add_alpha().
|
"A" means the transformation is obtained by png_set_add_alpha().
|
||||||
"X" means the transformation is obtained by png_set_expand().
|
"X" means the transformation is obtained by png_set_expand().
|
||||||
"1" means the transformation is obtained by
|
"1" means the transformation is obtained by
|
||||||
png_set_expand_gray_1_2_4_to_8() (and by png_set_expand() if there
|
png_set_expand_gray_1_2_4_to_8() (and by png_set_expand()
|
||||||
is no transparency in the original or the final format).
|
if there is no transparency in the original or the final
|
||||||
|
format).
|
||||||
"C" means the transformation is obtained by png_set_gray_to_rgb().
|
"C" means the transformation is obtained by png_set_gray_to_rgb().
|
||||||
"G" means the transformation is obtained by png_set_rgb_to_gray().
|
"G" means the transformation is obtained by png_set_rgb_to_gray().
|
||||||
"P" means the transformation is obtained by
|
"P" means the transformation is obtained by
|
||||||
png_set_expand_palette_to_rgb().
|
png_set_expand_palette_to_rgb().
|
||||||
"p" means the transformation is obtained by png_set_packing().
|
"p" means the transformation is obtained by png_set_packing().
|
||||||
"Q" means the transformation is obtained by png_set_quantize().
|
"Q" means the transformation is obtained by png_set_quantize().
|
||||||
"T" means the transformation is obtained by png_set_tRNS_to_alpha().
|
"T" means the transformation is obtained by
|
||||||
"B" means the transformation is obtained by png_set_background(), or
|
png_set_tRNS_to_alpha().
|
||||||
png_strip_alpha().
|
"B" means the transformation is obtained by
|
||||||
|
png_set_background(), or png_strip_alpha().
|
||||||
|
|
||||||
When an entry has multiple transforms listed all are required to cause the
|
When an entry has multiple transforms listed all are required to cause the
|
||||||
right overall transformation. When two transforms are separated by a comma
|
right overall transformation. When two transforms are separated by a comma
|
||||||
@ -2652,8 +2647,8 @@ with alpha.
|
|||||||
|
|
||||||
if (color_type == PNG_COLOR_TYPE_RGB ||
|
if (color_type == PNG_COLOR_TYPE_RGB ||
|
||||||
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
|
||||||
png_set_rgb_to_gray(png_ptr, error_action, double red_weight,
|
png_set_rgb_to_gray(png_ptr, error_action,
|
||||||
double green_weight);
|
double red_weight, double green_weight);
|
||||||
|
|
||||||
error_action = 1: silently do the conversion
|
error_action = 1: silently do the conversion
|
||||||
|
|
||||||
@ -2675,7 +2670,8 @@ with alpha.
|
|||||||
In the corresponding fixed point API the red_weight and green_weight values are
|
In the corresponding fixed point API the red_weight and green_weight values are
|
||||||
simply scaled by 100,000:
|
simply scaled by 100,000:
|
||||||
|
|
||||||
png_set_rgb_to_gray(png_ptr, error_action, png_fixed_point red_weight,
|
png_set_rgb_to_gray(png_ptr, error_action,
|
||||||
|
png_fixed_point red_weight,
|
||||||
png_fixed_point green_weight);
|
png_fixed_point green_weight);
|
||||||
|
|
||||||
If you have set error_action = 1 or 2, you can
|
If you have set error_action = 1 or 2, you can
|
||||||
@ -3170,7 +3166,7 @@ sPLT, only the n'th item in the structure is freed, where n is "seq".
|
|||||||
The default behavior is only to free data that was allocated internally
|
The default behavior is only to free data that was allocated internally
|
||||||
by libpng. This can be changed, so that libpng will not free the data,
|
by libpng. This can be changed, so that libpng will not free the data,
|
||||||
or so that it will free data that was allocated by the user with png_malloc()
|
or so that it will free data that was allocated by the user with png_malloc()
|
||||||
or png_zalloc() and passed in via a png_set_*() function, with
|
or png_calloc() and passed in via a png_set_*() function, with
|
||||||
|
|
||||||
png_data_freer(png_ptr, info_ptr, freer, mask)
|
png_data_freer(png_ptr, info_ptr, freer, mask)
|
||||||
|
|
||||||
@ -3191,7 +3187,7 @@ or png_destroy_*() is supposed to free the data. When the user assumes
|
|||||||
responsibility for libpng-allocated data, the application must use
|
responsibility for libpng-allocated data, the application must use
|
||||||
png_free() to free it, and when the user transfers responsibility to libpng
|
png_free() to free it, and when the user transfers responsibility to libpng
|
||||||
for data that the user has allocated, the user must have used png_malloc()
|
for data that the user has allocated, the user must have used png_malloc()
|
||||||
or png_zalloc() to allocate it.
|
or png_calloc() to allocate it.
|
||||||
|
|
||||||
If you allocated your row_pointers in a single block, as suggested above in
|
If you allocated your row_pointers in a single block, as suggested above in
|
||||||
the description of the high level read interface, you must not transfer
|
the description of the high level read interface, you must not transfer
|
||||||
@ -4009,8 +4005,8 @@ tEXt chunk use RFC 1123 format dates (e.g. "22 May 1997 18:07:10 GMT"),
|
|||||||
although this isn't a requirement. Unlike the tIME chunk, the
|
although this isn't a requirement. Unlike the tIME chunk, the
|
||||||
"Creation Time" tEXt chunk is not expected to be automatically changed
|
"Creation Time" tEXt chunk is not expected to be automatically changed
|
||||||
by the software. To facilitate the use of RFC 1123 dates, a function
|
by the software. To facilitate the use of RFC 1123 dates, a function
|
||||||
png_convert_to_rfc1123(png_timep) is provided to convert from PNG
|
png_convert_to_rfc1123(png_ptr, png_timep) is provided to convert
|
||||||
time to an RFC 1123 format string.
|
from PNG time to an RFC 1123 format string.
|
||||||
|
|
||||||
.SS Writing unknown chunks
|
.SS Writing unknown chunks
|
||||||
|
|
||||||
@ -4372,7 +4368,7 @@ png_destroy_write_struct().
|
|||||||
The default behavior is only to free data that was allocated internally
|
The default behavior is only to free data that was allocated internally
|
||||||
by libpng. This can be changed, so that libpng will not free the data,
|
by libpng. This can be changed, so that libpng will not free the data,
|
||||||
or so that it will free data that was allocated by the user with png_malloc()
|
or so that it will free data that was allocated by the user with png_malloc()
|
||||||
or png_zalloc() and passed in via a png_set_*() function, with
|
or png_calloc() and passed in via a png_set_*() function, with
|
||||||
|
|
||||||
png_data_freer(png_ptr, info_ptr, freer, mask)
|
png_data_freer(png_ptr, info_ptr, freer, mask)
|
||||||
|
|
||||||
@ -4408,7 +4404,7 @@ When the user assumes responsibility for libpng-allocated data, the
|
|||||||
application must use
|
application must use
|
||||||
png_free() to free it, and when the user transfers responsibility to libpng
|
png_free() to free it, and when the user transfers responsibility to libpng
|
||||||
for data that the user has allocated, the user must have used png_malloc()
|
for data that the user has allocated, the user must have used png_malloc()
|
||||||
or png_zalloc() to allocate it.
|
or png_calloc() to allocate it.
|
||||||
|
|
||||||
If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword
|
If you allocated text_ptr.text, text_ptr.lang, and text_ptr.translated_keyword
|
||||||
separately, do not transfer responsibility for freeing text_ptr to libpng,
|
separately, do not transfer responsibility for freeing text_ptr to libpng,
|
||||||
@ -4436,12 +4432,13 @@ in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively. To change
|
|||||||
these functions, call the appropriate png_set_*_fn() function.
|
these functions, call the appropriate png_set_*_fn() function.
|
||||||
|
|
||||||
Memory allocation is done through the functions png_malloc(), png_calloc(),
|
Memory allocation is done through the functions png_malloc(), png_calloc(),
|
||||||
and png_free(). These currently just call the standard C functions.
|
and png_free(). The png_malloc() and png_free() functions currently just
|
||||||
png_calloc() calls png_malloc() and then clears the newly
|
call the standard C functions and png_calloc() calls png_malloc() and then
|
||||||
allocated memory to zero. There is limited support for certain systems
|
clears the newly allocated memory to zero; note that png_calloc(png_ptr, size)
|
||||||
with segmented memory architectures and the types of pointers declared by
|
is not the same as the calloc(number, size) function provided by stdlib.h.
|
||||||
png.h match this; you will have to use appropriate pointers in your
|
There is limited support for certain systems with segmented memory
|
||||||
application. Since it is
|
architectures and the types of pointers declared by png.h match this; you
|
||||||
|
will have to use appropriate pointers in your application. Since it is
|
||||||
unlikely that the method of handling memory allocation on a platform
|
unlikely that the method of handling memory allocation on a platform
|
||||||
will change between applications, these functions must be modified in
|
will change between applications, these functions must be modified in
|
||||||
the library at compile time. If you prefer to use a different method
|
the library at compile time. If you prefer to use a different method
|
||||||
@ -5071,8 +5068,8 @@ png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
|
|||||||
png_set_asm_flags(), and png_mmx_supported()
|
png_set_asm_flags(), and png_mmx_supported()
|
||||||
|
|
||||||
We removed the obsolete png_check_sig(), png_memcpy_check(), and
|
We removed the obsolete png_check_sig(), png_memcpy_check(), and
|
||||||
png_memset_check() functions. Instead use !png_sig_cmp(), memcpy(),
|
png_memset_check() functions. Instead use !png_sig_cmp(), png_memcpy(),
|
||||||
and memset(), respectively.
|
and png_memset(), respectively.
|
||||||
|
|
||||||
The function png_set_gray_1_2_4_to_8() was removed. It has been
|
The function png_set_gray_1_2_4_to_8() was removed. It has been
|
||||||
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
|
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
|
||||||
@ -5109,7 +5106,9 @@ png_set_strip_error_numbers() was removed from the library by default.
|
|||||||
|
|
||||||
The png_zalloc() and png_zfree() functions are no longer exported.
|
The png_zalloc() and png_zfree() functions are no longer exported.
|
||||||
The png_zalloc() function no longer zeroes out the memory that it
|
The png_zalloc() function no longer zeroes out the memory that it
|
||||||
allocates.
|
allocates. Applications that called png_zalloc(png_ptr, number, size)
|
||||||
|
can call png_calloc(png_ptr, number*size) instead, and can call
|
||||||
|
png_free() instead of png_zfree().
|
||||||
|
|
||||||
Support for dithering was disabled by default in libpng-1.4.0, because
|
Support for dithering was disabled by default in libpng-1.4.0, because
|
||||||
it has not been well tested and doesn't actually "dither".
|
it has not been well tested and doesn't actually "dither".
|
||||||
@ -5143,8 +5142,8 @@ A. Changes that affect users of libpng
|
|||||||
|
|
||||||
There are no substantial API changes between the non-deprecated parts of
|
There are no substantial API changes between the non-deprecated parts of
|
||||||
the 1.4.5 API and the 1.5.0 API; however, the ability to directly access
|
the 1.4.5 API and the 1.5.0 API; however, the ability to directly access
|
||||||
the main libpng control structures, png_struct and png_info, deprecated
|
members of the main libpng control structures, png_struct and png_info,
|
||||||
in earlier versions of libpng, has been completely removed from
|
deprecated in earlier versions of libpng, has been completely removed from
|
||||||
libpng 1.5.
|
libpng 1.5.
|
||||||
|
|
||||||
We no longer include zlib.h in png.h. Applications that need access
|
We no longer include zlib.h in png.h. Applications that need access
|
||||||
@ -5152,9 +5151,12 @@ to information in zlib.h will need to add the '#include "zlib.h"'
|
|||||||
directive. It does not matter whether it is placed prior to or after
|
directive. It does not matter whether it is placed prior to or after
|
||||||
the '"#include png.h"' directive.
|
the '"#include png.h"' directive.
|
||||||
|
|
||||||
We moved the png_strcpy(), png_strncpy(), png_strlen(), png_memcpy(),
|
The png_sprintf(), png_strcpy(), and png_strncpy() macros are no longer used
|
||||||
png_memcmp(), png_sprintf, and png_memcpy() macros into a private
|
and were removed.
|
||||||
header file (pngpriv.h) that is not accessible to applications.
|
|
||||||
|
We moved the png_strlen(), png_memcpy(), png_memset(), and png_memcmp()
|
||||||
|
macros into a private header file (pngpriv.h) that is not accessible to
|
||||||
|
applications.
|
||||||
|
|
||||||
In png_get_iCCP, the type of "profile" was changed from png_charpp
|
In png_get_iCCP, the type of "profile" was changed from png_charpp
|
||||||
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
||||||
@ -5584,13 +5586,13 @@ Other rules can be inferred by inspecting the libpng source.
|
|||||||
|
|
||||||
.SH XIV. Y2K Compliance in libpng
|
.SH XIV. Y2K Compliance in libpng
|
||||||
|
|
||||||
July 11, 2012
|
September 27, 2012
|
||||||
|
|
||||||
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.5.12 are Y2K compliant. It is my belief that earlier
|
upward through 1.5.13 are Y2K compliant. It is my belief that earlier
|
||||||
versions were also Y2K compliant.
|
versions were also Y2K compliant.
|
||||||
|
|
||||||
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
Libpng only has two year fields. One is a 2-byte unsigned integer that
|
||||||
@ -5807,6 +5809,9 @@ the first widely used release:
|
|||||||
1.5.11rc01-05 15 10511 15.so.15.11[.0]
|
1.5.11rc01-05 15 10511 15.so.15.11[.0]
|
||||||
1.5.11 15 10511 15.so.15.11[.0]
|
1.5.11 15 10511 15.so.15.11[.0]
|
||||||
1.5.12 15 10512 15.so.15.12[.0]
|
1.5.12 15 10512 15.so.15.12[.0]
|
||||||
|
1.5.13beta01-02 15 10513 15.so.15.13[.0]
|
||||||
|
1.5.13rc01 15 10513 15.so.15.13[.0]
|
||||||
|
1.5.13 15 10513 15.so.15.13[.0]
|
||||||
|
|
||||||
Henceforth the source version will match the shared-library minor
|
Henceforth the source version will match the shared-library minor
|
||||||
and patch numbers; the shared-library major version number will be
|
and patch numbers; the shared-library major version number will be
|
||||||
@ -5863,7 +5868,7 @@ possible without all of you.
|
|||||||
|
|
||||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||||
|
|
||||||
Libpng version 1.5.12 - July 11, 2012:
|
Libpng version 1.5.13 - September 27, 2012:
|
||||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||||
|
|
||||||
@ -5886,7 +5891,7 @@ this sentence.
|
|||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
|
|
||||||
libpng versions 1.2.6, August 15, 2004, through 1.5.12, July 11, 2012, are
|
libpng versions 1.2.6, August 15, 2004, through 1.5.13, September 27, 2012, are
|
||||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
with the following individual added to the list of Contributing Authors
|
with the following individual added to the list of Contributing Authors
|
||||||
@ -5985,7 +5990,7 @@ certification mark of the Open Source Initiative.
|
|||||||
|
|
||||||
Glenn Randers-Pehrson
|
Glenn Randers-Pehrson
|
||||||
glennrp at users.sourceforge.net
|
glennrp at users.sourceforge.net
|
||||||
July 11, 2012
|
September 27, 2012
|
||||||
|
|
||||||
.\" end of man page
|
.\" end of man page
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.TH LIBPNGPF 3 "July 11, 2012"
|
.TH LIBPNGPF 3 "September 27, 2012"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.12
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.13
|
||||||
(private functions)
|
(private functions)
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fB#include \fI"pngpriv.h"
|
\fB#include \fI"pngpriv.h"
|
||||||
|
2
png.5
2
png.5
@ -1,4 +1,4 @@
|
|||||||
.TH PNG 5 "July 11, 2012"
|
.TH PNG 5 "September 27, 2012"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
png \- Portable Network Graphics (PNG) format
|
png \- Portable Network Graphics (PNG) format
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
6
png.c
6
png.c
@ -14,7 +14,7 @@
|
|||||||
#include "pngpriv.h"
|
#include "pngpriv.h"
|
||||||
|
|
||||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||||
typedef png_libpng_version_1_5_12 Your_png_h_is_not_version_1_5_12;
|
typedef png_libpng_version_1_5_13 Your_png_h_is_not_version_1_5_13;
|
||||||
|
|
||||||
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
||||||
* of the PNG file signature. If the PNG data is embedded into another
|
* of the PNG file signature. If the PNG data is embedded into another
|
||||||
@ -655,13 +655,13 @@ png_get_copyright(png_const_structp png_ptr)
|
|||||||
#else
|
#else
|
||||||
# ifdef __STDC__
|
# ifdef __STDC__
|
||||||
return PNG_STRING_NEWLINE \
|
return PNG_STRING_NEWLINE \
|
||||||
"libpng version 1.5.12 - July 11, 2012" PNG_STRING_NEWLINE \
|
"libpng version 1.5.13 - September 27, 2012" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1998-2012 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
"Copyright (c) 1998-2012 Glenn Randers-Pehrson" 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.5.12 - July 11, 2012\
|
return "libpng version 1.5.13 - September 27, 2012\
|
||||||
Copyright (c) 1998-2012 Glenn Randers-Pehrson\
|
Copyright (c) 1998-2012 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.";
|
||||||
|
87
png.h
87
png.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.5.12 - July 11, 2012
|
* libpng version 1.5.13 - September 27, 2012
|
||||||
* Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2012 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.)
|
||||||
@ -11,7 +11,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.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||||
* libpng versions 0.97, January 1998, through 1.5.12 - July 11, 2012: Glenn
|
* libpng versions 0.97, January 1998, through 1.5.13 - September 27, 2012: Glenn
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*
|
*
|
||||||
* Note about libpng version numbers:
|
* Note about libpng version numbers:
|
||||||
@ -178,6 +178,9 @@
|
|||||||
* 1.5.11rc01-05 15 10511 15.so.15.11[.0]
|
* 1.5.11rc01-05 15 10511 15.so.15.11[.0]
|
||||||
* 1.5.11 15 10511 15.so.15.11[.0]
|
* 1.5.11 15 10511 15.so.15.11[.0]
|
||||||
* 1.5.12 15 10512 15.so.15.12[.0]
|
* 1.5.12 15 10512 15.so.15.12[.0]
|
||||||
|
* 1.5.13beta01-02 15 10513 15.so.15.13[.0]
|
||||||
|
* 1.5.13rc01 15 10513 15.so.15.13[.0]
|
||||||
|
* 1.5.13 15 10513 15.so.15.13[.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
|
||||||
@ -209,7 +212,7 @@
|
|||||||
*
|
*
|
||||||
* This code is released under the libpng license.
|
* This code is released under the libpng license.
|
||||||
*
|
*
|
||||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.12, July 11, 2012, are
|
* libpng versions 1.2.6, August 15, 2004, through 1.5.13, September 27, 2012, are
|
||||||
* Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
|
* Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
|
||||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
* with the following individual added to the list of Contributing Authors:
|
* with the following individual added to the list of Contributing Authors:
|
||||||
@ -321,13 +324,13 @@
|
|||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* July 11, 2012
|
* September 27, 2012
|
||||||
*
|
*
|
||||||
* 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.5.12 are Y2K compliant. It is my belief that
|
* upward through 1.5.13 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
|
||||||
@ -386,9 +389,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* 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.5.12"
|
#define PNG_LIBPNG_VER_STRING "1.5.13"
|
||||||
#define PNG_HEADER_VERSION_STRING \
|
#define PNG_HEADER_VERSION_STRING \
|
||||||
" libpng version 1.5.12 - July 11, 2012\n"
|
" libpng version 1.5.13 - September 27, 2012\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 15
|
#define PNG_LIBPNG_VER_SONUM 15
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 15
|
#define PNG_LIBPNG_VER_DLLNUM 15
|
||||||
@ -396,7 +399,7 @@
|
|||||||
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
||||||
#define PNG_LIBPNG_VER_MAJOR 1
|
#define PNG_LIBPNG_VER_MAJOR 1
|
||||||
#define PNG_LIBPNG_VER_MINOR 5
|
#define PNG_LIBPNG_VER_MINOR 5
|
||||||
#define PNG_LIBPNG_VER_RELEASE 12
|
#define PNG_LIBPNG_VER_RELEASE 13
|
||||||
|
|
||||||
/* 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:
|
||||||
@ -427,7 +430,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 10512 /* 1.5.12 */
|
#define PNG_LIBPNG_VER 10513 /* 1.5.13 */
|
||||||
|
|
||||||
/* 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.
|
||||||
@ -549,7 +552,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_5_12;
|
typedef char* png_libpng_version_1_5_13;
|
||||||
|
|
||||||
/* Three color definitions. The order of the red, green, and blue, (and the
|
/* Three color definitions. The order of the red, green, and blue, (and the
|
||||||
* exact size) is not important, although the size of the fields need to
|
* exact size) is not important, although the size of the fields need to
|
||||||
@ -1158,9 +1161,9 @@ PNG_EXPORT(31, void, png_set_gray_to_rgb, (png_structp png_ptr));
|
|||||||
#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/
|
#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/
|
||||||
|
|
||||||
PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structp png_ptr,
|
PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structp png_ptr,
|
||||||
int error_action, double red, double green));
|
int error_action, double red, double green))
|
||||||
PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structp png_ptr,
|
||||||
int error_action, png_fixed_point red, png_fixed_point green));
|
int error_action, png_fixed_point red, png_fixed_point green))
|
||||||
|
|
||||||
PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structp
|
PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structp
|
||||||
png_ptr));
|
png_ptr));
|
||||||
@ -1228,9 +1231,9 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth,
|
|||||||
#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */
|
#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */
|
||||||
|
|
||||||
PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structp png_ptr, int mode,
|
PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structp png_ptr, int mode,
|
||||||
double output_gamma));
|
double output_gamma))
|
||||||
PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structp png_ptr,
|
||||||
int mode, png_fixed_point output_gamma));
|
int mode, png_fixed_point output_gamma))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED)
|
#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED)
|
||||||
@ -1453,10 +1456,10 @@ PNG_EXPORT(46, void, png_set_invert_mono, (png_structp png_ptr));
|
|||||||
*/
|
*/
|
||||||
PNG_FP_EXPORT(47, void, png_set_background, (png_structp png_ptr,
|
PNG_FP_EXPORT(47, void, png_set_background, (png_structp png_ptr,
|
||||||
png_const_color_16p background_color, int background_gamma_code,
|
png_const_color_16p background_color, int background_gamma_code,
|
||||||
int need_expand, double background_gamma));
|
int need_expand, double background_gamma))
|
||||||
PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structp png_ptr,
|
||||||
png_const_color_16p background_color, int background_gamma_code,
|
png_const_color_16p background_color, int background_gamma_code,
|
||||||
int need_expand, png_fixed_point background_gamma));
|
int need_expand, png_fixed_point background_gamma))
|
||||||
#endif
|
#endif
|
||||||
#ifdef PNG_READ_BACKGROUND_SUPPORTED
|
#ifdef PNG_READ_BACKGROUND_SUPPORTED
|
||||||
# define PNG_BACKGROUND_GAMMA_UNKNOWN 0
|
# define PNG_BACKGROUND_GAMMA_UNKNOWN 0
|
||||||
@ -1505,9 +1508,9 @@ PNG_EXPORT(49, void, png_set_quantize,
|
|||||||
*/
|
*/
|
||||||
PNG_FP_EXPORT(50, void, png_set_gamma,
|
PNG_FP_EXPORT(50, void, png_set_gamma,
|
||||||
(png_structp png_ptr, double screen_gamma,
|
(png_structp png_ptr, double screen_gamma,
|
||||||
double override_file_gamma));
|
double override_file_gamma))
|
||||||
PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structp png_ptr,
|
||||||
png_fixed_point screen_gamma, png_fixed_point override_file_gamma));
|
png_fixed_point screen_gamma, png_fixed_point override_file_gamma))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
||||||
@ -1667,11 +1670,11 @@ PNG_EXPORT(67, void, png_set_filter,
|
|||||||
*/
|
*/
|
||||||
PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structp png_ptr,
|
PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structp png_ptr,
|
||||||
int heuristic_method, int num_weights, png_const_doublep filter_weights,
|
int heuristic_method, int num_weights, png_const_doublep filter_weights,
|
||||||
png_const_doublep filter_costs));
|
png_const_doublep filter_costs))
|
||||||
PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
|
PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
|
||||||
(png_structp png_ptr,
|
(png_structp png_ptr,
|
||||||
int heuristic_method, int num_weights, png_const_fixed_point_p
|
int heuristic_method, int num_weights, png_const_fixed_point_p
|
||||||
filter_weights, png_const_fixed_point_p filter_costs));
|
filter_weights, png_const_fixed_point_p filter_costs))
|
||||||
#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
|
#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
|
||||||
|
|
||||||
/* Heuristic used for row filter selection. These defines should NOT be
|
/* Heuristic used for row filter selection. These defines should NOT be
|
||||||
@ -2053,9 +2056,9 @@ PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter,
|
|||||||
|
|
||||||
/* Returns pixel aspect ratio, computed from pHYs chunk data. */
|
/* Returns pixel aspect ratio, computed from pHYs chunk data. */
|
||||||
PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio,
|
PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr));
|
(png_const_structp png_ptr, png_const_infop info_ptr))
|
||||||
PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed,
|
PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr));
|
(png_const_structp png_ptr, png_const_infop info_ptr))
|
||||||
|
|
||||||
/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */
|
/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */
|
||||||
PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels,
|
PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels,
|
||||||
@ -2088,11 +2091,11 @@ PNG_EXPORT(132, void, png_set_bKGD, (png_structp png_ptr, png_infop info_ptr,
|
|||||||
PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structp png_ptr,
|
PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structp png_ptr,
|
||||||
png_const_infop info_ptr, double *white_x, double *white_y, double *red_x,
|
png_const_infop info_ptr, double *white_x, double *white_y, double *red_x,
|
||||||
double *red_y, double *green_x, double *green_y, double *blue_x,
|
double *red_y, double *green_x, double *green_y, double *blue_x,
|
||||||
double *blue_y));
|
double *blue_y))
|
||||||
PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_structp png_ptr,
|
PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_structp png_ptr,
|
||||||
png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z,
|
png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z,
|
||||||
double *green_X, double *green_Y, double *green_Z, double *blue_X,
|
double *green_X, double *green_Y, double *green_Z, double *blue_X,
|
||||||
double *blue_Y, double *blue_Z));
|
double *blue_Y, double *blue_Z))
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED /* Otherwise not implemented */
|
#ifdef PNG_FIXED_POINT_SUPPORTED /* Otherwise not implemented */
|
||||||
PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed,
|
PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed,
|
||||||
(png_const_structp png_ptr,
|
(png_const_structp png_ptr,
|
||||||
@ -2100,7 +2103,7 @@ PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed,
|
|||||||
png_fixed_point *int_white_y, png_fixed_point *int_red_x,
|
png_fixed_point *int_white_y, png_fixed_point *int_red_x,
|
||||||
png_fixed_point *int_red_y, png_fixed_point *int_green_x,
|
png_fixed_point *int_red_y, png_fixed_point *int_green_x,
|
||||||
png_fixed_point *int_green_y, png_fixed_point *int_blue_x,
|
png_fixed_point *int_green_y, png_fixed_point *int_blue_x,
|
||||||
png_fixed_point *int_blue_y));
|
png_fixed_point *int_blue_y))
|
||||||
#endif
|
#endif
|
||||||
PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed,
|
PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed,
|
||||||
(png_structp png_ptr, png_const_infop info_ptr,
|
(png_structp png_ptr, png_const_infop info_ptr,
|
||||||
@ -2108,46 +2111,46 @@ PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed,
|
|||||||
png_fixed_point *int_red_Z, png_fixed_point *int_green_X,
|
png_fixed_point *int_red_Z, png_fixed_point *int_green_X,
|
||||||
png_fixed_point *int_green_Y, png_fixed_point *int_green_Z,
|
png_fixed_point *int_green_Y, png_fixed_point *int_green_Z,
|
||||||
png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y,
|
png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y,
|
||||||
png_fixed_point *int_blue_Z));
|
png_fixed_point *int_blue_Z))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_cHRM_SUPPORTED
|
#ifdef PNG_cHRM_SUPPORTED
|
||||||
PNG_FP_EXPORT(135, void, png_set_cHRM,
|
PNG_FP_EXPORT(135, void, png_set_cHRM,
|
||||||
(png_structp png_ptr, png_infop info_ptr,
|
(png_structp png_ptr, png_infop info_ptr,
|
||||||
double white_x, double white_y, double red_x, double red_y, double green_x,
|
double white_x, double white_y, double red_x, double red_y, double green_x,
|
||||||
double green_y, double blue_x, double blue_y));
|
double green_y, double blue_x, double blue_y))
|
||||||
PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_structp png_ptr,
|
PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_structp png_ptr,
|
||||||
png_infop info_ptr, double red_X, double red_Y, double red_Z,
|
png_infop info_ptr, double red_X, double red_Y, double red_Z,
|
||||||
double green_X, double green_Y, double green_Z, double blue_X,
|
double green_X, double green_Y, double green_Z, double blue_X,
|
||||||
double blue_Y, double blue_Z));
|
double blue_Y, double blue_Z))
|
||||||
PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_structp png_ptr,
|
||||||
png_infop info_ptr, png_fixed_point int_white_x,
|
png_infop info_ptr, png_fixed_point int_white_x,
|
||||||
png_fixed_point int_white_y, png_fixed_point int_red_x,
|
png_fixed_point int_white_y, png_fixed_point int_red_x,
|
||||||
png_fixed_point int_red_y, png_fixed_point int_green_x,
|
png_fixed_point int_red_y, png_fixed_point int_green_x,
|
||||||
png_fixed_point int_green_y, png_fixed_point int_blue_x,
|
png_fixed_point int_green_y, png_fixed_point int_blue_x,
|
||||||
png_fixed_point int_blue_y));
|
png_fixed_point int_blue_y))
|
||||||
PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_structp png_ptr,
|
||||||
png_infop info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y,
|
png_infop info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y,
|
||||||
png_fixed_point int_red_Z, png_fixed_point int_green_X,
|
png_fixed_point int_red_Z, png_fixed_point int_green_X,
|
||||||
png_fixed_point int_green_Y, png_fixed_point int_green_Z,
|
png_fixed_point int_green_Y, png_fixed_point int_green_Z,
|
||||||
png_fixed_point int_blue_X, png_fixed_point int_blue_Y,
|
png_fixed_point int_blue_X, png_fixed_point int_blue_Y,
|
||||||
png_fixed_point int_blue_Z));
|
png_fixed_point int_blue_Z))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_gAMA_SUPPORTED
|
#ifdef PNG_gAMA_SUPPORTED
|
||||||
PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA,
|
PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr,
|
(png_const_structp png_ptr, png_const_infop info_ptr,
|
||||||
double *file_gamma));
|
double *file_gamma))
|
||||||
PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed,
|
PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr,
|
(png_const_structp png_ptr, png_const_infop info_ptr,
|
||||||
png_fixed_point *int_file_gamma));
|
png_fixed_point *int_file_gamma))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_gAMA_SUPPORTED
|
#ifdef PNG_gAMA_SUPPORTED
|
||||||
PNG_FP_EXPORT(139, void, png_set_gAMA, (png_structp png_ptr,
|
PNG_FP_EXPORT(139, void, png_set_gAMA, (png_structp png_ptr,
|
||||||
png_infop info_ptr, double file_gamma));
|
png_infop info_ptr, double file_gamma))
|
||||||
PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_structp png_ptr,
|
||||||
png_infop info_ptr, png_fixed_point int_file_gamma));
|
png_infop info_ptr, png_fixed_point int_file_gamma))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_hIST_SUPPORTED
|
#ifdef PNG_hIST_SUPPORTED
|
||||||
@ -2313,7 +2316,7 @@ PNG_EXPORT(167, void, png_set_tRNS,
|
|||||||
#ifdef PNG_sCAL_SUPPORTED
|
#ifdef PNG_sCAL_SUPPORTED
|
||||||
PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL,
|
PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr,
|
(png_const_structp png_ptr, png_const_infop info_ptr,
|
||||||
int *unit, double *width, double *height));
|
int *unit, double *width, double *height))
|
||||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
||||||
/* NOTE: this API is currently implemented using floating point arithmetic,
|
/* NOTE: this API is currently implemented using floating point arithmetic,
|
||||||
* consequently it can only be used on systems with floating point support.
|
* consequently it can only be used on systems with floating point support.
|
||||||
@ -2323,7 +2326,7 @@ PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL,
|
|||||||
PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed,
|
PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed,
|
||||||
(png_structp png_ptr, png_const_infop info_ptr, int *unit,
|
(png_structp png_ptr, png_const_infop info_ptr, int *unit,
|
||||||
png_fixed_point *width,
|
png_fixed_point *width,
|
||||||
png_fixed_point *height));
|
png_fixed_point *height))
|
||||||
#endif
|
#endif
|
||||||
PNG_EXPORT(169, png_uint_32, png_get_sCAL_s,
|
PNG_EXPORT(169, png_uint_32, png_get_sCAL_s,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr,
|
(png_const_structp png_ptr, png_const_infop info_ptr,
|
||||||
@ -2331,10 +2334,10 @@ PNG_EXPORT(169, png_uint_32, png_get_sCAL_s,
|
|||||||
|
|
||||||
PNG_FP_EXPORT(170, void, png_set_sCAL,
|
PNG_FP_EXPORT(170, void, png_set_sCAL,
|
||||||
(png_structp png_ptr, png_infop info_ptr,
|
(png_structp png_ptr, png_infop info_ptr,
|
||||||
int unit, double width, double height));
|
int unit, double width, double height))
|
||||||
PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_structp png_ptr,
|
PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_structp png_ptr,
|
||||||
png_infop info_ptr, int unit, png_fixed_point width,
|
png_infop info_ptr, int unit, png_fixed_point width,
|
||||||
png_fixed_point height));
|
png_fixed_point height))
|
||||||
PNG_EXPORT(171, void, png_set_sCAL_s,
|
PNG_EXPORT(171, void, png_set_sCAL_s,
|
||||||
(png_structp png_ptr, png_infop info_ptr,
|
(png_structp png_ptr, png_infop info_ptr,
|
||||||
int unit, png_const_charp swidth, png_const_charp sheight));
|
int unit, png_const_charp swidth, png_const_charp sheight));
|
||||||
@ -2447,17 +2450,17 @@ PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch,
|
|||||||
(png_const_structp png_ptr, png_const_infop info_ptr));
|
(png_const_structp png_ptr, png_const_infop info_ptr));
|
||||||
|
|
||||||
PNG_FP_EXPORT(196, float, png_get_x_offset_inches,
|
PNG_FP_EXPORT(196, float, png_get_x_offset_inches,
|
||||||
(png_const_structp png_ptr, png_const_infop info_ptr));
|
(png_const_structp png_ptr, png_const_infop info_ptr))
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */
|
#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */
|
||||||
PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed,
|
PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed,
|
||||||
(png_structp png_ptr, png_const_infop info_ptr));
|
(png_structp png_ptr, png_const_infop info_ptr))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structp png_ptr,
|
PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structp png_ptr,
|
||||||
png_const_infop info_ptr));
|
png_const_infop info_ptr))
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */
|
#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */
|
||||||
PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed,
|
PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed,
|
||||||
(png_structp png_ptr, png_const_infop info_ptr));
|
(png_structp png_ptr, png_const_infop info_ptr))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# ifdef PNG_pHYs_SUPPORTED
|
# ifdef PNG_pHYs_SUPPORTED
|
||||||
|
36
pngconf.h
36
pngconf.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngconf.h - machine configurable file for libpng
|
/* pngconf.h - machine configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.5.12 - July 11, 2012
|
* libpng version 1.5.13 - September 27, 2012
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2012 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
@ -344,21 +344,23 @@
|
|||||||
# ifndef PNG_NORETURN
|
# ifndef PNG_NORETURN
|
||||||
# define PNG_NORETURN __attribute__((__noreturn__))
|
# define PNG_NORETURN __attribute__((__noreturn__))
|
||||||
# endif
|
# endif
|
||||||
# ifndef PNG_ALLOCATED
|
# if __GNUC__ >= 3
|
||||||
# define PNG_ALLOCATED __attribute__((__malloc__))
|
# ifndef PNG_ALLOCATED
|
||||||
# endif
|
# define PNG_ALLOCATED __attribute__((__malloc__))
|
||||||
# ifndef PNG_DEPRECATED
|
|
||||||
# define PNG_DEPRECATED __attribute__((__deprecated__))
|
|
||||||
# endif
|
|
||||||
# ifndef PNG_PRIVATE
|
|
||||||
# if 0 /* Doesn't work so we use deprecated instead*/
|
|
||||||
# define PNG_PRIVATE \
|
|
||||||
__attribute__((warning("This function is not exported by libpng.")))
|
|
||||||
# else
|
|
||||||
# define PNG_PRIVATE \
|
|
||||||
__attribute__((__deprecated__))
|
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# ifndef PNG_DEPRECATED
|
||||||
|
# define PNG_DEPRECATED __attribute__((__deprecated__))
|
||||||
|
# endif
|
||||||
|
# ifndef PNG_PRIVATE
|
||||||
|
# if 0 /* Doesn't work so we use deprecated instead*/
|
||||||
|
# define PNG_PRIVATE \
|
||||||
|
__attribute__((warning("This function is not exported by libpng.")))
|
||||||
|
# else
|
||||||
|
# define PNG_PRIVATE \
|
||||||
|
__attribute__((__deprecated__))
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif /* __GNUC__ >= 3 */
|
||||||
# endif /* __GNUC__ */
|
# endif /* __GNUC__ */
|
||||||
|
|
||||||
# if defined(_MSC_VER) && (_MSC_VER >= 1300)
|
# if defined(_MSC_VER) && (_MSC_VER >= 1300)
|
||||||
@ -400,7 +402,7 @@
|
|||||||
#ifndef PNG_FP_EXPORT /* A floating point API. */
|
#ifndef PNG_FP_EXPORT /* A floating point API. */
|
||||||
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
# define PNG_FP_EXPORT(ordinal, type, name, args)\
|
# define PNG_FP_EXPORT(ordinal, type, name, args)\
|
||||||
PNG_EXPORT(ordinal, type, name, args)
|
PNG_EXPORT(ordinal, type, name, args);
|
||||||
# else /* No floating point APIs */
|
# else /* No floating point APIs */
|
||||||
# define PNG_FP_EXPORT(ordinal, type, name, args)
|
# define PNG_FP_EXPORT(ordinal, type, name, args)
|
||||||
# endif
|
# endif
|
||||||
@ -408,7 +410,7 @@
|
|||||||
#ifndef PNG_FIXED_EXPORT /* A fixed point API. */
|
#ifndef PNG_FIXED_EXPORT /* A fixed point API. */
|
||||||
# ifdef PNG_FIXED_POINT_SUPPORTED
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
# define PNG_FIXED_EXPORT(ordinal, type, name, args)\
|
# define PNG_FIXED_EXPORT(ordinal, type, name, args)\
|
||||||
PNG_EXPORT(ordinal, type, name, args)
|
PNG_EXPORT(ordinal, type, name, args);
|
||||||
# else /* No fixed point APIs */
|
# else /* No fixed point APIs */
|
||||||
# define PNG_FIXED_EXPORT(ordinal, type, name, args)
|
# define PNG_FIXED_EXPORT(ordinal, type, name, args)
|
||||||
# endif
|
# endif
|
||||||
|
8
pngmem.c
8
pngmem.c
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
/* pngmem.c - stub functions for memory allocation
|
/* pngmem.c - stub functions for memory allocation
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.5.7 [December 15, 2011]
|
* Last changed in libpng 1.5.13 [September 27, 2012]
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2012 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.)
|
||||||
*
|
*
|
||||||
@ -56,7 +56,7 @@ png_create_struct_2,(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr),
|
|||||||
if (malloc_fn != NULL)
|
if (malloc_fn != NULL)
|
||||||
{
|
{
|
||||||
png_struct dummy_struct;
|
png_struct dummy_struct;
|
||||||
memset(&dummy_struct, 0, sizeof dummy_struct);
|
png_memset(&dummy_struct, 0, sizeof dummy_struct);
|
||||||
dummy_struct.mem_ptr=mem_ptr;
|
dummy_struct.mem_ptr=mem_ptr;
|
||||||
struct_ptr = (*(malloc_fn))(&dummy_struct, (png_alloc_size_t)size);
|
struct_ptr = (*(malloc_fn))(&dummy_struct, (png_alloc_size_t)size);
|
||||||
}
|
}
|
||||||
@ -90,7 +90,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,
|
|||||||
if (free_fn != NULL)
|
if (free_fn != NULL)
|
||||||
{
|
{
|
||||||
png_struct dummy_struct;
|
png_struct dummy_struct;
|
||||||
memset(&dummy_struct, 0, sizeof dummy_struct);
|
png_memset(&dummy_struct, 0, sizeof dummy_struct);
|
||||||
dummy_struct.mem_ptr=mem_ptr;
|
dummy_struct.mem_ptr=mem_ptr;
|
||||||
(*(free_fn))(&dummy_struct, struct_ptr);
|
(*(free_fn))(&dummy_struct, struct_ptr);
|
||||||
return;
|
return;
|
||||||
|
@ -993,8 +993,8 @@ PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info,
|
|||||||
/* Unfilter a row: check the filter value before calling this, there is no point
|
/* Unfilter a row: check the filter value before calling this, there is no point
|
||||||
* calling it for PNG_FILTER_VALUE_NONE.
|
* calling it for PNG_FILTER_VALUE_NONE.
|
||||||
*/
|
*/
|
||||||
PNG_EXTERN void png_read_filter_row PNGARG((png_structp pp, png_row_infop row_info,
|
PNG_EXTERN void png_read_filter_row PNGARG((png_structp pp, png_row_infop
|
||||||
png_bytep row, png_const_bytep prev_row, int filter));
|
row_info, png_bytep row, png_const_bytep prev_row, int filter));
|
||||||
|
|
||||||
PNG_EXTERN void png_read_filter_row_up_neon PNGARG((png_row_infop row_info,
|
PNG_EXTERN void png_read_filter_row_up_neon PNGARG((png_row_infop row_info,
|
||||||
png_bytep row, png_const_bytep prev_row));
|
png_bytep row, png_const_bytep prev_row));
|
||||||
@ -1582,7 +1582,7 @@ PNG_EXTERN void png_ascii_from_fixed PNGARG((png_structp png_ptr,
|
|||||||
#define PNG_FP_IS_ZERO(state) (((state) & PNG_FP_Z_MASK) == PNG_FP_SAW_DIGIT)
|
#define PNG_FP_IS_ZERO(state) (((state) & PNG_FP_Z_MASK) == PNG_FP_SAW_DIGIT)
|
||||||
#define PNG_FP_IS_POSITIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_Z_MASK)
|
#define PNG_FP_IS_POSITIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_Z_MASK)
|
||||||
#define PNG_FP_IS_NEGATIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_NZ_MASK)
|
#define PNG_FP_IS_NEGATIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_NZ_MASK)
|
||||||
|
|
||||||
/* The actual parser. This can be called repeatedly, it updates
|
/* The actual parser. This can be called repeatedly, it updates
|
||||||
* the index into the string and the state variable (which must
|
* the index into the string and the state variable (which must
|
||||||
* be initialzed to 0). It returns a result code, as above. There
|
* be initialzed to 0). It returns a result code, as above. There
|
||||||
|
63
pngrtran.c
63
pngrtran.c
@ -3705,8 +3705,10 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
if (v == png_ptr->trans_color.gray)
|
if (v == png_ptr->trans_color.gray)
|
||||||
{
|
{
|
||||||
/* Background is already in screen gamma */
|
/* Background is already in screen gamma */
|
||||||
*sp = (png_byte)((png_ptr->background.gray >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.gray >> 8)
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
& 0xff);
|
||||||
|
*(sp + 1) = (png_byte)(png_ptr->background.gray
|
||||||
|
& 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
@ -3729,8 +3731,10 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
|
|
||||||
if (v == png_ptr->trans_color.gray)
|
if (v == png_ptr->trans_color.gray)
|
||||||
{
|
{
|
||||||
*sp = (png_byte)((png_ptr->background.gray >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.gray >> 8)
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
& 0xff);
|
||||||
|
*(sp + 1) = (png_byte)(png_ptr->background.gray
|
||||||
|
& 0xff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3810,9 +3814,12 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
/* Background is already in screen gamma */
|
/* Background is already in screen gamma */
|
||||||
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
||||||
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8) & 0xff);
|
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8)
|
||||||
*(sp + 3) = (png_byte)(png_ptr->background.green & 0xff);
|
& 0xff);
|
||||||
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8) & 0xff);
|
*(sp + 3) = (png_byte)(png_ptr->background.green
|
||||||
|
& 0xff);
|
||||||
|
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3853,9 +3860,12 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
{
|
{
|
||||||
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
||||||
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8) & 0xff);
|
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8)
|
||||||
*(sp + 3) = (png_byte)(png_ptr->background.green & 0xff);
|
& 0xff);
|
||||||
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8) & 0xff);
|
*(sp + 3) = (png_byte)(png_ptr->background.green
|
||||||
|
& 0xff);
|
||||||
|
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3938,7 +3948,8 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
else if (a == 0)
|
else if (a == 0)
|
||||||
{
|
{
|
||||||
/* Background is already in screen gamma */
|
/* Background is already in screen gamma */
|
||||||
*sp = (png_byte)((png_ptr->background.gray >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.gray >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3968,7 +3979,8 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
|
|
||||||
if (a == 0)
|
if (a == 0)
|
||||||
{
|
{
|
||||||
*sp = (png_byte)((png_ptr->background.gray >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.gray >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.gray & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4098,9 +4110,12 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
/* Background is already in screen gamma */
|
/* Background is already in screen gamma */
|
||||||
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
||||||
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8) & 0xff);
|
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8)
|
||||||
*(sp + 3) = (png_byte)(png_ptr->background.green & 0xff);
|
& 0xff);
|
||||||
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8) & 0xff);
|
*(sp + 3) = (png_byte)(png_ptr->background.green
|
||||||
|
& 0xff);
|
||||||
|
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4111,14 +4126,16 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
v = gamma_16_to_1[*(sp + 1) >> gamma_shift][*sp];
|
v = gamma_16_to_1[*(sp + 1) >> gamma_shift][*sp];
|
||||||
png_composite_16(w, v, a, png_ptr->background_1.red);
|
png_composite_16(w, v, a, png_ptr->background_1.red);
|
||||||
if (!optimize)
|
if (!optimize)
|
||||||
w = gamma_16_from_1[((w&0xff) >> gamma_shift)][w >> 8];
|
w = gamma_16_from_1[((w&0xff) >> gamma_shift)]
|
||||||
|
[w >> 8];
|
||||||
*sp = (png_byte)((w >> 8) & 0xff);
|
*sp = (png_byte)((w >> 8) & 0xff);
|
||||||
*(sp + 1) = (png_byte)(w & 0xff);
|
*(sp + 1) = (png_byte)(w & 0xff);
|
||||||
|
|
||||||
v = gamma_16_to_1[*(sp + 3) >> gamma_shift][*(sp + 2)];
|
v = gamma_16_to_1[*(sp + 3) >> gamma_shift][*(sp + 2)];
|
||||||
png_composite_16(w, v, a, png_ptr->background_1.green);
|
png_composite_16(w, v, a, png_ptr->background_1.green);
|
||||||
if (!optimize)
|
if (!optimize)
|
||||||
w = gamma_16_from_1[((w&0xff) >> gamma_shift)][w >> 8];
|
w = gamma_16_from_1[((w&0xff) >> gamma_shift)]
|
||||||
|
[w >> 8];
|
||||||
|
|
||||||
*(sp + 2) = (png_byte)((w >> 8) & 0xff);
|
*(sp + 2) = (png_byte)((w >> 8) & 0xff);
|
||||||
*(sp + 3) = (png_byte)(w & 0xff);
|
*(sp + 3) = (png_byte)(w & 0xff);
|
||||||
@ -4126,7 +4143,8 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
v = gamma_16_to_1[*(sp + 5) >> gamma_shift][*(sp + 4)];
|
v = gamma_16_to_1[*(sp + 5) >> gamma_shift][*(sp + 4)];
|
||||||
png_composite_16(w, v, a, png_ptr->background_1.blue);
|
png_composite_16(w, v, a, png_ptr->background_1.blue);
|
||||||
if (!optimize)
|
if (!optimize)
|
||||||
w = gamma_16_from_1[((w&0xff) >> gamma_shift)][w >> 8];
|
w = gamma_16_from_1[((w&0xff) >> gamma_shift)]
|
||||||
|
[w >> 8];
|
||||||
|
|
||||||
*(sp + 4) = (png_byte)((w >> 8) & 0xff);
|
*(sp + 4) = (png_byte)((w >> 8) & 0xff);
|
||||||
*(sp + 5) = (png_byte)(w & 0xff);
|
*(sp + 5) = (png_byte)(w & 0xff);
|
||||||
@ -4147,9 +4165,12 @@ png_do_compose(png_row_infop row_info, png_bytep row, png_structp png_ptr)
|
|||||||
{
|
{
|
||||||
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
*sp = (png_byte)((png_ptr->background.red >> 8) & 0xff);
|
||||||
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
*(sp + 1) = (png_byte)(png_ptr->background.red & 0xff);
|
||||||
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8) & 0xff);
|
*(sp + 2) = (png_byte)((png_ptr->background.green >> 8)
|
||||||
*(sp + 3) = (png_byte)(png_ptr->background.green & 0xff);
|
& 0xff);
|
||||||
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8) & 0xff);
|
*(sp + 3) = (png_byte)(png_ptr->background.green
|
||||||
|
& 0xff);
|
||||||
|
*(sp + 4) = (png_byte)((png_ptr->background.blue >> 8)
|
||||||
|
& 0xff);
|
||||||
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
*(sp + 5) = (png_byte)(png_ptr->background.blue & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3706,7 +3706,7 @@ png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
|
|||||||
{
|
{
|
||||||
pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_neon;
|
pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_neon;
|
||||||
pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_neon;
|
pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_neon;
|
||||||
pp->read_filter[PNG_FILTER_VALUE_PAETH-1] =
|
pp->read_filter[PNG_FILTER_VALUE_PAETH-1] =
|
||||||
png_read_filter_row_paeth3_neon;
|
png_read_filter_row_paeth3_neon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1817,4 +1817,4 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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_5_12 Your_png_h_is_not_version_1_5_12;
|
typedef png_libpng_version_1_5_13 Your_png_h_is_not_version_1_5_13;
|
||||||
|
20
pngwtran.c
20
pngwtran.c
@ -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.5.6 [November 3, 2011]
|
* Last changed in libpng 1.5.13 [September 27, 2012]
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2012 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.)
|
||||||
*
|
*
|
||||||
@ -45,8 +45,20 @@ png_do_write_transformations(png_structp png_ptr, png_row_infop row_info)
|
|||||||
|
|
||||||
#ifdef PNG_WRITE_FILLER_SUPPORTED
|
#ifdef PNG_WRITE_FILLER_SUPPORTED
|
||||||
if (png_ptr->transformations & PNG_FILLER)
|
if (png_ptr->transformations & PNG_FILLER)
|
||||||
png_do_strip_channel(row_info, png_ptr->row_buf + 1,
|
{
|
||||||
!(png_ptr->flags & PNG_FLAG_FILLER_AFTER));
|
if (png_ptr->color_type & (PNG_COLOR_MASK_ALPHA|PNG_COLOR_MASK_PALETTE))
|
||||||
|
{
|
||||||
|
/* GA, RGBA or palette; in any of these cases libpng will not do the
|
||||||
|
* the correct thing (whatever that might be).
|
||||||
|
*/
|
||||||
|
png_warning(png_ptr, "incorrect png_set_filler call ignored");
|
||||||
|
png_ptr->transformations &= ~PNG_FILLER;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
png_do_strip_channel(row_info, png_ptr->row_buf + 1,
|
||||||
|
!(png_ptr->flags & PNG_FLAG_FILLER_AFTER));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_WRITE_PACKSWAP_SUPPORTED
|
#ifdef PNG_WRITE_PACKSWAP_SUPPORTED
|
||||||
|
@ -1370,7 +1370,8 @@ png_write_tRNS(png_structp 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_size_t)num_trans);
|
png_write_complete_chunk(png_ptr, png_tRNS, trans_alpha,
|
||||||
|
(png_size_t)num_trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (color_type == PNG_COLOR_TYPE_GRAY)
|
else if (color_type == PNG_COLOR_TYPE_GRAY)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
VisualStudio instructions
|
VisualStudio instructions
|
||||||
|
|
||||||
libpng version 1.5.12 - July 11, 2012
|
libpng version 1.5.13 - September 27, 2012
|
||||||
|
|
||||||
Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* zlib.props - location of zlib source
|
* zlib.props - location of zlib source
|
||||||
*
|
*
|
||||||
* libpng version 1.5.12 - July 11, 2012
|
* libpng version 1.5.13 - September 27, 2012
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
*
|
*
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
Makefiles for libpng version 1.5.12 - July 11, 2012
|
Makefiles for libpng version 1.5.13 - September 27, 2012
|
||||||
|
|
||||||
pnglibconf.h.prebuilt => Stores configuration settings
|
pnglibconf.h.prebuilt => Stores configuration settings
|
||||||
makefile.linux => Linux/ELF makefile
|
makefile.linux => Linux/ELF makefile
|
||||||
(gcc, creates libpng15.so.15.1.5.12)
|
(gcc, creates libpng15.so.15.1.5.13)
|
||||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||||
ansi2knr (Requires ansi2knr.c from
|
ansi2knr (Requires ansi2knr.c from
|
||||||
@ -21,7 +21,7 @@ pnglibconf.h.prebuilt => Stores configuration settings
|
|||||||
makefile.dec => DEC Alpha UNIX makefile
|
makefile.dec => DEC Alpha UNIX makefile
|
||||||
makefile.dj2 => DJGPP 2 makefile
|
makefile.dj2 => DJGPP 2 makefile
|
||||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||||
(gcc, creates libpng15.so.15.1.5.12)
|
(gcc, creates libpng15.so.15.1.5.13)
|
||||||
makefile.freebsd => FreeBSD makefile
|
makefile.freebsd => FreeBSD makefile
|
||||||
makefile.gcc => Generic gcc makefile
|
makefile.gcc => Generic gcc makefile
|
||||||
makefile.hpgcc => HPUX makefile using gcc
|
makefile.hpgcc => HPUX makefile using gcc
|
||||||
@ -36,12 +36,12 @@ pnglibconf.h.prebuilt => Stores configuration settings
|
|||||||
makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
|
makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
|
||||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||||
makefile.sggcc => Silicon Graphics (gcc,
|
makefile.sggcc => Silicon Graphics (gcc,
|
||||||
creates libpng15.so.15.1.5.12)
|
creates libpng15.so.15.1.5.13)
|
||||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||||
makefile.solaris => Solaris 2.X makefile (gcc,
|
makefile.solaris => Solaris 2.X makefile (gcc,
|
||||||
creates libpng15.so.15.1.5.12)
|
creates libpng15.so.15.1.5.13)
|
||||||
makefile.so9 => Solaris 9 makefile (gcc,
|
makefile.so9 => Solaris 9 makefile (gcc,
|
||||||
creates libpng15.so.15.1.5.12)
|
creates libpng15.so.15.1.5.13)
|
||||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||||
makefile.sunos => Sun makefile
|
makefile.sunos => Sun makefile
|
||||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# Modeled after libxml-config.
|
# Modeled after libxml-config.
|
||||||
|
|
||||||
version=1.5.12
|
version=1.5.13
|
||||||
prefix=""
|
prefix=""
|
||||||
libdir=""
|
libdir=""
|
||||||
libs=""
|
libs=""
|
||||||
|
@ -5,6 +5,6 @@ includedir=@includedir@/libpng15
|
|||||||
|
|
||||||
Name: libpng
|
Name: libpng
|
||||||
Description: Loads and saves PNG files
|
Description: Loads and saves PNG files
|
||||||
Version: 1.5.12
|
Version: 1.5.13
|
||||||
Libs: -L${libdir} -lpng15
|
Libs: -L${libdir} -lpng15
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
VERMAJ = 1
|
VERMAJ = 1
|
||||||
VERMIN = 5
|
VERMIN = 5
|
||||||
VERMIC = 12
|
VERMIC = 13
|
||||||
VER = $(VERMAJ).$(VERMIN).$(VERMIC)
|
VER = $(VERMAJ).$(VERMIN).$(VERMIC)
|
||||||
NAME = libpng
|
NAME = libpng
|
||||||
PACKAGE = $(NAME)-$(VER)
|
PACKAGE = $(NAME)-$(VER)
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# Library name:
|
# Library name:
|
||||||
LIBNAME = libpng15
|
LIBNAME = libpng15
|
||||||
PNGMAJ = 15
|
PNGMAJ = 15
|
||||||
RELEASE = 12
|
RELEASE = 13
|
||||||
|
|
||||||
# Shared library names:
|
# Shared library names:
|
||||||
LIBSO=$(LIBNAME).so
|
LIBSO=$(LIBNAME).so
|
||||||
|
@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng15
|
|||||||
|
|
||||||
LIB= png15
|
LIB= png15
|
||||||
SHLIB_MAJOR= 0
|
SHLIB_MAJOR= 0
|
||||||
SHLIB_MINOR= 1.5.12
|
SHLIB_MINOR= 1.5.13
|
||||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||||
|
@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
|
|||||||
|
|
||||||
LIB= png
|
LIB= png
|
||||||
SHLIB_MAJOR= 15
|
SHLIB_MAJOR= 15
|
||||||
SHLIB_MINOR= 1.5.12
|
SHLIB_MINOR= 1.5.13
|
||||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||||
|
@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
|
|||||||
MANDIR= ${PREFIX}/man/cat
|
MANDIR= ${PREFIX}/man/cat
|
||||||
|
|
||||||
SHLIB_MAJOR= 15
|
SHLIB_MAJOR= 15
|
||||||
SHLIB_MINOR= 1.5.12
|
SHLIB_MINOR= 1.5.13
|
||||||
|
|
||||||
LIB= png
|
LIB= png
|
||||||
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
/* pnglibconf.h - library build configuration */
|
/* pnglibconf.h - library build configuration */
|
||||||
|
|
||||||
/* Libpng 1.5.12 - July 11, 2012 */
|
/* Libpng 1.5.13 - September 27, 2012 */
|
||||||
|
|
||||||
/* Copyright (c) 1998-2012 Glenn Randers-Pehrson */
|
/* Copyright (c) 1998-2012 Glenn Randers-Pehrson */
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
LIBRARY
|
LIBRARY
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
;Version 1.5.12
|
;Version 1.5.13
|
||||||
png_access_version_number @1
|
png_access_version_number @1
|
||||||
png_set_sig_bytes @2
|
png_set_sig_bytes @2
|
||||||
png_sig_cmp @3
|
png_sig_cmp @3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user