Compare commits

...

34 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
afd6cecb76 [libpng16] Imported from libpng-1.6.3beta06.tar 2013-05-12 18:36:09 -05:00
Glenn Randers-Pehrson
61dbc4c608 [libpng16] Revised contrib/pngminim/*/makefile to generate pnglibconf.h
with the right zlib headers.
2013-05-09 22:01:06 -05:00
Glenn Randers-Pehrson
bea86bba24 [libpng16] Removed obsolete reference to "pnginflate" from ANNOUNCE 2013-05-09 08:58:08 -05:00
Glenn Randers-Pehrson
7fc85a3f46 [libng16] Fixed typo in png-fix-too-far-back "usage" output 2013-05-09 08:49:42 -05:00
Glenn Randers-Pehrson
bb8d4f76f4 [libpng16] Cleaned up CHANGES and ANNOUNCE files. 2013-05-09 08:48:43 -05:00
Glenn Randers-Pehrson
b79c98e57c [libpng16] Bump version to 1.6.3beta06 2013-05-09 08:03:40 -05:00
Glenn Randers-Pehrson
4cf2465c71 [libpng16] Imported from libpng-1.6.3beta05.tar 2013-05-09 08:03:24 -05:00
Glenn Randers-Pehrson
4ea93e69bc [libpng16] Renamed pnginflate to png-fix-too-far-back in contrib/tools. 2013-05-08 21:57:00 -05:00
Glenn Randers-Pehrson
ff141eb21e [libpng16] Renamed contrib/tools/fixitxt to contrib/tools/png-fix-itxt.
Added information in the documentation about problems with and fixes for
the bad CRC and bad iTXt chunk situations.
2013-05-08 19:46:10 -05:00
John Bowler
122bec17f2 [libpng16]Check ZLIB_VERNUM for mismatches, enclose #error in quotes 2013-05-08 14:35:21 -05:00
John Bowler
9afb90f885 [libpng16] Attempt to detect configuration issues with pngdeflate,
which requires both the correct libpng and the correct zlib to function
correctly.
2013-05-08 14:21:46 -05:00
John Bowler
34b7d62488 [libpng16] Updated Makefile.am 2013-05-08 10:35:14 -05:00
Glenn Randers-Pehrson
3f2b5a6670 libpng16] Updated contrib/pngminus/pnm2png.c (Paul Stewart):
Fixed whitespace handling
Added a call to png_set_packing()
Initialize dimension values so if sscanf fails at least we have known
   invalid values.
2013-05-08 10:09:19 -05:00
John Bowler
294d0b8408 [libpng16] Detect wrong libpng versions linked to pngdeflate, which currently
only works with libpng versions that can be made to reliably fail when
    the deflate data contains an out-of-window reference.  This means only
    1.6 and later.
  Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning
    message which it is easier to work round than ignore.
2013-05-08 08:56:45 -05:00
Glenn Randers-Pehrson
62c6fbbd29 [libpng16] Check that PNG_MAXIMUM_INFLATE_WINDOW is defined before using it. 2013-05-07 23:16:06 -05:00
John Bowler
0c7ac064d3 [libpng16] Added an option to force maximum window size for inflating.
For inflate, reverted previous fixes.
Added fixitxt and pngdeflate to the built programs and removed warnings
from the source code and timepng that are revealed as a result.  Fixed
fixitxt when the chunk length is more than 65535 (untested, no test case).
2013-05-07 21:59:05 -05:00
Glenn Randers-Pehrson
db67cba8d4 [libpng16] Check for EOF in contrib/pngminus/pnm2png.c (Paul Stewart).
Ignore "#" delimited comments in input file to pnm2png.c.
2013-05-07 14:31:35 -05:00
Glenn Randers-Pehrson
2aa6c96e5d [libpng16] Bump version to 1.6.3beta05 2013-05-06 09:55:29 -05:00
Glenn Randers-Pehrson
2fd3434fa4 [libpng16] Imported from libpng-1.6.3beta04.tar 2013-05-06 09:55:18 -05:00
Glenn Randers-Pehrson
2c0833e265 [libpng16] Committed new pnglibconf.dfa and prebuilt. 2013-05-05 22:18:53 -05:00
Glenn Randers-Pehrson
127b08a265 [libpng16] Calculate our own zlib windowBits when decoding rather than
trusting the CMF bytes in the PNG datastream.
2013-05-05 22:13:47 -05:00
Glenn Randers-Pehrson
0f42908c0a [libpng16] Bump version to 1.6.3beta04 2013-04-29 21:31:50 -05:00
Glenn Randers-Pehrson
f18a28cc13 [libpng16] Imported from libpng-1.6.3beta03.tar 2013-04-29 21:31:38 -05:00
Glenn Randers-Pehrson
56d6bc2e88 [libpng16] Avoid dereferencing NULL pointer possibly returned from
png_create_write_struct() (Andrew Church).
2013-04-29 08:57:14 -05:00
Glenn Randers-Pehrson
61946e0f56 [libpng16] Revise man page to demonstrate dealing with unknown chunk
handling in libpng.1.5.x and with bugs in libpng-1.4.x and earlier.
2013-04-28 20:48:37 -05:00
Glenn Randers-Pehrson
49f9c24910 [libpng16] Expanded manual paragraph about writing private chunks, particularly
about the need to call png_set_keep_unknown_chunks() when writing them.
2013-04-27 18:03:03 -05:00
Glenn Randers-Pehrson
c62fda06a3 [libpng16] Bump version to 1.6.3beta03 2013-04-26 08:25:33 -05:00
Glenn Randers-Pehrson
cd62215d61 [libpng16] Imported from libpng-1.6.3beta02.tar 2013-04-26 08:24:19 -05:00
John Bowler
ac09cd0fec [libpng16] Test for 'arm*' not just 'arm' in the host_cpu configure variable.
Rebuilt the configure scripts.
2013-04-25 23:13:08 -05:00
Glenn Randers-Pehrson
529045cf26 [libpng16] Bump version to 1.6.3beta02 2013-04-25 21:37:43 -05:00
John Bowler
7b1da52549 [libpng16] Ensure that NEON filter stuff is completely disabled when switched
'off'.  Previously the ARM NEON specific files were still built if the option
was switched 'off' as opposed to being explicitly disabled.
2013-04-25 10:03:42 -05:00
Glenn Randers-Pehrson
34d20f482f [libpng16] Revised stack marking in arm/filter_neon.S and configure.ac. 2013-04-25 09:53:57 -05:00
Glenn Randers-Pehrson
399430dac2 [libpng16] Update "last changed" comments. 2013-04-25 09:52:00 -05:00
Glenn Randers-Pehrson
3f677d1c65 [libpng16] Bump version to 1.6.3beta01 2013-04-25 09:19:04 -05:00
43 changed files with 1823 additions and 254 deletions

View File

@@ -1,44 +1,81 @@
Libpng 1.6.2 - April 25, 2013 Libpng 1.6.3beta06 - May 12, 2013
This is a public release of libpng, intended for use in production codes. This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
Files available for download: 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.6.2.tar.xz (LZMA-compressed, recommended) 1.6.3beta06.tar.xz (LZMA-compressed, recommended)
libpng-1.6.2.tar.gz 1.6.3beta06.tar.gz
Source files with CRLF line endings (for Windows), without the Source files with CRLF line endings (for Windows), without the
"configure" script "configure" script
lpng162.7z (LZMA-compressed, recommended) lp163b06.7z (LZMA-compressed, recommended)
lpng162.zip lp163b06.zip
Other information: Other information:
libpng-1.6.2-README.txt 1.6.3beta06-README.txt
libpng-1.6.2-LICENSE.txt 1.6.3beta06-LICENSE.txt
Changes since the last public release (1.6.1): Changes since the last public release (1.6.2):
Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling. Version 1.6.3beta01 [April 25, 2013]
Fixed incorrect warning of excess deflate data. End condition - the Revised stack marking in arm/filter_neon.S and configure.ac.
warning would be produced if the end of the deflate stream wasn't read Ensure that NEON filter stuff is completely disabled when switched 'off'.
in the last row. The warning is harmless. Previously the ARM NEON specific files were still built if the option
Corrected the test on user transform changes on read. It was in the was switched 'off' as opposed to being explicitly disabled.
png_set of the transform function, but that doesn't matter unless the
transform function changes the rowbuf size, and that is only valid if Version 1.6.3beta02 [April 26, 2013]
transform_info is called. Test for 'arm*' not just 'arm' in the host_cpu configure variable.
Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c Rebuilt the configure scripts.
(Flavio Medeiros).
Corrected length written to uncompressed iTXt chunks (Samuli Suominen). Version 1.6.3beta03 [April 30, 2013]
Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length Expanded manual paragraph about writing private chunks, particularly
written by libpng-1.6.0 and 1.6.1. the need to call png_set_keep_unknown_chunks() when writing them.
Disallow storing sRGB information when the sRGB is not supported. Avoid dereferencing NULL pointer possibly returned from
Merge pngtest.c with libpng-1.7.0 png_create_write_struct() (Andrew Church).
Version 1.6.3beta05 [May 9, 2013]
Calculate our own zlib windowBits when decoding rather than trusting the
CMF bytes in the PNG datastream.
Added an option to force maximum window size for inflating, which was
the behavior of libpng15 and earlier.
Added png-fix-itxt and png-fix-too-far-back to the built programs and
removed warnings from the source code and timepng that are revealed as
a result.
Detect wrong libpng versions linked to png-fix-too-far-back, which currently
only works with libpng versions that can be made to reliably fail when
the deflate data contains an out-of-window reference. This means only
1.6 and later.
Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning
message which it is easier to work round than ignore.
Updated contrib/pngminus/pnm2png.c (Paul Stewart):
Check for EOF
Ignore "#" delimited comments in input file to pnm2png.c.
Fixed whitespace handling
Added a call to png_set_packing()
Initialize dimension values so if sscanf fails at least we have known
invalid values.
Attempt to detect configuration issues with png-fix-too-far-back, which
requires both the correct libpng and the correct zlib to function
correctly.
Check ZLIB_VERNUM for mismatches, enclose #error in quotes
Added information in the documentation about problems with and fixes for
the bad CRC and bad iTXt chunk situations.
Version 1.6.3beta06 [May 12, 2013]
Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and
WRITE_PACK supported (writes error message that it can't read P1 or
Improved png-fix-too-far-back usage message, added --suffix option.
Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the
right zlib header files.
Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile
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

55
CHANGES
View File

@@ -4485,6 +4485,7 @@ Version 1.6.2beta01 [April 14, 2013]
Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c
(Flavio Medeiros). (Flavio Medeiros).
Corrected length written to uncompressed iTXt chunks (Samuli Suominen). Corrected length written to uncompressed iTXt chunks (Samuli Suominen).
Bug was introduced in libpng-1.6.0.
Version 1.6.2rc01 [April 18, 2013] Version 1.6.2rc01 [April 18, 2013]
Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length
@@ -4505,6 +4506,60 @@ Version 1.6.2rc06 [April 24, 2013]
1.6.3beta01. 1.6.3beta01.
Version 1.6.2 [April 25, 2013] Version 1.6.2 [April 25, 2013]
No changes.
Version 1.6.3beta01 [April 25, 2013]
Revised stack marking in arm/filter_neon.S and configure.ac.
Ensure that NEON filter stuff is completely disabled when switched 'off'.
Previously the ARM NEON specific files were still built if the option
was switched 'off' as opposed to being explicitly disabled.
Version 1.6.3beta02 [April 26, 2013]
Test for 'arm*' not just 'arm' in the host_cpu configure variable.
Rebuilt the configure scripts.
Version 1.6.3beta03 [April 30, 2013]
Expanded manual paragraph about writing private chunks, particularly
the need to call png_set_keep_unknown_chunks() when writing them.
Avoid dereferencing NULL pointer possibly returned from
png_create_write_struct() (Andrew Church).
Version 1.6.3beta05 [May 9, 2013]
Calculate our own zlib windowBits when decoding rather than trusting the
CMF bytes in the PNG datastream.
Added an option to force maximum window size for inflating, which was
the behavior of libpng15 and earlier.
Added png-fix-itxt and png-fix-too-far-back to the built programs and
removed warnings from the source code and timepng that are revealed as
a result.
Detect wrong libpng versions linked to png-fix-too-far-back, which currently
only works with libpng versions that can be made to reliably fail when
the deflate data contains an out-of-window reference. This means only
1.6 and later.
Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning
message which it is easier to work round than ignore.
Updated contrib/pngminus/pnm2png.c (Paul Stewart):
Check for EOF
Ignore "#" delimited comments in input file to pnm2png.c.
Fixed whitespace handling
Added a call to png_set_packing()
Initialize dimension values so if sscanf fails at least we have known
invalid values.
Attempt to detect configuration issues with png-fix-too-far-back, which
requires both the correct libpng and the correct zlib to function
correctly.
Check ZLIB_VERNUM for mismatches, enclose #error in quotes
Added information in the documentation about problems with and fixes for
the bad CRC and bad iTXt chunk situations.
Version 1.6.3beta06 [May 12, 2013]
Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and
WRITE_PACK supported (writes error message that it can't read P1 or
P4 PBM files).
Improved png-fix-too-far-back usage message, added --suffix option.
Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the
right zlib header files.
Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile
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

View File

@@ -35,7 +35,7 @@ enable_testing()
set(PNGLIB_MAJOR 1) set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 6) set(PNGLIB_MINOR 6)
set(PNGLIB_RELEASE 2) set(PNGLIB_RELEASE 3)
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})
@@ -271,7 +271,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 16.${PNGLIB_RELEASE}.1.6.2 # VERSION 16.${PNGLIB_RELEASE}.1.6.3beta06
VERSION 16.${PNGLIB_RELEASE}.0 VERSION 16.${PNGLIB_RELEASE}.0
SOVERSION 16 SOVERSION 16
CLEAN_DIRECT_OUTPUT 1) CLEAN_DIRECT_OUTPUT 1)

View File

@@ -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.6.2, April 25, 2013, are libpng versions 1.2.6, August 15, 2004, through 1.6.3beta06, May 12, 2013, 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
April 25, 2013 May 12, 2013

View File

@@ -9,6 +9,9 @@ ACLOCAL_AMFLAGS = -I scripts
# test programs - run on make check, make distcheck # test programs - run on make check, make distcheck
check_PROGRAMS= pngtest pngunknown pngstest pngvalid check_PROGRAMS= pngtest pngunknown pngstest pngvalid
# Utilities - installed
bin_PROGRAMS= png-fix-too-far-back png-fix-itxt
pngtest_SOURCES = pngtest.c pngtest_SOURCES = pngtest.c
pngtest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la pngtest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
@@ -21,6 +24,11 @@ pngstest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
pngunknown_SOURCES = contrib/libtests/pngunknown.c pngunknown_SOURCES = contrib/libtests/pngunknown.c
pngunknown_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la pngunknown_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
png_fix_too_far_back_SOURCES = contrib/tools/png-fix-too-far-back.c
png_fix_too_far_back_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
png_fix_itxt_SOURCES = contrib/tools/png-fix-itxt.c
# Generally these are single line shell scripts to run a test with a particular # Generally these are single line shell scripts to run a test with a particular
# set of parameters: # set of parameters:
TESTS =\ TESTS =\
@@ -180,14 +188,15 @@ endif
$(srcdir)/scripts/pnglibconf.h.prebuilt: $(srcdir)/scripts/pnglibconf.h.prebuilt:
@echo "Attempting to build $@" >&2 @echo "Attempting to build $@" >&2
@echo "This is a machine generated file, but if you want to make" >&2 @echo "This is a machine generated file, but if you want to make" >&2
@echo "a new one simply make 'scripts/pnglibconf.out' and copy that" >&2 @echo "a new one simply make 'scripts/pnglibconf.out', copy that" >&2
@echo "AND set PNG_ZLIB_VERNUM to 0 (you MUST do this)" >&2
@exit 1 @exit 1
# The following is necessary to ensure that the local pnglibconf.h is used, not # The following is necessary to ensure that the local pnglibconf.h is used, not
# an installed one (this can happen immediately after on a clean system if # an installed one (this can happen immediately after on a clean system if
# 'make test' is the first thing the user does.) # 'make test' is the first thing the user does.)
contrib/libtests/pngstest.o contrib/libtests/pngvalid.o pngtest.o: pnglibconf.h pngstest.o pngvalid.o pngtest.o pngunknown.o timepng.o: pnglibconf.h
contrib/libtests/pngunknown.o: pnglibconf.h png-fix-too-far-back.o png-fix-itxt.o: pnglibconf.h
# We must use -DPNG_NO_USE_READ_MACROS here even when the library may actually # We must use -DPNG_NO_USE_READ_MACROS here even when the library may actually
# be built with PNG_USE_READ_MACROS; this prevents the read macros from # be built with PNG_USE_READ_MACROS; this prevents the read macros from

2
README
View File

@@ -1,4 +1,4 @@
README for libpng version 1.6.2 - April 25, 2013 (shared library 16.0) README for libpng version 1.6.3beta06 - May 12, 2013 (shared library 16.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.

View File

@@ -3,7 +3,7 @@
* *
* Copyright (c) 2013 Glenn Randers-Pehrson * Copyright (c) 2013 Glenn Randers-Pehrson
* Written by Mans Rullgard, 2011. * Written by Mans Rullgard, 2011.
* Last changed in libpng 1.5.15 [March 28, 2013] * Last changed in libpng 1.5.16 [(PENDING RELEASE)]
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
@@ -216,4 +216,4 @@ png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
png_read_filter_row_paeth4_neon; png_read_filter_row_paeth4_neon;
} }
} }
#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ #endif /* PNG_ARM_NEON_SUPPORTED */

