mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Compare commits
34 Commits
libpng-1.6
...
v1.6.3beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
afd6cecb76 | ||
|
|
61dbc4c608 | ||
|
|
bea86bba24 | ||
|
|
7fc85a3f46 | ||
|
|
bb8d4f76f4 | ||
|
|
b79c98e57c | ||
|
|
4cf2465c71 | ||
|
|
4ea93e69bc | ||
|
|
ff141eb21e | ||
|
|
122bec17f2 | ||
|
|
9afb90f885 | ||
|
|
34b7d62488 | ||
|
|
3f2b5a6670 | ||
|
|
294d0b8408 | ||
|
|
62c6fbbd29 | ||
|
|
0c7ac064d3 | ||
|
|
db67cba8d4 | ||
|
|
2aa6c96e5d | ||
|
|
2fd3434fa4 | ||
|
|
2c0833e265 | ||
|
|
127b08a265 | ||
|
|
0f42908c0a | ||
|
|
f18a28cc13 | ||
|
|
56d6bc2e88 | ||
|
|
61946e0f56 | ||
|
|
49f9c24910 | ||
|
|
c62fda06a3 | ||
|
|
cd62215d61 | ||
|
|
ac09cd0fec | ||
|
|
529045cf26 | ||
|
|
7b1da52549 | ||
|
|
34d20f482f | ||
|
|
399430dac2 | ||
|
|
3f677d1c65 |
85
ANNOUNCE
85
ANNOUNCE
@@ -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
55
CHANGES
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
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.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
|
||||||
|
|||||||
15
Makefile.am
15
Makefile.am
@@ -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
2
README
@@ -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.
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
47
configure.ac
47
configure.ac
@@ -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])
|
||||||
|
|
||||||
|
# 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])
|
esac])
|
||||||
AM_CONDITIONAL([PNG_ARM_NEON], [test "${enable_arm_neon:-no}" != "no"])
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
|
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
|
||||||
|
|
||||||
|
|||||||
@@ -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')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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,6 +358,12 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
|
|||||||
|
|
||||||
alpha_present = (channels - 1) % 2;
|
alpha_present = (channels - 1) % 2;
|
||||||
|
|
||||||
|
#if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
|
||||||
|
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 is the width x number of channels x (bit-depth / 8) */
|
||||||
row_bytes = width * channels * ((bit_depth <= 8) ? 1 : 2);
|
row_bytes = width * channels * ((bit_depth <= 8) ? 1 : 2);
|
||||||
|
|
||||||
@@ -353,6 +374,14 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
|
|||||||
pix_ptr = png_pixels;
|
pix_ptr = png_pixels;
|
||||||
|
|
||||||
for (row = 0; row < height; row++)
|
for (row = 0; row < height; row++)
|
||||||
|
{
|
||||||
|
#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 (col = 0; col < width; col++)
|
for (col = 0; col < width; col++)
|
||||||
{
|
{
|
||||||
@@ -387,7 +416,7 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace,
|
|||||||
*pix_ptr++ = (png_byte) (tmp16 & 0xFF);
|
*pix_ptr++ = (png_byte) (tmp16 & 0xFF);
|
||||||
}
|
}
|
||||||
} /* if alpha */
|
} /* 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] != ' '));
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
1261
contrib/tools/png-fix-too-far-back.c
Normal file
1261
contrib/tools/png-fix-too-far-back.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||||
|
|||||||
90
libpng.3
90
libpng.3
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
2
png.5
@@ -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
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_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
28
png.h
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.6.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 */
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
18
pngpriv.h
18
pngpriv.h
@@ -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:
|
||||||
*/
|
*/
|
||||||
|
|||||||
47
pngrutil.c
47
pngrutil.c
@@ -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 */
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
17
pngwrite.c
17
pngwrite.c
@@ -494,15 +494,16 @@ 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
|
/* Set the zlib control values to defaults; they can be overridden by the
|
||||||
* application after the struct has been created.
|
* application after the struct has been created.
|
||||||
*/
|
*/
|
||||||
png_ptr->zbuffer_size = PNG_ZBUF_SIZE;
|
png_ptr->zbuffer_size = PNG_ZBUF_SIZE;
|
||||||
|
|
||||||
/* The 'zlib_strategy' setting is irrelevant because png_default_claim in
|
/* The 'zlib_strategy' setting is irrelevant because png_default_claim in
|
||||||
* pngwutil.c defaults it according to whether or not filters will be used,
|
* pngwutil.c defaults it according to whether or not filters will be
|
||||||
* and ignores this setting.
|
* used, and ignores this setting.
|
||||||
*/
|
*/
|
||||||
png_ptr->zlib_strategy = PNG_Z_DEFAULT_STRATEGY;
|
png_ptr->zlib_strategy = PNG_Z_DEFAULT_STRATEGY;
|
||||||
png_ptr->zlib_level = PNG_Z_DEFAULT_COMPRESSION;
|
png_ptr->zlib_level = PNG_Z_DEFAULT_COMPRESSION;
|
||||||
@@ -518,10 +519,10 @@ png_create_write_struct_2,(png_const_charp user_png_ver, png_voidp error_ptr,
|
|||||||
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;
|
||||||
@@ -537,8 +538,6 @@ png_create_write_struct_2,(png_const_charp user_png_ver, png_voidp error_ptr,
|
|||||||
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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 "@"
|
||||||
|
|||||||
@@ -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=""
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user