View File

@@ -1,9 +1,9 @@
/* filter_neon.S - NEON optimised filter functions /* filter_neon.S - NEON optimised filter functions
* *
* Copyright (c) 2011 Glenn Randers-Pehrson * Copyright (c) 2013 Glenn Randers-Pehrson
* Written by Mans Rullgard, 2011. * Written by Mans Rullgard, 2011.
* Last changed in libpng 1.5.7 [December 15, 2011] * Last changed in libpng 1.5.16 [(PENDING RELEASE)]
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
@@ -11,17 +11,17 @@
*/ */
/* This is required to get the symbol renames, which are #defines, and also /* This is required to get the symbol renames, which are #defines, and also
* includes the value of PNG_FILTER_OPTIMIZATIONS. * includes the definition (or not) of PNG_ARM_NEON_SUPPORTED.
*/ */
#define PNG_VERSION_INFO_ONLY #define PNG_VERSION_INFO_ONLY
#include "../pngpriv.h" #include "../pngpriv.h"
#if defined(PNG_FILTER_OPTIMIZATIONS) && defined(__arm__) && \
defined(__ARM_NEON__)
#if defined(__linux__) && defined(__ELF__) #if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits /* mark stack as non-executable */ .section .note.GNU-stack,"",%progbits /* mark stack as non-executable */
#endif #endif
#ifdef PNG_ARM_NEON_SUPPORTED
#ifdef __ELF__ #ifdef __ELF__
# define ELF # define ELF
#else #else
@@ -232,4 +232,4 @@ func png_read_filter_row_paeth3_neon, export=1
pop {r4,pc} pop {r4,pc}
endfunc endfunc
#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ #endif /* PNG_ARM_NEON_SUPPORTED */

View File

@@ -18,7 +18,7 @@ AC_PREREQ([2.68])
dnl Version number stuff here: dnl Version number stuff here:
AC_INIT([libpng],[1.6.2],[png-mng-implement@lists.sourceforge.net]) AC_INIT([libpng],[1.6.3beta06],[png-mng-implement@lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([scripts]) AC_CONFIG_MACRO_DIR([scripts])
# libpng does not follow GNU file name conventions (hence 'foreign') # libpng does not follow GNU file name conventions (hence 'foreign')
@@ -39,10 +39,10 @@ dnl automake, so the following is not necessary (and is not defined anyway):
dnl AM_PREREQ([1.11.2]) dnl AM_PREREQ([1.11.2])
dnl stop configure from automagically running automake dnl stop configure from automagically running automake
PNGLIB_VERSION=1.6.2 PNGLIB_VERSION=1.6.3beta06
PNGLIB_MAJOR=1 PNGLIB_MAJOR=1
PNGLIB_MINOR=6 PNGLIB_MINOR=6
PNGLIB_RELEASE=2 PNGLIB_RELEASE=3
dnl End of version number stuff dnl End of version number stuff
@@ -226,35 +226,50 @@ AC_ARG_WITH(libpng-prefix,
fi]) fi])
AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"]) AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"])
# Because GCC by default assembles code with an executable stack, even though it # HOST SPECIFIC OPTIONS
# compiles C code with a non-executable stack, it is necessary to do a fixup # =====================
# here (this may by GCC specific) #
# AC_SUBST([AM_CCASFLAGS], [-Wa,--noexecstack]) # ARM
# ===
#
# ARM NEON (SIMD) support.
AC_ARG_ENABLE([arm-neon], AC_ARG_ENABLE([arm-neon],
AS_HELP_STRING([[[--enable-arm-neon]]], AS_HELP_STRING([[[--enable-arm-neon]]],
[Enable ARM NEON optimizations: =off, check, api, on:] [Enable ARM NEON optimizations: =no/off, check, api, yes/on:]
[off: disable the optimizations; check: use internal checking code] [no/off: disable the optimizations; check: use internal checking code]
[(deprecated and poorly supported); api: disable by default, enable by] [(deprecated and poorly supported); api: disable by default, enable by]
[a call to png_set_option; on: turn on unconditionally. The] [a call to png_set_option; yes/on: turn on unconditionally.]),
[default is 'on' if __ARM_NEON__ is defined, otherwise 'off'.]),
[case "$enableval" in [case "$enableval" in
off) no|off)
# disable the default enabling on __ARM_NEON__ systems:
AC_DEFINE([PNG_NO_ARM_NEON], [], AC_DEFINE([PNG_NO_ARM_NEON], [],
[Disable ARM Neon optimizations]);; [Disable ARM Neon optimizations])
# Prevent inclusion of the assembler files below:
enable_arm_neon=no;;
check) check)
AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [], AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [],
[Check for ARM Neon support at run-time]);; [Check for ARM Neon support at run-time]);;
api) api)
AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [], AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [],
[Turn on ARM Neon optimizations at run-time]);; [Turn on ARM Neon optimizations at run-time]);;
on) yes|on)
AC_DEFINE([PNG_ARM_NEON_SUPPORTED], [], AC_DEFINE([PNG_ARM_NEON_SUPPORTED], [],
[Enable ARM Neon optimizations]);; [Enable ARM Neon optimizations]);;
*) *)
AC_MSG_ERROR([arm-neon: option value required (off/check/api/on)]);; AC_MSG_ERROR([--enable-arm-neon=${enable_arm_neon}: invalid value])
esac]) esac])
AM_CONDITIONAL([PNG_ARM_NEON], [test "${enable_arm_neon:-no}" != "no"])
# Add ARM specific files to all builds where the host_cpu is arm ('arm*') or
# where ARM optimizations were explicitly requested (this allows a fallback if a
# future host CPU does not match 'arm*')
AM_CONDITIONAL([PNG_ARM_NEON],
[test "$enable_arm_neon" != 'no' &&
case "$host_cpu" in
arm*) :;;
*) test "$enable_arm_neon" != '';;
esac])
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]]) AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])

View File

@@ -252,7 +252,7 @@ int main(int argc, char **argv)
while (fgets(filename, FILENAME_MAX+1, stdin)) while (fgets(filename, FILENAME_MAX+1, stdin))
{ {
int len = strlen(filename); size_t len = strlen(filename);
if (filename[len-1] == '\n') if (filename[len-1] == '\n')
{ {

View File

@@ -14,7 +14,8 @@ LD=$(CC)
RM=rm -f RM=rm -f
COPY=cp COPY=cp
CFLAGS=-DPNG_USER_CONFIG -DNO_GZCOMPRESS -DZ_SOLO -DNO_GZIP -I. -O1 CPPFLAGS=-I. -DPNG_USER_CONFIG -DNO_GZCOMPRESS -DZ_SOLO -DNO_GZIP
CFLAGS=-O1
C=.c C=.c
O=.o O=.o
@@ -81,7 +82,7 @@ OBJS = $(PROGOBJS) $(PNGOBJS) $(ZOBJS)
# note: dependencies do not work on implicit rule lines # note: dependencies do not work on implicit rule lines
.c$(O): .c$(O):
$(CC) -c $(CFLAGS) $< $(CC) $(CPPFLAGS) -c $(CFLAGS) $<
# dependencies # dependencies
@@ -95,12 +96,12 @@ pngm2pnm$(E): $(OBJS)
# The CPP_FLAGS setting causes pngusr.h to be included in # The CPP_FLAGS setting causes pngusr.h to be included in
# both the build of pnglibconf.h and, subsequently, when # both the build of pnglibconf.h and, subsequently, when
# building libpng itself. # building libpng itself.
$(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak\ $(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak $(ZH)\
$(PNGSRC)/scripts/pnglibconf.dfa \ $(PNGSRC)/scripts/pnglibconf.dfa \
$(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa $(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa
$(RM) pnglibconf.h pnglibconf.dfn $(RM) pnglibconf.h pnglibconf.dfn
$(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\ $(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\
srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG"\ srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG -I."\
DFA_XTRA="pngusr.dfa" $@ DFA_XTRA="pngusr.dfa" $@
clean: clean:

View File

@@ -14,7 +14,8 @@ LD=$(CC)
RM=rm -f RM=rm -f
COPY=cp COPY=cp
CFLAGS=-DPNG_USER_CONFIG -DZ_SOLO -DNO_GZIP -I. -O1 CPPFLAGS=-I. -DPNG_USER_CONFIG -DNO_GZCOMPRESS -DZ_SOLO -DNO_GZIP
CFLAGS=-O1
C=.c C=.c
O=.o O=.o
@@ -80,7 +81,7 @@ OBJS = $(PROGOBJS) $(PNGOBJS) $(ZOBJS)
# implicit make rules ------------------------------------------------------- # implicit make rules -------------------------------------------------------
.c$(O): .c$(O):
$(CC) -c $(CFLAGS) $< $(CC) $(CPPFLAGS) -c $(CFLAGS) $<
# dependencies # dependencies
@@ -94,12 +95,12 @@ pnm2pngm$(E): $(OBJS)
# The CPP_FLAGS setting causes pngusr.h to be included in # The CPP_FLAGS setting causes pngusr.h to be included in
# both the build of pnglibconf.h and, subsequently, when # both the build of pnglibconf.h and, subsequently, when
# building libpng itself. # building libpng itself.
$(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak\ $(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak $(ZH)\
$(PNGSRC)/scripts/pnglibconf.dfa \ $(PNGSRC)/scripts/pnglibconf.dfa \
$(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa $(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa
$(RM) pnglibconf.h pnglibconf.dfn $(RM) pnglibconf.h pnglibconf.dfn
$(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\ $(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\
srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG"\ srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG -I."\
DFA_XTRA="pngusr.dfa" $@ DFA_XTRA="pngusr.dfa" $@
clean: clean:

View File

@@ -13,6 +13,9 @@ everything = off
# Switch on the write code - this makes a minimalist encoder # Switch on the write code - this makes a minimalist encoder
option WRITE on option WRITE on
# These 2 options are required if you need to read PGM (P1 or P4) PGM files.
# option WRITE_INVERT on
# option WRITE_PACK on
# You must choose fixed or floating point arithmetic: # You must choose fixed or floating point arithmetic:
# option FLOATING_POINT on # option FLOATING_POINT on

View File

@@ -30,7 +30,8 @@ XLIB = -L/usr/X11R6/lib -lX11
#LIBS = $(XLIB) #LIBS = $(XLIB)
LIBS = $(XLIB) -lm #platforms that need libm LIBS = $(XLIB) -lm #platforms that need libm
CFLAGS=-DPNG_USER_CONFIG -DNO_GZCOMPRESS -DZ_SOLO -DNO_GZIP -I. $(XINC) -O1 CPPFLAGS=-I. $(XINC) -DPNG_USER_CONFIG -DNO_GZCOMPRESS -DZ_SOLO -DNO_GZIP
CFLAGS=-O1
C=.c C=.c
O=.o O=.o
@@ -96,7 +97,7 @@ OBJS = $(PROGOBJS) $(PNGOBJS) $(ZOBJS)
# implicit make rules ------------------------------------------------------- # implicit make rules -------------------------------------------------------
.c$(O): .c$(O):
$(CC) -c $(CFLAGS) $< $(CC) $(CPPFLAGS) -c $(CFLAGS) $<
# dependencies # dependencies
@@ -110,12 +111,12 @@ rpng2-x$(E): $(OBJS)
# The CPP_FLAGS setting causes pngusr.h to be included in # The CPP_FLAGS setting causes pngusr.h to be included in
# both the build of pnglibconf.h and, subsequently, when # both the build of pnglibconf.h and, subsequently, when
# building libpng itself. # building libpng itself.
$(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak\ $(PNGCONF): $(PNGSRC)/scripts/pnglibconf.mak $(ZH)\
$(PNGSRC)/scripts/pnglibconf.dfa \ $(PNGSRC)/scripts/pnglibconf.dfa \
$(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa $(PNGSRC)/scripts/options.awk pngusr.h pngusr.dfa
$(RM) pnglibconf.h pnglibconf.dfn $(RM) pnglibconf.h pnglibconf.dfn
$(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\ $(MAKE) $(MAKEFLAGS) -f $(PNGSRC)/scripts/pnglibconf.mak\
srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG"\ srcdir=$(PNGSRC) CPPFLAGS="-DPNG_USER_CONFIG -I."\
DFA_XTRA="pngusr.dfa" $@ DFA_XTRA="pngusr.dfa" $@
clean: clean:

View File

@@ -198,9 +198,9 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
char height_token[16]; char height_token[16];
char maxval_token[16]; char maxval_token[16];
int color_type; int color_type;
unsigned long ul_width, ul_alpha_width; unsigned long ul_width=0, ul_alpha_width=0;
unsigned long ul_height, ul_alpha_height; unsigned long ul_height=0, ul_alpha_height=0;
unsigned long ul_maxval; unsigned long ul_maxval=0;
png_uint_32 width, alpha_width; png_uint_32 width, alpha_width;
png_uint_32 height, alpha_height; png_uint_32 height, alpha_height;
png_uint_32 maxval; png_uint_32 maxval;
@@ -210,6 +210,9 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
int alpha_present; int alpha_present;
int row, col; int row, col;
BOOL raw, alpha_raw = FALSE; BOOL raw, alpha_raw = FALSE;
#if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
BOOL packed_bitmap = FALSE;
#endif
png_uint_32 tmp16; png_uint_32 tmp16;
int i; int i;
@@ -222,9 +225,21 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
} }
else if ((type_token[1] == '1') || (type_token[1] == '4')) else if ((type_token[1] == '1') || (type_token[1] == '4'))
{ {
#if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
raw = (type_token[1] == '4'); raw = (type_token[1] == '4');
color_type = PNG_COLOR_TYPE_GRAY; color_type = PNG_COLOR_TYPE_GRAY;
get_token(pnm_file, width_token);
sscanf (width_token, "%lu", &ul_width);
width = (png_uint_32) ul_width;
get_token(pnm_file, height_token);
sscanf (height_token, "%lu", &ul_height);
height = (png_uint_32) ul_height;
bit_depth = 1; bit_depth = 1;
packed_bitmap = TRUE;
#else
fprintf (stderr, "PNM2PNG built without PNG_WRITE_INVERT_SUPPORTED and \n");
fprintf (stderr, "PNG_WRITE_PACK_SUPPORTED can't read PBM (P1,P4) files\n");
#endif
} }
else if ((type_token[1] == '2') || (type_token[1] == '5')) else if ((type_token[1] == '2') || (type_token[1] == '5'))
{ {
@@ -343,8 +358,14 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
alpha_present = (channels - 1) % 2; alpha_present = (channels - 1) % 2;
/* row_bytes is the width x number of channels x (bit-depth / 8) */ #if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
row_bytes = width * channels * ((bit_depth <= 8) ? 1 : 2); if (packed_bitmap)
/* row data is as many bytes as can fit width x channels x bit_depth */
row_bytes = (width * channels * bit_depth + 7) / 8;
else
#endif
/* row_bytes is the width x number of channels x (bit-depth / 8) */
row_bytes = width * channels * ((bit_depth <= 8) ? 1 : 2);
if ((png_pixels = (png_byte *) malloc (row_bytes * height * sizeof (png_byte))) == NULL) if ((png_pixels = (png_byte *) malloc (row_bytes * height * sizeof (png_byte))) == NULL)
return FALSE; return FALSE;
@@ -354,40 +375,48 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
for (row = 0; row < height; row++) for (row = 0; row < height; row++)
{ {
for (col = 0; col < width; col++) #if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
if (packed_bitmap) {
for (i = 0; i < row_bytes; i++)
/* png supports this format natively so no conversion is needed */
*pix_ptr++ = get_data (pnm_file, 8);
} else
#endif
{ {
for (i = 0; i < (channels - alpha_present); i++) for (col = 0; col < width; col++)
{ {
if (raw) for (i = 0; i < (channels - alpha_present); i++)
*pix_ptr++ = get_data (pnm_file, bit_depth); {
else if (raw)
if (bit_depth <= 8) *pix_ptr++ = get_data (pnm_file, bit_depth);
*pix_ptr++ = get_value (pnm_file, bit_depth);
else else
{ if (bit_depth <= 8)
tmp16 = get_value (pnm_file, bit_depth); *pix_ptr++ = get_value (pnm_file, bit_depth);
*pix_ptr = (png_byte) ((tmp16 >> 8) & 0xFF); else
pix_ptr++; {
*pix_ptr = (png_byte) (tmp16 & 0xFF); tmp16 = get_value (pnm_file, bit_depth);
pix_ptr++; *pix_ptr = (png_byte) ((tmp16 >> 8) & 0xFF);
} pix_ptr++;
} *pix_ptr = (png_byte) (tmp16 & 0xFF);
pix_ptr++;
}
}
if (alpha) /* read alpha-channel from pgm file */ if (alpha) /* read alpha-channel from pgm file */
{ {
if (alpha_raw) if (alpha_raw)
*pix_ptr++ = get_data (alpha_file, alpha_depth); *pix_ptr++ = get_data (alpha_file, alpha_depth);
else
if (alpha_depth <= 8)
*pix_ptr++ = get_value (alpha_file, bit_depth);
else else
{ if (alpha_depth <= 8)
tmp16 = get_value (alpha_file, bit_depth); *pix_ptr++ = get_value (alpha_file, bit_depth);
*pix_ptr++ = (png_byte) ((tmp16 >> 8) & 0xFF); else
*pix_ptr++ = (png_byte) (tmp16 & 0xFF); {
} tmp16 = get_value (alpha_file, bit_depth);
} /* if alpha */ *pix_ptr++ = (png_byte) ((tmp16 >> 8) & 0xFF);
*pix_ptr++ = (png_byte) (tmp16 & 0xFF);
}
} /* if alpha */
} /* if packed_bitmap */
} /* end for col */ } /* end for col */
} /* end for row */ } /* end for row */
@@ -404,6 +433,14 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
return FALSE; return FALSE;
} }
#if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
if (packed_bitmap == TRUE)
{
png_set_packing (png_ptr);
png_set_invert_mono (png_ptr);
}
#endif
/* setjmp() must be called in every function that calls a PNG-reading libpng function */ /* setjmp() must be called in every function that calls a PNG-reading libpng function */
if (setjmp (png_jmpbuf(png_ptr))) if (setjmp (png_jmpbuf(png_ptr)))
{ {
@@ -460,19 +497,32 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
void get_token(FILE *pnm_file, char *token) void get_token(FILE *pnm_file, char *token)
{ {
int i = 0; int i = 0;
int ret;
/* remove white-space */ /* remove white-space and comment lines */
do do
{ {
token[i] = (unsigned char) fgetc (pnm_file); ret = fgetc(pnm_file);
if (ret == '#') {
/* the rest of this line is a comment */
do
{
ret = fgetc(pnm_file);
}
while ((ret != '\n') && (ret != '\r') && (ret != EOF));
}
if (ret == EOF) break;
token[i] = (unsigned char) ret;
} }
while ((token[i] == '\n') || (token[i] == '\r') || (token[i] == ' ')); while ((token[i] == '\n') || (token[i] == '\r') || (token[i] == ' '));
/* read string */ /* read string */
do do
{ {
ret = fgetc(pnm_file);
if (ret == EOF) break;
i++; i++;
token[i] = (unsigned char) fgetc (pnm_file); token[i] = (unsigned char) ret;
} }
while ((token[i] != '\n') && (token[i] != '\r') && (token[i] != ' ')); while ((token[i] != '\n') && (token[i] != '\r') && (token[i] != ' '));

View File

@@ -1,8 +1,8 @@
#include <stdio.h>
/* fixitxt version 1.0.0 /* png-fix-itxt version 1.0.0
* *
* Copyright 2013 Glenn Randers-Pehrson * Copyright 2013 Glenn Randers-Pehrson
* Last changed in libpng 1.6.3 [(PENDING RELEASE)]
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
@@ -10,7 +10,7 @@
* *
* Usage: * Usage:
* *
* fixitxt.exe < bad.png > good.png * png-fix-itxt.exe < bad.png > good.png
* *
* Fixes a PNG file written with libpng-1.6.0 or 1.6.1 that has one or more * Fixes a PNG file written with libpng-1.6.0 or 1.6.1 that has one or more
* uncompressed iTXt chunks. Assumes that the actual length is greater * uncompressed iTXt chunks. Assumes that the actual length is greater
@@ -22,20 +22,28 @@
* *
* Requires zlib (for crc32 and Z_NULL); build with * Requires zlib (for crc32 and Z_NULL); build with
* *
* gcc -O -o fixitxt fixitxt.c -lz * gcc -O -o png-fix-itxt png-fix-itxt.c -lz
*
* If you need to handle iTXt chunks larger than 500000 kbytes you must
* rebuild png-fix-itxt with a larger values of MAX_LENGTH (or a smaller value
* if you know you will never encounter such huge iTXt chunks).
*/ */
#include <stdio.h>
#include <zlib.h>
#define MAX_LENGTH 500000 #define MAX_LENGTH 500000
#define GETBREAK c=getchar(); if (c == EOF) break; #define GETBREAK ((unsigned char)(inchar=getchar())); if (inchar == EOF) break
#include <zlib.h>
main() int
main(void)
{ {
unsigned int i; unsigned int i;
unsigned char buf[MAX_LENGTH]; unsigned char buf[MAX_LENGTH];
unsigned long crc; unsigned long crc;
unsigned int c; unsigned char c;
int inchar;
/* Skip 8-byte signature */ /* Skip 8-byte signature */
for (i=8; i; i--) for (i=8; i; i--)
@@ -44,17 +52,16 @@ main()
putchar(c); putchar(c);
} }
if (c != EOF) if (inchar != EOF)
for (;;) for (;;)
{ {
/* Read the length */ /* Read the length */
unsigned long length; unsigned long length; /* must be 32 bits! */
c=GETBREAK; buf[0] = c; c=GETBREAK; buf[0] = c; length = c; length <<= 8;
c=GETBREAK; buf[1] = c; c=GETBREAK; buf[1] = c; length += c; length <<= 8;
c=GETBREAK; buf[2] = c; c=GETBREAK; buf[2] = c; length += c; length <<= 8;
c=GETBREAK; buf[3] = c; c=GETBREAK; buf[3] = c; length += c;
length=((((unsigned long) buf[0]<<8 + buf[1]<<16) + buf[2] << 8) + buf[3]);
/* Read the chunkname */ /* Read the chunkname */
c=GETBREAK; buf[4] = c; c=GETBREAK; buf[4] = c;
c=GETBREAK; buf[5] = c; c=GETBREAK; buf[5] = c;
@@ -125,7 +132,7 @@ for (;;)
putchar(c); putchar(c);
} }
if (c == EOF) if (inchar == EOF)
{ {
break; break;
} }
@@ -135,10 +142,12 @@ for (;;)
break; break;
} }
if (c == EOF) if (inchar == EOF)
break; break;
if (buf[4] == 73 && buf[5] == 69 && buf[6] == 78 && buf[7] == 68) if (buf[4] == 73 && buf[5] == 69 && buf[6] == 78 && buf[7] == 68)
break; break;
} }
return 0;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
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.6.2 - April 25, 2013 libpng version 1.6.3beta06 - May 12, 2013
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-2013 Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.2 - April 25, 2013 libpng versions 0.97, January 1998, through 1.6.3beta06 - May 12, 2013
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2013 Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -50,9 +50,7 @@ libpng-manual.txt - A description on how to use and modify libpng
I. Introduction I. Introduction
This file describes how to use and modify the PNG reference library This file describes how to use and modify the PNG reference library
(known as libpng) for your own use. There are five sections to this (known as libpng) for your own use. In addition to this
file: introduction, structures, reading, writing, and modification and
configuration notes for various special platforms. In addition to this
file, example.c is a good starting point for using the library, as file, example.c is a good starting point for using the library, as
it is heavily commented and should include everything most people it is heavily commented and should include everything most people
will need. We assume that libpng is already installed; see the will need. We assume that libpng is already installed; see the
@@ -3093,13 +3091,47 @@ a writeable buffer of at least 29 bytes.
Writing unknown chunks Writing unknown chunks
You can use the png_set_unknown_chunks function to queue up chunks You can use the png_set_unknown_chunks function to queue up private chunks
for writing. You give it a chunk name, raw data, and a size; that's for writing. You give it a chunk name, location, raw data, and a size. You
all there is to it. The chunks will be written by the next following also must use png_set_keep_unknown_chunks() to ensure that libpng will
png_write_info_before_PLTE, png_write_info, or png_write_end function. handle them. That's all there is to it. The chunks will be written by the
Any chunks previously read into the info structure's unknown-chunk next following png_write_info_before_PLTE, png_write_info, or png_write_end
list will also be written out in a sequence that satisfies the PNG function, depending upon the specified location. Any chunks previously
specification's ordering rules. read into the info structure's unknown-chunk list will also be written out
in a sequence that satisfies the PNG specification's ordering rules.
Here is an example of writing two private chunks, prVt and miNE:
#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
/* Set unknown chunk data */
png_unknown_chunk unk_chunk[2];
strcpy((char *) unk_chunk[0].name, "prVt";
unk_chunk[0].data = (unsigned char *) "PRIVATE DATA";
unk_chunk[0].size = strlen(unk_chunk[0].data)+1;
unk_chunk[0].location = PNG_HAVE_IHDR;
strcpy((char *) unk_chunk[1].name, "miNE";
unk_chunk[1].data = (unsigned char *) "MY CHUNK DATA";
unk_chunk[1].size = strlen(unk_chunk[0].data)+1;
unk_chunk[1].location = PNG_AFTER_IDAT;
png_set_unknown_chunks(write_ptr, write_info_ptr,
unk_chunk, 2);
/* Needed because miNE is not safe-to-copy */
png_set_keep_unknown_chunks(png, PNG_HANDLE_CHUNK_ALWAYS,
(png_bytep) "miNE", 1);
# if PNG_LIBPNG_VER < 10600
/* Deal with unknown chunk location bug in 1.5.x and earlier */
png_set_unknown_chunk_location(png, info, 0, PNG_HAVE_IHDR);
png_set_unknown_chunk_location(png, info, 1, PNG_AFTER_IDAT);
# endif
# if PNG_LIBPNG_VER < 10500
/* PNG_AFTER_IDAT writes two copies of the chunk prior to libpng-1.5.0,
* one before IDAT and another after IDAT, so don't use it; only use
* PNG_HAVE_IHDR location. This call resets the location previously
* set by assignment and png_set_unknown_chunk_location() for chunk 1.
*/
png_set_unknown_chunk_location(png, info, 1, PNG_HAVE_IHDR);
# endif
#endif
The high-level write interface The high-level write interface
@@ -4947,9 +4979,9 @@ symbols, using the PNG_PREFIX macro.
We no longer include string.h in png.h. The include statement has been moved We no longer include string.h in png.h. The include statement has been moved
to pngpriv.h, where it is not accessible by applications. Applications that to pngpriv.h, where it is not accessible by applications. Applications that
need access to information in string.h must add an '#include "string.h"' need access to information in string.h must add an '#include <string.h>'
directive. It does not matter whether this is placed prior to or after directive. It does not matter whether this is placed prior to or after
the '"#include png.h"' directive. the '#include "png.h"' directive.
The following API are now DEPRECATED: The following API are now DEPRECATED:
png_info_init_3() png_info_init_3()
@@ -5003,6 +5035,21 @@ The machine-generated configure files are no longer included in branches
libpng16 and later of the GIT repository. They continue to be included libpng16 and later of the GIT repository. They continue to be included
in the tarball releases, however. in the tarball releases, however.
Libpng-1.6.0 and later use the CMF bytes at the beginning of the IDAT stream
to set the size of the sliding window for reading instead of using the default
32-kbyte sliding window size. It was discovered that there are hundreds of PNG
files in the wild that have incorrect CMF bytes that cause libpng to now issue
a "too far back" error and reject the file. Libpng-1.6.3 provides a way to
revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a
32-kbyte sliding window), and provides a tool
(contrib/tools/png-fix-too-far-back) for optimizing the CMF bytes
correctly.
Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong
length, which resulted in PNG files that cannot be read beyond the bad iTXt
chunk. This error was fixed in libpng-1.6.3, and a tool (called
contrib/tools/png-fix-itxt) has been added to the libpng distribution.
XIII. Detecting libpng XIII. Detecting libpng
The png_get_io_ptr() function has been present since libpng-0.88, has never The png_get_io_ptr() function has been present since libpng-0.88, has never
@@ -5165,13 +5212,13 @@ Other rules can be inferred by inspecting the libpng source.
XVI. Y2K Compliance in libpng XVI. Y2K Compliance in libpng
April 25, 2013 May 12, 2013
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
This is your unofficial assurance that libpng from version 0.71 and This is your unofficial assurance that libpng from version 0.71 and
upward through 1.6.2 are Y2K compliant. It is my belief that earlier upward through 1.6.3beta06 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 Libpng only has two year fields. One is a 2-byte unsigned integer

View File

@@ -1,6 +1,6 @@
.TH LIBPNG 3 "April 25, 2013" .TH LIBPNG 3 "May 12, 2013"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.2 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.3beta06
.SH SYNOPSIS .SH SYNOPSIS
\fB \fB
#include <png.h>\fP #include <png.h>\fP
@@ -504,7 +504,7 @@ 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.6.2 - April 25, 2013 libpng version 1.6.3beta06 - May 12, 2013
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-2013 Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.2 - April 25, 2013 libpng versions 0.97, January 1998, through 1.6.3beta06 - May 12, 2013
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2013 Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -554,9 +554,7 @@ libpng-manual.txt - A description on how to use and modify libpng
.SH I. Introduction .SH I. Introduction
This file describes how to use and modify the PNG reference library This file describes how to use and modify the PNG reference library
(known as libpng) for your own use. There are five sections to this (known as libpng) for your own use. In addition to this
file: introduction, structures, reading, writing, and modification and
configuration notes for various special platforms. In addition to this
file, example.c is a good starting point for using the library, as file, example.c is a good starting point for using the library, as
it is heavily commented and should include everything most people it is heavily commented and should include everything most people
will need. We assume that libpng is already installed; see the will need. We assume that libpng is already installed; see the
@@ -3597,13 +3595,47 @@ a writeable buffer of at least 29 bytes.
.SS Writing unknown chunks .SS Writing unknown chunks
You can use the png_set_unknown_chunks function to queue up chunks You can use the png_set_unknown_chunks function to queue up private chunks
for writing. You give it a chunk name, raw data, and a size; that's for writing. You give it a chunk name, location, raw data, and a size. You
all there is to it. The chunks will be written by the next following also must use png_set_keep_unknown_chunks() to ensure that libpng will
png_write_info_before_PLTE, png_write_info, or png_write_end function. handle them. That's all there is to it. The chunks will be written by the
Any chunks previously read into the info structure's unknown-chunk next following png_write_info_before_PLTE, png_write_info, or png_write_end
list will also be written out in a sequence that satisfies the PNG function, depending upon the specified location. Any chunks previously
specification's ordering rules. read into the info structure's unknown-chunk list will also be written out
in a sequence that satisfies the PNG specification's ordering rules.
Here is an example of writing two private chunks, prVt and miNE:
#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
/* Set unknown chunk data */
png_unknown_chunk unk_chunk[2];
strcpy((char *) unk_chunk[0].name, "prVt";
unk_chunk[0].data = (unsigned char *) "PRIVATE DATA";
unk_chunk[0].size = strlen(unk_chunk[0].data)+1;
unk_chunk[0].location = PNG_HAVE_IHDR;
strcpy((char *) unk_chunk[1].name, "miNE";
unk_chunk[1].data = (unsigned char *) "MY CHUNK DATA";
unk_chunk[1].size = strlen(unk_chunk[0].data)+1;
unk_chunk[1].location = PNG_AFTER_IDAT;
png_set_unknown_chunks(write_ptr, write_info_ptr,
unk_chunk, 2);
/* Needed because miNE is not safe-to-copy */
png_set_keep_unknown_chunks(png, PNG_HANDLE_CHUNK_ALWAYS,
(png_bytep) "miNE", 1);
# if PNG_LIBPNG_VER < 10600
/* Deal with unknown chunk location bug in 1.5.x and earlier */
png_set_unknown_chunk_location(png, info, 0, PNG_HAVE_IHDR);
png_set_unknown_chunk_location(png, info, 1, PNG_AFTER_IDAT);
# endif
# if PNG_LIBPNG_VER < 10500
/* PNG_AFTER_IDAT writes two copies of the chunk prior to libpng-1.5.0,
* one before IDAT and another after IDAT, so don't use it; only use
* PNG_HAVE_IHDR location. This call resets the location previously
* set by assignment and png_set_unknown_chunk_location() for chunk 1.
*/
png_set_unknown_chunk_location(png, info, 1, PNG_HAVE_IHDR);
# endif
#endif
.SS The high-level write interface .SS The high-level write interface
@@ -5452,9 +5484,9 @@ symbols, using the PNG_PREFIX macro.
We no longer include string.h in png.h. The include statement has been moved We no longer include string.h in png.h. The include statement has been moved
to pngpriv.h, where it is not accessible by applications. Applications that to pngpriv.h, where it is not accessible by applications. Applications that
need access to information in string.h must add an '#include "string.h"' need access to information in string.h must add an '#include <string.h>'
directive. It does not matter whether this is placed prior to or after directive. It does not matter whether this is placed prior to or after
the '"#include png.h"' directive. the '#include "png.h"' directive.
The following API are now DEPRECATED: The following API are now DEPRECATED:
png_info_init_3() png_info_init_3()
@@ -5508,6 +5540,21 @@ The machine-generated configure files are no longer included in branches
libpng16 and later of the GIT repository. They continue to be included libpng16 and later of the GIT repository. They continue to be included
in the tarball releases, however. in the tarball releases, however.
Libpng-1.6.0 and later use the CMF bytes at the beginning of the IDAT stream
to set the size of the sliding window for reading instead of using the default
32-kbyte sliding window size. It was discovered that there are hundreds of PNG
files in the wild that have incorrect CMF bytes that cause libpng to now issue
a "too far back" error and reject the file. Libpng-1.6.3 provides a way to
revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a
32-kbyte sliding window), and provides a tool
(contrib/tools/png-fix-too-far-back) for optimizing the CMF bytes
correctly.
Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong
length, which resulted in PNG files that cannot be read beyond the bad iTXt
chunk. This error was fixed in libpng-1.6.3, and a tool (called
contrib/tools/png-fix-itxt) has been added to the libpng distribution.
.SH XIII. Detecting libpng .SH XIII. Detecting libpng
The png_get_io_ptr() function has been present since libpng-0.88, has never The png_get_io_ptr() function has been present since libpng-0.88, has never
@@ -5670,13 +5717,13 @@ Other rules can be inferred by inspecting the libpng source.
.SH XVI. Y2K Compliance in libpng .SH XVI. Y2K Compliance in libpng
April 25, 2013 May 12, 2013
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
This is your unofficial assurance that libpng from version 0.71 and This is your unofficial assurance that libpng from version 0.71 and
upward through 1.6.2 are Y2K compliant. It is my belief that earlier upward through 1.6.3beta06 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 Libpng only has two year fields. One is a 2-byte unsigned integer
@@ -5890,6 +5937,7 @@ the first widely used release:
1.6.2beta01 16 10602 16.so.16.2[.0] 1.6.2beta01 16 10602 16.so.16.2[.0]
1.6.2rc01-06 16 10602 16.so.16.2[.0] 1.6.2rc01-06 16 10602 16.so.16.2[.0]
1.6.2 16 10602 16.so.16.2[.0] 1.6.2 16 10602 16.so.16.2[.0]
1.6.3beta01-06 16 10603 16.so.16.3[.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
@@ -5946,7 +5994,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.6.2 - April 25, 2013: Libpng version 1.6.3beta06 - May 12, 2013:
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).
@@ -5969,7 +6017,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.6.2, April 25, 2013, are libpng versions 1.2.6, August 15, 2004, through 1.6.3beta06, May 12, 2013, 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
@@ -6068,7 +6116,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
April 25, 2013 May 12, 2013
.\" end of man page .\" end of man page

View File

@@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "April 25, 2013" .TH LIBPNGPF 3 "May 12, 2013"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.2 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.3beta06
(private functions) (private functions)
.SH SYNOPSIS .SH SYNOPSIS
\fB#include \fI"pngpriv.h" \fB#include \fI"pngpriv.h"

2
png.5
View File

@@ -1,4 +1,4 @@
.TH PNG 5 "April 25, 2013" .TH PNG 5 "May 12, 2013"
.SH NAME .SH NAME
png \- Portable Network Graphics (PNG) format png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION .SH DESCRIPTION

6
png.c
View File

@@ -14,7 +14,7 @@
#include "pngpriv.h" #include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */ /* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_6_2 Your_png_h_is_not_version_1_6_2; typedef png_libpng_version_1_6_3beta06 Your_png_h_is_not_version_1_6_3beta06;
/* 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
@@ -768,13 +768,13 @@ png_get_copyright(png_const_structrp png_ptr)
#else #else
# ifdef __STDC__ # ifdef __STDC__
return PNG_STRING_NEWLINE \ return PNG_STRING_NEWLINE \
"libpng version 1.6.2 - April 25, 2013" PNG_STRING_NEWLINE \ "libpng version 1.6.3beta06 - May 12, 2013" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2013 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.6.2 - April 25, 2013\ return "libpng version 1.6.3beta06 - May 12, 2013\
Copyright (c) 1998-2013 Glenn Randers-Pehrson\ Copyright (c) 1998-2013 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.";

28
png.h
View File

@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.6.2 - April 25, 2013 * libpng version 1.6.3beta06 - May 12, 2013
* Copyright (c) 1998-2013 Glenn Randers-Pehrson * Copyright (c) 1998-2013 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.6.2 - April 25, 2013: Glenn * libpng versions 0.97, January 1998, through 1.6.3beta06 - May 12, 2013: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@@ -175,6 +175,7 @@
* 1.6.2beta01 16 10602 16.so.16.2[.0] * 1.6.2beta01 16 10602 16.so.16.2[.0]
* 1.6.2rc01-06 16 10602 16.so.16.2[.0] * 1.6.2rc01-06 16 10602 16.so.16.2[.0]
* 1.6.2 16 10602 16.so.16.2[.0] * 1.6.2 16 10602 16.so.16.2[.0]
* 1.6.3beta01-06 16 10603 16.so.16.3[.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
@@ -206,7 +207,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.6.2, April 25, 2013, are * libpng versions 1.2.6, August 15, 2004, through 1.6.3beta06, May 12, 2013, are
* Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are * Copyright (c) 2004, 2006-2013 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:
@@ -318,13 +319,13 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* April 25, 2013 * May 12, 2013
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
* *
* This is your unofficial assurance that libpng from version 0.71 and * This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.6.2 are Y2K compliant. It is my belief that * upward through 1.6.3beta06 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
@@ -384,9 +385,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.6.2" #define PNG_LIBPNG_VER_STRING "1.6.3beta06"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.6.2 - April 25, 2013\n" " libpng version 1.6.3beta06 - May 12, 2013\n"
#define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16 #define PNG_LIBPNG_VER_DLLNUM 16
@@ -394,13 +395,13 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6 #define PNG_LIBPNG_VER_MINOR 6
#define PNG_LIBPNG_VER_RELEASE 2 #define PNG_LIBPNG_VER_RELEASE 3
/* This should match the numeric part of the final component of /* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: * PNG_LIBPNG_VER_STRING, omitting any leading zero:
*/ */
#define PNG_LIBPNG_VER_BUILD 0 #define PNG_LIBPNG_VER_BUILD 06
/* Release Status */ /* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_ALPHA 1
@@ -417,7 +418,7 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */ PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA
/* Careful here. At one time, Guy wanted to use 082, but that would be octal. /* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros. * We must not include leading zeros.
@@ -425,7 +426,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 10602 /* 1.6.2 */ #define PNG_LIBPNG_VER 10603 /* 1.6.3 */
/* 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.
@@ -530,7 +531,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h /* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number. * do not agree upon the version number.
*/ */
typedef char* png_libpng_version_1_6_2; typedef char* png_libpng_version_1_6_3beta06;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
* *
@@ -3267,7 +3268,8 @@ PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
#ifdef PNG_ARM_NEON_API_SUPPORTED #ifdef PNG_ARM_NEON_API_SUPPORTED
# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */ # define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */
#endif #endif
#define PNG_OPTION_NEXT 2 /* Next option - numbers must be even */ #define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */
#define PNG_OPTION_NEXT 4 /* Next option - numbers must be even */
/* Return values: NOTE: there are four values and 'off' is *not* zero */ /* Return values: NOTE: there are four values and 'off' is *not* zero */
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */ #define PNG_OPTION_UNSET 0 /* Unset - defaults to off */

View File

@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine configurable file for libpng
* *
* libpng version 1.6.2 - April 25, 2013 * libpng version 1.6.3beta06 - May 12, 2013
* *
* Copyright (c) 1998-2013 Glenn Randers-Pehrson * Copyright (c) 1998-2013 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@@ -694,6 +694,24 @@
#include "pngstruct.h" #include "pngstruct.h"
#include "pnginfo.h" #include "pnginfo.h"
/* Validate the include paths - the include path used to generate pnglibconf.h
* must match that used in the build, or we must be using pnglibconf.h.prebuilt:
*/
#if PNG_ZLIB_VERNUM != 0 && PNG_ZLIB_VERNUM != ZLIB_VERNUM
# error ZLIB_VERNUM != PNG_ZLIB_VERNUM \
"-I (include path) error: see the notes in pngpriv.h"
/* This means that when pnglibconf.h was built the copy of zlib.h that it
* used is not the same as the one being used here. Because the build of
* libpng makes decisions to use inflateInit2 and inflateReset2 based on the
* zlib version number and because this affects handling of certain broken
* PNG files the -I directives must match.
*
* The most likely explanation is that you passed a -I in CFLAGS, this will
* not work; all the preprocessor directories and in particular all the -I
* directives must be in CPPFLAGS.
*/
#endif
/* This is used for 16 bit gamma tables -- only the top level pointers are /* This is used for 16 bit gamma tables -- only the top level pointers are
* const; this could be changed: * const; this could be changed:
*/ */

View File

@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file /* pngrutil.c - utilities to read a PNG file
* *
* Last changed in libpng 1.6.2 [April 25, 2013] * Last changed in libpng 1.6.3 [(PENDING RELEASE)]
* Copyright (c) 1998-2013 Glenn Randers-Pehrson * Copyright (c) 1998-2013 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.)
@@ -18,8 +18,6 @@
#ifdef PNG_READ_SUPPORTED #ifdef PNG_READ_SUPPORTED
#define png_strtod(p,a,b) strtod(a,b)
png_uint_32 PNGAPI png_uint_32 PNGAPI
png_get_uint_31(png_const_structrp png_ptr, png_const_bytep buf) png_get_uint_31(png_const_structrp png_ptr, png_const_bytep buf)
{ {
@@ -334,7 +332,7 @@ png_read_buffer(png_structrp png_ptr, png_alloc_size_t new_size, int warn)
* chunk apparently owns the stream. Prior to release it does a png_error. * chunk apparently owns the stream. Prior to release it does a png_error.
*/ */
static int static int
png_inflate_claim(png_structrp png_ptr, png_uint_32 owner, int window_bits) png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
{ {
if (png_ptr->zowner != 0) if (png_ptr->zowner != 0)
{ {
@@ -369,6 +367,22 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner, int window_bits)
*/ */
{ {
int ret; /* zlib return code */ int ret; /* zlib return code */
# if PNG_ZLIB_VERNUM >= 0x1240
# if defined(PNG_SET_OPTION_SUPPORTED) && \
defined(PNG_MAXIMUM_INFLATE_WINDOW)
int window_bits;
if (((png_ptr->options >> PNG_MAXIMUM_INFLATE_WINDOW) & 3) ==
PNG_OPTION_ON)
window_bits = 15;
else
window_bits = 0;
# else
# define window_bits 0
# endif
# endif
/* Set this for safety, just in case the previous owner left pointers to /* Set this for safety, just in case the previous owner left pointers to
* memory allocations. * memory allocations.
@@ -380,8 +394,7 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner, int window_bits)
if (png_ptr->flags & PNG_FLAG_ZSTREAM_INITIALIZED) if (png_ptr->flags & PNG_FLAG_ZSTREAM_INITIALIZED)
{ {
# if ZLIB_VERNUM < 0x1240 # if PNG_ZLIB_VERNUM < 0x1240
PNG_UNUSED(window_bits)
ret = inflateReset(&png_ptr->zstream); ret = inflateReset(&png_ptr->zstream);
# else # else
ret = inflateReset2(&png_ptr->zstream, window_bits); ret = inflateReset2(&png_ptr->zstream, window_bits);
@@ -390,7 +403,7 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner, int window_bits)
else else
{ {
# if ZLIB_VERNUM < 0x1240 # if PNG_ZLIB_VERNUM < 0x1240
ret = inflateInit(&png_ptr->zstream); ret = inflateInit(&png_ptr->zstream);
# else # else
ret = inflateInit2(&png_ptr->zstream, window_bits); ret = inflateInit2(&png_ptr->zstream, window_bits);
@@ -408,6 +421,10 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner, int window_bits)
return ret; return ret;
} }
# ifdef window_bits
# undef window_bits
# endif
} }
#ifdef PNG_READ_COMPRESSED_TEXT_SUPPORTED #ifdef PNG_READ_COMPRESSED_TEXT_SUPPORTED
@@ -580,14 +597,8 @@ png_decompress_chunk(png_structrp png_ptr,
if (limit < *newlength) if (limit < *newlength)
*newlength = limit; *newlength = limit;
/* Now try to claim the stream; the 'warn' setting causes zlib to be told /* Now try to claim the stream. */
* to use the maximum window size during inflate; this hides errors in the ret = png_inflate_claim(png_ptr, png_ptr->chunk_name);
* deflate header window bits value which is used if '0' is passed. In
* fact this only has an effect with zlib versions 1.2.4 and later - see
* the comments in png_inflate_claim above.
*/
ret = png_inflate_claim(png_ptr, png_ptr->chunk_name,
png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN ? 15 : 0);
if (ret == Z_OK) if (ret == Z_OK)
{ {
@@ -1357,8 +1368,7 @@ png_handle_iCCP(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
{ {
read_length -= keyword_length+2; read_length -= keyword_length+2;
if (png_inflate_claim(png_ptr, png_iCCP, if (png_inflate_claim(png_ptr, png_iCCP) == Z_OK)
png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN ? 15 : 0) == Z_OK)
{ {
Byte profile_header[132]; Byte profile_header[132];
Byte local_buffer[PNG_INFLATE_BUF_SIZE]; Byte local_buffer[PNG_INFLATE_BUF_SIZE];
@@ -4454,9 +4464,10 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
* IDAT stream has a bogus deflate header window_bits value, but this should * IDAT stream has a bogus deflate header window_bits value, but this should
* not be happening any longer!) * not be happening any longer!)
*/ */
if (png_inflate_claim(png_ptr, png_IDAT, 0) != Z_OK) if (png_inflate_claim(png_ptr, png_IDAT) != Z_OK)
png_error(png_ptr, png_ptr->zstream.msg); png_error(png_ptr, png_ptr->zstream.msg);
png_ptr->flags |= PNG_FLAG_ROW_INIT; png_ptr->flags |= PNG_FLAG_ROW_INIT;
} }
#endif /* PNG_READ_SUPPORTED */ #endif /* PNG_READ_SUPPORTED */

View File

@@ -1968,4 +1968,4 @@ main(void)
#endif #endif
/* Generate a compiler error if there is an old png.h in the search path. */ /* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_6_2 Your_png_h_is_not_version_1_6_2; typedef png_libpng_version_1_6_3beta06 Your_png_h_is_not_version_1_6_3beta06;

View File

@@ -494,51 +494,50 @@ png_create_write_struct_2,(png_const_charp user_png_ver, png_voidp error_ptr,
png_structrp png_ptr = png_create_png_struct(user_png_ver, error_ptr, png_structrp png_ptr = png_create_png_struct(user_png_ver, error_ptr,
error_fn, warn_fn, mem_ptr, malloc_fn, free_fn); error_fn, warn_fn, mem_ptr, malloc_fn, free_fn);
#endif /* PNG_USER_MEM_SUPPORTED */ #endif /* PNG_USER_MEM_SUPPORTED */
if (png_ptr != NULL)
{
/* Set the zlib control values to defaults; they can be overridden by the
* application after the struct has been created.
*/
png_ptr->zbuffer_size = PNG_ZBUF_SIZE;
/* Set the zlib control values to defaults; they can be overridden by the /* The 'zlib_strategy' setting is irrelevant because png_default_claim in
* application after the struct has been created. * pngwutil.c defaults it according to whether or not filters will be
*/ * used, and ignores this setting.
png_ptr->zbuffer_size = PNG_ZBUF_SIZE; */
png_ptr->zlib_strategy = PNG_Z_DEFAULT_STRATEGY;
/* The 'zlib_strategy' setting is irrelevant because png_default_claim in png_ptr->zlib_level = PNG_Z_DEFAULT_COMPRESSION;
* pngwutil.c defaults it according to whether or not filters will be used, png_ptr->zlib_mem_level = 8;
* and ignores this setting. png_ptr->zlib_window_bits = 15;
*/ png_ptr->zlib_method = 8;
png_ptr->zlib_strategy = PNG_Z_DEFAULT_STRATEGY;
png_ptr->zlib_level = PNG_Z_DEFAULT_COMPRESSION;
png_ptr->zlib_mem_level = 8;
png_ptr->zlib_window_bits = 15;
png_ptr->zlib_method = 8;
#ifdef PNG_WRITE_COMPRESSED_TEXT_SUPPORTED #ifdef PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
png_ptr->zlib_text_strategy = PNG_TEXT_Z_DEFAULT_STRATEGY; png_ptr->zlib_text_strategy = PNG_TEXT_Z_DEFAULT_STRATEGY;
png_ptr->zlib_text_level = PNG_TEXT_Z_DEFAULT_COMPRESSION; png_ptr->zlib_text_level = PNG_TEXT_Z_DEFAULT_COMPRESSION;
png_ptr->zlib_text_mem_level = 8; png_ptr->zlib_text_mem_level = 8;
png_ptr->zlib_text_window_bits = 15; png_ptr->zlib_text_window_bits = 15;
png_ptr->zlib_text_method = 8; png_ptr->zlib_text_method = 8;
#endif /* PNG_WRITE_COMPRESSED_TEXT_SUPPORTED */ #endif /* PNG_WRITE_COMPRESSED_TEXT_SUPPORTED */
/* This is a highly dubious configuration option; by default it is off, but /* This is a highly dubious configuration option; by default it is off,
* it may be appropriate for private builds that are testing extensions not * but it may be appropriate for private builds that are testing
* conformant to the current specification, or of applications that must not * extensions not conformant to the current specification, or of
* fail to write at all costs! * applications that must not fail to write at all costs!
*/ */
# ifdef PNG_BENIGN_WRITE_ERRORS_SUPPORTED #ifdef PNG_BENIGN_WRITE_ERRORS_SUPPORTED
png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN; png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN;
/* In stable builds only warn if an application error can be completely /* In stable builds only warn if an application error can be completely
* handled. * handled.
*/ */
# endif #endif
/* App warnings are warnings in release (or release candidate) builds but /* App warnings are warnings in release (or release candidate) builds but
* are errors during development. * are errors during development.
*/ */
# if PNG_LIBPNG_BUILD_BASE_TYPE >= PNG_LIBPNG_BUILD_RC #if PNG_LIBPNG_BUILD_BASE_TYPE >= PNG_LIBPNG_BUILD_RC
png_ptr->flags |= PNG_FLAG_APP_WARNINGS_WARN; png_ptr->flags |= PNG_FLAG_APP_WARNINGS_WARN;
# endif #endif
if (png_ptr != NULL)
{
/* TODO: delay this, it can be done in png_init_io() (if the app doesn't /* TODO: delay this, it can be done in png_init_io() (if the app doesn't
* do it itself) avoiding setting the default function if it is not * do it itself) avoiding setting the default function if it is not
* required. * required.

View File

@@ -1,7 +1,7 @@
VisualStudio instructions VisualStudio instructions
libpng version 1.6.2 - April 25, 2013 libpng version 1.6.3beta06 - May 12, 2013
Copyright (c) 1998-2010 Glenn Randers-Pehrson Copyright (c) 1998-2010 Glenn Randers-Pehrson

View File

@@ -2,7 +2,7 @@
<!-- <!--
* zlib.props - location of zlib source * zlib.props - location of zlib source
* *
* libpng version 1.6.2 - April 25, 2013 * libpng version 1.6.3beta06 - May 12, 2013
* *
* Copyright (c) 1998-2011 Glenn Randers-Pehrson * Copyright (c) 1998-2011 Glenn Randers-Pehrson
* *

View File

@@ -1,9 +1,9 @@
Makefiles for libpng version 1.6.2 - April 25, 2013 Makefiles for libpng version 1.6.3beta06 - May 12, 2013
pnglibconf.h.prebuilt => Stores configuration settings pnglibconf.h.prebuilt => Stores configuration settings
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile
(gcc, creates libpng16.so.16.1.6.2) (gcc, creates libpng16.so.16.1.6.3beta06)
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
@@ -20,7 +20,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 libpng16.so.16.1.6.2) (gcc, creates libpng16.so.16.1.6.3beta06)
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
@@ -35,12 +35,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 libpng16.so.16.1.6.2) creates libpng16.so.16.1.6.3beta06)
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 libpng16.so.16.1.6.2) creates libpng16.so.16.1.6.3beta06)
makefile.so9 => Solaris 9 makefile (gcc, makefile.so9 => Solaris 9 makefile (gcc,
creates libpng16.so.16.1.6.2) creates libpng16.so.16.1.6.3beta06)
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

View File

@@ -21,7 +21,7 @@ PNG_DFN "OS2 DESCRIPTION "PNG image compression library""
PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE" PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
PNG_DFN "" PNG_DFN ""
PNG_DFN "EXPORTS" PNG_DFN "EXPORTS"
PNG_DFN ";Version 1.6.2" PNG_DFN ";Version 1.6.3beta06"
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\ #define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DFN "@" SYMBOL_PREFIX "@@" name "@" PNG_DFN "@" SYMBOL_PREFIX "@@" name "@"

View File

@@ -11,7 +11,7 @@
# Modeled after libxml-config. # Modeled after libxml-config.
version=1.6.2 version=1.6.3beta06
prefix="" prefix=""
libdir="" libdir=""
libs="" libs=""

View File

@@ -5,6 +5,6 @@ includedir=@includedir@/libpng16
Name: libpng Name: libpng
Description: Loads and saves PNG files Description: Loads and saves PNG files
Version: 1.6.2 Version: 1.6.3beta06
Libs: -L${libdir} -lpng16 Libs: -L${libdir} -lpng16
Cflags: -I${includedir} Cflags: -I${includedir}

View File

@@ -23,7 +23,7 @@
VERMAJ = 1 VERMAJ = 1
VERMIN = 6 VERMIN = 6
VERMIC = 2 VERMIC = 3
VER = $(VERMAJ).$(VERMIN).$(VERMIC) VER = $(VERMAJ).$(VERMIN).$(VERMIC)
NAME = libpng NAME = libpng
PACKAGE = $(NAME)-$(VER) PACKAGE = $(NAME)-$(VER)

View File

@@ -10,7 +10,7 @@
# Library name: # Library name:
LIBNAME = libpng16 LIBNAME = libpng16
PNGMAJ = 16 PNGMAJ = 16
RELEASE = 2 RELEASE = 3
# Shared library names: # Shared library names:
LIBSO=$(LIBNAME).so LIBSO=$(LIBNAME).so

View File

@@ -18,7 +18,7 @@ exec_prefix=$(prefix)
# Library name: # Library name:
LIBNAME = libpng16 LIBNAME = libpng16
PNGMAJ = 16 PNGMAJ = 16
RELEASE = 2 RELEASE = 3
# Shared library names: # Shared library names:
LIBSO=$(LIBNAME).dll LIBSO=$(LIBNAME).dll

View File

@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng16
LIB= png16 LIB= png16
SHLIB_MAJOR= 0 SHLIB_MAJOR= 0
SHLIB_MINOR= 1.6.2 SHLIB_MINOR= 1.6.3beta06
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

View File

@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
LIB= png LIB= png
SHLIB_MAJOR= 16 SHLIB_MAJOR= 16
SHLIB_MINOR= 1.6.2 SHLIB_MINOR= 1.6.3beta06
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

View File

@@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 16 SHLIB_MAJOR= 16
SHLIB_MINOR= 1.6.2 SHLIB_MINOR= 1.6.3beta06
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 \

View File

@@ -238,6 +238,7 @@ option ARM_NEON_CHECK disabled enables ARM_NEON
setting Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION setting Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION
setting Z_DEFAULT_STRATEGY default @Z_FILTERED setting Z_DEFAULT_STRATEGY default @Z_FILTERED
setting Z_DEFAULT_NOFILTER_STRATEGY default @Z_DEFAULT_STRATEGY setting Z_DEFAULT_NOFILTER_STRATEGY default @Z_DEFAULT_STRATEGY
setting ZLIB_VERNUM default @ZLIB_VERNUM
setting TEXT_Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION setting TEXT_Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION
setting TEXT_Z_DEFAULT_STRATEGY default @Z_DEFAULT_STRATEGY setting TEXT_Z_DEFAULT_STRATEGY default @Z_DEFAULT_STRATEGY
@@ -399,7 +400,7 @@ option SAFE_LIMITS enables USER_LIMITS disabled
# to libpng 1.6; the new interfaces in 1.6 will take several years to become # to libpng 1.6; the new interfaces in 1.6 will take several years to become
# popular. # popular.
option READ enables READ_INTERLACING option READ enables READ_INTERLACING SET_OPTION
# Disabling READ_16BIT does not disable reading 16-bit PNG files, but it # Disabling READ_16BIT does not disable reading 16-bit PNG files, but it
# forces them to be chopped down to 8-bit, and disables any 16-bit # forces them to be chopped down to 8-bit, and disables any 16-bit

View File

@@ -1,8 +1,8 @@
/* libpng 1.6.2 STANDARD API DEFINITION */ /* libpng 1.6.3beta06 STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */ /* pnglibconf.h - library build configuration */
/* Libpng version 1.6.2 - April 25, 2013 */ /* Libpng version 1.6.3beta06 - May 12, 2013 */
/* Copyright (c) 1998-2013 Glenn Randers-Pehrson */ /* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
@@ -105,7 +105,7 @@
#define PNG_SETJMP_SUPPORTED #define PNG_SETJMP_SUPPORTED
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED #define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED #define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
/*#undef PNG_SET_OPTION_SUPPORTED*/ #define PNG_SET_OPTION_SUPPORTED
#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED #define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED #define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED #define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED
@@ -202,6 +202,7 @@
#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 #define PNG_TEXT_Z_DEFAULT_STRATEGY 0
#define PNG_WEIGHT_SHIFT 8 #define PNG_WEIGHT_SHIFT 8
#define PNG_ZBUF_SIZE 8192 #define PNG_ZBUF_SIZE 8192
#define PNG_ZLIB_VERNUM 0 /* unknown */
#define PNG_Z_DEFAULT_COMPRESSION (-1) #define PNG_Z_DEFAULT_COMPRESSION (-1)
#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 #define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0
#define PNG_Z_DEFAULT_STRATEGY 1 #define PNG_Z_DEFAULT_STRATEGY 1

View File

@@ -1,4 +1,4 @@
;Version 1.6.2 ;Version 1.6.3beta06
;-------------------------------------------------------------- ;--------------------------------------------------------------
; LIBPNG symbol list as a Win32 DEF file ; LIBPNG symbol list as a Win32 DEF file
; Contains all the symbols that can be exported from libpng ; Contains all the symbols that can be exported from libpng