mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Compare commits
33 Commits
v1.4.1beta
...
v1.4.1beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13714e87f2 | ||
|
|
9101d75316 | ||
|
|
233edbf415 | ||
|
|
bd209f75fa | ||
|
|
27854a478e | ||
|
|
f12a87a96c | ||
|
|
cb4358ddbb | ||
|
|
c4819d78ba | ||
|
|
0b721cd4c4 | ||
|
|
b025757328 | ||
|
|
4bd73b6947 | ||
|
|
f3c42680db | ||
|
|
c10066205d | ||
|
|
21b7aaa428 | ||
|
|
d7225fdfce | ||
|
|
deb870c77d | ||
|
|
c05538959b | ||
|
|
f6c761dda1 | ||
|
|
877b08d6d2 | ||
|
|
a69064328b | ||
|
|
01b9566e50 | ||
|
|
ca3a100be6 | ||
|
|
1655e4ddb0 | ||
|
|
526f839764 | ||
|
|
1a86bd2a09 | ||
|
|
610e7b5bd6 | ||
|
|
86f6c04d84 | ||
|
|
fb3a1da4bb | ||
|
|
525efcbb7b | ||
|
|
ea4340e1ec | ||
|
|
91f3864fbd | ||
|
|
14fa704caf | ||
|
|
ad1f8180a5 |
58
ANNOUNCE
58
ANNOUNCE
@@ -1,5 +1,5 @@
|
||||
|
||||
Libpng 1.4.1beta01 - January 8, 2010
|
||||
Libpng 1.4.1beta10 - February 8, 2010
|
||||
|
||||
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.
|
||||
@@ -9,24 +9,24 @@ Files available for download:
|
||||
Source files with LF line endings (for Unix/Linux) and with a
|
||||
"configure" script
|
||||
|
||||
1.4.1beta01.tar.xz (LZMA-compressed, recommended)
|
||||
1.4.1beta01.tar.gz
|
||||
1.4.1beta01.tar.bz2
|
||||
1.4.1beta10.tar.xz (LZMA-compressed, recommended)
|
||||
1.4.1beta10.tar.gz
|
||||
1.4.1beta10.tar.bz2
|
||||
|
||||
Source files with CRLF line endings (for Windows), without the
|
||||
"configure" script
|
||||
|
||||
lp141b01.zip
|
||||
lp141b01.7z
|
||||
lp141b10.zip
|
||||
lp141b10.7z
|
||||
|
||||
Other information:
|
||||
|
||||
1.4.1beta01-README.txt
|
||||
1.4.1beta01-LICENSE.txt
|
||||
1.4.1beta10-README.txt
|
||||
1.4.1beta10-LICENSE.txt
|
||||
|
||||
Changes since the last public release (1.4.0):
|
||||
|
||||
version 1.4.1beta01 [January 8, 2010]
|
||||
version 1.4.1beta01 [January 10, 2010]
|
||||
Updated CMakeLists.txt for consistent indentation and to avoid an
|
||||
unclosed if-statement warning (Philip Lowman).
|
||||
Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
|
||||
@@ -35,6 +35,46 @@ version 1.4.1beta01 [January 8, 2010]
|
||||
links as configure, except for libpng.la and libpng14.la.
|
||||
Make png_set|get_compression_buffer_size() available even when
|
||||
PNG_WRITE_SUPPORTED is not enabled.
|
||||
Revised Makefile.am and Makefile.in to simplify their maintenance.
|
||||
Revised scripts/makefile.linux to install a link to libpng14.so.14.1
|
||||
|
||||
version 1.4.1beta02 [January 9, 2010]
|
||||
Revised the rest of the makefiles to install a link to libpng14.so.14.1
|
||||
|
||||
version 1.4.1beta03 [January 10, 2010]
|
||||
Removed png_set_premultiply_alpha() from scripts/*.def
|
||||
|
||||
version 1.4.1rc01 [January 16, 2010]
|
||||
No changes.
|
||||
|
||||
version 1.4.1beta04 [January 23, 2010]
|
||||
Revised png_decompress_chunk() to improve speed and memory usage when
|
||||
decoding large chunks.
|
||||
Added png_set|get_chunk_malloc_max() functions.
|
||||
|
||||
version 1.4.1beta05 [January 26, 2010]
|
||||
Relocated "int k" declaration in pngtest.c to minimize its scope.
|
||||
|
||||
version 1.4.1beta06 [January 28, 2010]
|
||||
Revised png_decompress_chunk() to use a two-pass method suggested by
|
||||
John Bowler.
|
||||
|
||||
version 1.4.1beta07 [February 6, 2010]
|
||||
Folded some long lines in the source files.
|
||||
Added defineable PNG_USER_CHUNK_CACHE_MAX and PNG_USER_CHUNK_MALLOC_MAX
|
||||
Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
|
||||
png_ptr->png_user_chunk_malloc_max.
|
||||
Revised png_push_save_buffer() to do fewer but larger png_malloc() calls.
|
||||
|
||||
version 1.4.1beta08 [February 6, 2010]
|
||||
Minor cleanup and updating of dates and copyright year.
|
||||
|
||||
version 1.4.1beta09 [February 7, 2010]
|
||||
Reverted to original png_push_save_buffer() code.
|
||||
|
||||
version 1.4.1beta10 [February 8, 2010]
|
||||
Return allocated "old_buffer" in png_push_save_buffer() before calling
|
||||
png_error(), to avoid a potential memory leak.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
41
CHANGES
41
CHANGES
@@ -2467,6 +2467,47 @@ version 1.4.1beta01 [January 8, 2010]
|
||||
links as configure, except for libpng.la and libpng14.la.
|
||||
Make png_set|get_compression_buffer_size() available even when
|
||||
PNG_WRITE_SUPPORTED is not enabled.
|
||||
Revised Makefile.am and Makefile.in to simplify their maintenance.
|
||||
Revised scripts/makefile.linux to install a link to libpng14.so.14.1
|
||||
|
||||
version 1.4.1beta02 [January 9, 2010]
|
||||
Revised the rest of the makefiles to install a link to libpng14.so.14.1
|
||||
|
||||
version 1.4.1beta03 [January 10, 2010]
|
||||
Removed png_set_premultiply_alpha() from scripts/*.def
|
||||
|
||||
version 1.4.1rc01 [January 16, 2010]
|
||||
No changes.
|
||||
|
||||
version 1.4.1beta04 [January 23, 2010]
|
||||
Revised png_decompress_chunk() to improve speed and memory usage when
|
||||
decoding large chunks.
|
||||
Added png_set|get_chunk_malloc_max() functions.
|
||||
|
||||
version 1.4.1beta05 [January 26, 2010]
|
||||
Relocated "int k" declaration in pngtest.c to minimize its scope.
|
||||
|
||||
version 1.4.1beta06 [January 28, 2010]
|
||||
Revised png_decompress_chunk() to use a two-pass method suggested by
|
||||
John Bowler.
|
||||
|
||||
version 1.4.1beta07 [February 6, 2010]
|
||||
Folded some long lines in the source files.
|
||||
Added defineable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
|
||||
and a PNG_USER_LIMITS_SUPPORTED flag.
|
||||
Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
|
||||
png_ptr->png_user_chunk_malloc_max.
|
||||
Revised png_push_save_buffer() to do fewer but larger png_malloc() calls.
|
||||
|
||||
version 1.4.1beta08 [February 6, 2010]
|
||||
Minor cleanup and updating of dates and copyright year.
|
||||
|
||||
version 1.4.1beta09 [February 7, 2010]
|
||||
Reverted to original png_push_save_buffer() code.
|
||||
|
||||
version 1.4.1beta10 [February 8, 2010]
|
||||
Return allocated "old_buffer" in png_push_save_buffer() before calling
|
||||
png_error(), to avoid a potential memory leak.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
@@ -209,7 +209,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
|
||||
# SET UP LINKS
|
||||
if(PNG_SHARED)
|
||||
set_target_properties(${PNG_LIB_NAME} PROPERTIES
|
||||
# VERSION 14.${PNGLIB_RELEASE}.1.4.1beta01
|
||||
# VERSION 14.${PNGLIB_RELEASE}.1.4.1beta10
|
||||
VERSION 14.${PNGLIB_RELEASE}.0
|
||||
SOVERSION 14
|
||||
CLEAN_DIRECT_OUTPUT 1)
|
||||
|
||||
4
INSTALL
4
INSTALL
@@ -1,5 +1,5 @@
|
||||
|
||||
Installing libpng version 1.4.1beta01 - January 8, 2010
|
||||
Installing libpng version 1.4.1beta10 - February 8, 2010
|
||||
|
||||
On Unix/Linux and similar systems, you can simply type
|
||||
|
||||
@@ -46,7 +46,7 @@ to have access to the zlib.h and zconf.h include files that
|
||||
correspond to the version of zlib that's installed.
|
||||
|
||||
You can rename the directories that you downloaded (they
|
||||
might be called "libpng-1.4.1beta01" or "libpng14" and "zlib-1.2.3"
|
||||
might be called "libpng-1.4.1beta10" or "libpng14" and "zlib-1.2.3"
|
||||
or "zlib123") so that you have directories called "zlib" and "libpng".
|
||||
|
||||
Your directory structure should look like this:
|
||||
|
||||
4
LICENSE
4
LICENSE
@@ -10,7 +10,7 @@ this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.1beta01, January 8, 2010, are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.1beta10, February 8, 2010, are
|
||||
Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
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
|
||||
glennrp at users.sourceforge.net
|
||||
January 8, 2010
|
||||
February 8, 2010
|
||||
|
||||
@@ -73,7 +73,7 @@ EXTRA_DIST= \
|
||||
${srcdir}/contrib/pngsuite/* \
|
||||
${srcdir}/contrib/visupng/* \
|
||||
$(TESTS) \
|
||||
example.c libpng-1.4.1beta01.txt
|
||||
example.c libpng-1.4.1beta10.txt
|
||||
|
||||
CLEANFILES= pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \
|
||||
libpng.sym
|
||||
|
||||
@@ -333,7 +333,7 @@ EXTRA_DIST = \
|
||||
${srcdir}/contrib/pngsuite/* \
|
||||
${srcdir}/contrib/visupng/* \
|
||||
$(TESTS) \
|
||||
example.c libpng-1.4.1beta01.txt
|
||||
example.c libpng-1.4.1beta10.txt
|
||||
|
||||
CLEANFILES = pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \
|
||||
libpng.sym
|
||||
|
||||
12
README
12
README
@@ -1,4 +1,4 @@
|
||||
README for libpng version 1.4.1beta01 - January 8, 2010 (shared library 14.0)
|
||||
README for libpng version 1.4.1beta10 - February 8, 2010 (shared library 14.0)
|
||||
See the note about version numbers near the top of png.h
|
||||
|
||||
See INSTALL for instructions on how to install libpng.
|
||||
@@ -185,9 +185,9 @@ Files in this distribution:
|
||||
makefile.std => Generic UNIX makefile (cc, creates static
|
||||
libpng.a)
|
||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||
gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
(gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
ansi2knr (Requires ansi2knr.c from
|
||||
@@ -209,12 +209,12 @@ Files in this distribution:
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics
|
||||
(gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
(gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.solaris => Solaris 2.X makefile
|
||||
(gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
(gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.so9 => Solaris 9 makefile
|
||||
(gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
(gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||
makefile.64sunu => Sun Ultra 64-bit makefile
|
||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||
|
||||
22
configure
vendored
22
configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.65 for libpng 1.4.1beta01.
|
||||
# Generated by GNU Autoconf 2.65 for libpng 1.4.1beta10.
|
||||
#
|
||||
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
|
||||
#
|
||||
@@ -701,8 +701,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='libpng'
|
||||
PACKAGE_TARNAME='libpng'
|
||||
PACKAGE_VERSION='1.4.1beta01'
|
||||
PACKAGE_STRING='libpng 1.4.1beta01'
|
||||
PACKAGE_VERSION='1.4.1beta10'
|
||||
PACKAGE_STRING='libpng 1.4.1beta10'
|
||||
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1432,7 +1432,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures libpng 1.4.1beta01 to adapt to many kinds of systems.
|
||||
\`configure' configures libpng 1.4.1beta10 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1502,7 +1502,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of libpng 1.4.1beta01:";;
|
||||
short | recursive ) echo "Configuration of libpng 1.4.1beta10:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1607,7 +1607,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libpng configure 1.4.1beta01
|
||||
libpng configure 1.4.1beta10
|
||||
generated by GNU Autoconf 2.65
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
@@ -2032,7 +2032,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libpng $as_me 1.4.1beta01, which was
|
||||
It was created by libpng $as_me 1.4.1beta10, which was
|
||||
generated by GNU Autoconf 2.65. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2840,7 +2840,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libpng'
|
||||
VERSION='1.4.1beta01'
|
||||
VERSION='1.4.1beta10'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -2904,7 +2904,7 @@ fi
|
||||
|
||||
|
||||
|
||||
PNGLIB_VERSION=1.4.1beta01
|
||||
PNGLIB_VERSION=1.4.1beta10
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=4
|
||||
PNGLIB_RELEASE=1
|
||||
@@ -12027,7 +12027,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libpng $as_me 1.4.1beta01, which was
|
||||
This file was extended by libpng $as_me 1.4.1beta10, which was
|
||||
generated by GNU Autoconf 2.65. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -12093,7 +12093,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
libpng config.status 1.4.1beta01
|
||||
libpng config.status 1.4.1beta10
|
||||
configured by $0, generated by GNU Autoconf 2.65,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ AC_PREREQ(2.59)
|
||||
|
||||
dnl Version number stuff here:
|
||||
|
||||
AC_INIT([libpng], [1.4.1beta01], [png-mng-implement@lists.sourceforge.net])
|
||||
AC_INIT([libpng], [1.4.1beta10], [png-mng-implement@lists.sourceforge.net])
|
||||
AM_INIT_AUTOMAKE
|
||||
dnl stop configure from automagically running automake
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
PNGLIB_VERSION=1.4.1beta01
|
||||
PNGLIB_VERSION=1.4.1beta10
|
||||
PNGLIB_MAJOR=1
|
||||
PNGLIB_MINOR=4
|
||||
PNGLIB_RELEASE=1
|
||||
|
||||
@@ -69,5 +69,7 @@
|
||||
#define PNG_NO_ERROR_NUMBERS
|
||||
#define PNG_NO_EASY_ACCESS
|
||||
#define PNG_NO_PROGRESSIVE_READ
|
||||
#define PNG_NO_USER_LIMITS
|
||||
#define PNG_NO_SET_USER_LIMITS
|
||||
|
||||
#endif /* MINRDPNGCONF_H */
|
||||
|
||||
@@ -67,5 +67,7 @@
|
||||
#define PNG_NO_ZALLOC_ZERO
|
||||
#define PNG_NO_ERROR_NUMBERS
|
||||
#define PNG_NO_EASY_ACCESS
|
||||
#define PNG_NO_USER_LIMITS
|
||||
#define PNG_NO_SET_USER_LIMITS
|
||||
|
||||
#endif /* MINWRPNGCONF_H */
|
||||
|
||||
@@ -59,5 +59,7 @@
|
||||
#define PNG_NO_ZALLOC_ZERO
|
||||
#define PNG_NO_ERROR_NUMBERS
|
||||
#define PNG_NO_EASY_ACCESS
|
||||
#define PNG_NO_USER_LIMITS
|
||||
#define PNG_NO_SET_USER_LIMITS
|
||||
|
||||
#endif /* MINPRDPNGCONF_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.4.1beta01 - January 8, 2010
|
||||
libpng version 1.4.1beta10 - February 8, 2010
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||
@@ -11,7 +11,7 @@ libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.4.1beta01 - January 8, 2010
|
||||
libpng versions 0.97, January 1998, through 1.4.1beta10 - February 8, 2010
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||
|
||||
@@ -432,6 +432,18 @@ where 0x7fffffffL means unlimited. You can retrieve this limit with
|
||||
This limit also applies to the number of buffers that can be allocated
|
||||
by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks.
|
||||
|
||||
You can also set a limit on the amount of memory that a compressed chunk
|
||||
other than IDAT can occupy, with
|
||||
|
||||
png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max);
|
||||
|
||||
and you can retrieve the limit with
|
||||
|
||||
chunk_malloc_max = png_get_chunk_malloc_max(png_ptr);
|
||||
|
||||
Any chunks that would cause either of these limits to be exceeded will
|
||||
be ignored.
|
||||
|
||||
The high-level read interface
|
||||
|
||||
At this point there are two ways to proceed; through the high-level
|
||||
@@ -887,7 +899,7 @@ things.
|
||||
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
|
||||
added. It expands the sample depth without changing tRNS to alpha.
|
||||
|
||||
As of libpng version 1.4.1beta01, not all possible expansions are supported.
|
||||
As of libpng version 1.4.1beta10, not all possible expansions are supported.
|
||||
|
||||
In the following table, the 01 means grayscale with depth<8, 31 means
|
||||
indexed with depth<8, other numerals represent the color type, "T" means
|
||||
@@ -2488,7 +2500,7 @@ via
|
||||
Your replacement memory functions must have prototypes as follows:
|
||||
|
||||
png_voidp malloc_fn(png_structp png_ptr,
|
||||
png_size_t size);
|
||||
png_alloc_size_t size);
|
||||
void free_fn(png_structp png_ptr, png_voidp ptr);
|
||||
|
||||
Your malloc_fn() must return NULL in case of failure. The png_malloc()
|
||||
@@ -3072,6 +3084,8 @@ We changed the prototype for png_malloc() from
|
||||
to
|
||||
png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
|
||||
This also applies to the prototype for the user replacement malloc_fn().
|
||||
|
||||
The png_calloc() function was added and is used in place of
|
||||
of "png_malloc(); png_memset();" except in the case in png_read_png()
|
||||
where the array consists of pointers; in this case a "for" loop is used
|
||||
@@ -3231,13 +3245,13 @@ Other rules can be inferred by inspecting the libpng source.
|
||||
|
||||
XIII. Y2K Compliance in libpng
|
||||
|
||||
January 8, 2010
|
||||
February 8, 2010
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.4.1beta01 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.4.1beta10 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
47
libpng.3
47
libpng.3
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "January 8, 2010"
|
||||
.TH LIBPNG 3 "February 8, 2010"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta01
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta10
|
||||
.SH SYNOPSIS
|
||||
\fI\fB
|
||||
|
||||
@@ -192,6 +192,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta01
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_alloc_size_t png_get_chunk_malloc_max (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBpng_voidp png_get_mem_ptr(png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -538,6 +542,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta01
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_chunk_malloc_max (png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIuser_chunk_cache_max\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_mem_fn(png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fImem_ptr\fP\fB, png_malloc_ptr \fP\fImalloc_fn\fP\fB, png_free_ptr \fIfree_fn\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@@ -777,7 +785,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
|
||||
.SH LIBPNG.TXT
|
||||
libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.4.1beta01 - January 8, 2010
|
||||
libpng version 1.4.1beta10 - February 8, 2010
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||
@@ -788,7 +796,7 @@ libpng.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.4.1beta01 - January 8, 2010
|
||||
libpng versions 0.97, January 1998, through 1.4.1beta10 - February 8, 2010
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||
|
||||
@@ -1209,6 +1217,18 @@ where 0x7fffffffL means unlimited. You can retrieve this limit with
|
||||
This limit also applies to the number of buffers that can be allocated
|
||||
by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks.
|
||||
|
||||
You can also set a limit on the amount of memory that a compressed chunk
|
||||
other than IDAT can occupy, with
|
||||
|
||||
png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max);
|
||||
|
||||
and you can retrieve the limit with
|
||||
|
||||
chunk_malloc_max = png_get_chunk_malloc_max(png_ptr);
|
||||
|
||||
Any chunks that would cause either of these limits to be exceeded will
|
||||
be ignored.
|
||||
|
||||
.SS The high-level read interface
|
||||
|
||||
At this point there are two ways to proceed; through the high-level
|
||||
@@ -1664,7 +1684,7 @@ things.
|
||||
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
|
||||
added. It expands the sample depth without changing tRNS to alpha.
|
||||
|
||||
As of libpng version 1.4.1beta01, not all possible expansions are supported.
|
||||
As of libpng version 1.4.1beta10, not all possible expansions are supported.
|
||||
|
||||
In the following table, the 01 means grayscale with depth<8, 31 means
|
||||
indexed with depth<8, other numerals represent the color type, "T" means
|
||||
@@ -3265,7 +3285,7 @@ via
|
||||
Your replacement memory functions must have prototypes as follows:
|
||||
|
||||
png_voidp malloc_fn(png_structp png_ptr,
|
||||
png_size_t size);
|
||||
png_alloc_size_t size);
|
||||
void free_fn(png_structp png_ptr, png_voidp ptr);
|
||||
|
||||
Your malloc_fn() must return NULL in case of failure. The png_malloc()
|
||||
@@ -3849,6 +3869,8 @@ We changed the prototype for png_malloc() from
|
||||
to
|
||||
png_malloc(png_structp png_ptr, png_alloc_size_t size)
|
||||
|
||||
This also applies to the prototype for the user replacement malloc_fn().
|
||||
|
||||
The png_calloc() function was added and is used in place of
|
||||
of "png_malloc(); png_memset();" except in the case in png_read_png()
|
||||
where the array consists of pointers; in this case a "for" loop is used
|
||||
@@ -4008,13 +4030,13 @@ Other rules can be inferred by inspecting the libpng source.
|
||||
|
||||
.SH XIII. Y2K Compliance in libpng
|
||||
|
||||
January 8, 2010
|
||||
February 8, 2010
|
||||
|
||||
Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.4.1beta01 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.4.1beta10 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
@@ -4187,6 +4209,9 @@ the first widely used release:
|
||||
1.4.0beta88-109 14 10400 14.so.14.0[.0]
|
||||
1.4.0rc02-08 14 10400 14.so.14.0[.0]
|
||||
1.4.0 14 10400 14.so.14.0[.0]
|
||||
1.4.1beta01-03 14 10401 14.so.14.1[.0]
|
||||
1.4.1rc01 14 10401 14.so.14.1[.0]
|
||||
1.4.1beta04-09 14 10401 14.so.14.1[.0]
|
||||
|
||||
Henceforth the source version will match the shared-library minor
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@@ -4242,7 +4267,7 @@ possible without all of you.
|
||||
|
||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||
|
||||
Libpng version 1.4.1beta01 - January 8, 2010:
|
||||
Libpng version 1.4.1beta10 - February 8, 2010:
|
||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||
|
||||
@@ -4265,7 +4290,7 @@ this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.1beta01, January 8, 2010, are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.4.1beta10, February 8, 2010, are
|
||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
@@ -4364,7 +4389,7 @@ certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
January 8, 2010
|
||||
February 8, 2010
|
||||
|
||||
.\" end of man page
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.TH LIBPNGPF 3 "January 8, 2010"
|
||||
.TH LIBPNGPF 3 "February 8, 2010"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta01
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.4.1beta10
|
||||
(private functions)
|
||||
.SH SYNOPSIS
|
||||
\fB#include <png.h>\fP
|
||||
|
||||
2
png.5
2
png.5
@@ -1,4 +1,4 @@
|
||||
.TH PNG 5 "January 8, 2010"
|
||||
.TH PNG 5 "February 8, 2010"
|
||||
.SH NAME
|
||||
png \- Portable Network Graphics (PNG) format
|
||||
.SH DESCRIPTION
|
||||
|
||||
8
png.c
8
png.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* png.c - location for general purpose libpng functions
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_4_1beta01 Your_png_h_is_not_version_1_4_1beta01;
|
||||
typedef version_1_4_1beta10 Your_png_h_is_not_version_1_4_1beta10;
|
||||
|
||||
/* Version information for C files. This had better match the version
|
||||
* string defined in png.h.
|
||||
@@ -551,13 +551,13 @@ png_get_copyright(png_structp png_ptr)
|
||||
#else
|
||||
#ifdef __STDC__
|
||||
return ((png_charp) PNG_STRING_NEWLINE \
|
||||
"libpng version 1.4.1beta01 - January 8, 2010" PNG_STRING_NEWLINE \
|
||||
"libpng version 1.4.1beta10 - February 8, 2010" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||
PNG_STRING_NEWLINE);
|
||||
#else
|
||||
return ((png_charp) "libpng version 1.4.1beta01 - January 8, 2010\
|
||||
return ((png_charp) "libpng version 1.4.1beta10 - February 8, 2010\
|
||||
Copyright (c) 1998-2010 Glenn Randers-Pehrson\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.");
|
||||
|
||||
430
png.h
430
png.h
@@ -1,7 +1,7 @@
|
||||
|
||||
/* png.h - header file for PNG reference library
|
||||
*
|
||||
* libpng version 1.4.1beta01 - January 8, 2010
|
||||
* libpng version 1.4.1beta10 - February 8, 2010
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -11,7 +11,7 @@
|
||||
* Authors and maintainers:
|
||||
* 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.97, January 1998, through 1.4.1beta01 - January 8, 2010: Glenn
|
||||
* libpng versions 0.97, January 1998, through 1.4.1beta10 - February 8, 2010: Glenn
|
||||
* See also "Contributing Authors", below.
|
||||
*
|
||||
* Note about libpng version numbers:
|
||||
@@ -134,6 +134,9 @@
|
||||
* 1.4.0beta88-109 14 10400 14.so.14.0[.0]
|
||||
* 1.4.0rc02-08 14 10400 14.so.14.0[.0]
|
||||
* 1.4.0 14 10400 14.so.14.0[.0]
|
||||
* 1.4.1beta01-03 14 10401 14.so.14.1[.0]
|
||||
* 1.4.1rc01 14 10401 14.so.14.1[.0]
|
||||
* 1.4.1beta04-09 14 10401 14.so.14.1[.0]
|
||||
*
|
||||
* Henceforth the source version will match the shared-library major
|
||||
* and minor numbers; the shared-library major version number will be
|
||||
@@ -165,7 +168,7 @@
|
||||
*
|
||||
* This code is released under the libpng license.
|
||||
*
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.4.1beta01, January 8, 2010, are
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.4.1beta10, February 8, 2010, are
|
||||
* Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are
|
||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
* with the following individual added to the list of Contributing Authors:
|
||||
@@ -277,13 +280,13 @@
|
||||
* Y2K compliance in libpng:
|
||||
* =========================
|
||||
*
|
||||
* January 8, 2010
|
||||
* February 8, 2010
|
||||
*
|
||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||
* an official declaration.
|
||||
*
|
||||
* This is your unofficial assurance that libpng from version 0.71 and
|
||||
* upward through 1.4.1beta01 are Y2K compliant. It is my belief that earlier
|
||||
* upward through 1.4.1beta10 are Y2K compliant. It is my belief that earlier
|
||||
* versions were also Y2K compliant.
|
||||
*
|
||||
* Libpng only has three year fields. One is a 2-byte unsigned integer
|
||||
@@ -339,9 +342,9 @@
|
||||
*/
|
||||
|
||||
/* Version information for png.h - this should match the version in png.c */
|
||||
#define PNG_LIBPNG_VER_STRING "1.4.1beta01"
|
||||
#define PNG_LIBPNG_VER_STRING "1.4.1beta10"
|
||||
#define PNG_HEADER_VERSION_STRING \
|
||||
" libpng version 1.4.1beta01 - January 8, 2010\n"
|
||||
" libpng version 1.4.1beta10 - February 8, 2010\n"
|
||||
|
||||
#define PNG_LIBPNG_VER_SONUM 14
|
||||
#define PNG_LIBPNG_VER_DLLNUM 14
|
||||
@@ -354,7 +357,7 @@
|
||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||
*/
|
||||
|
||||
#define PNG_LIBPNG_VER_BUILD 01
|
||||
#define PNG_LIBPNG_VER_BUILD 10
|
||||
|
||||
/* Release Status */
|
||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||
@@ -629,25 +632,38 @@ typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp;
|
||||
typedef struct png_info_struct
|
||||
{
|
||||
/* the following are necessary for every PNG file */
|
||||
png_uint_32 width PNG_DEPSTRUCT; /* width of image in pixels (from IHDR) */
|
||||
png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels (from IHDR) */
|
||||
png_uint_32 valid PNG_DEPSTRUCT; /* valid chunk data (see PNG_INFO_ below) */
|
||||
png_size_t rowbytes PNG_DEPSTRUCT; /* bytes needed to hold an untransformed row */
|
||||
png_colorp palette PNG_DEPSTRUCT; /* array of color values (valid & PNG_INFO_PLTE) */
|
||||
png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in "palette" (PLTE) */
|
||||
png_uint_16 num_trans PNG_DEPSTRUCT; /* number of transparent palette color (tRNS) */
|
||||
png_byte bit_depth PNG_DEPSTRUCT; /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */
|
||||
png_byte color_type PNG_DEPSTRUCT; /* see PNG_COLOR_TYPE_ below (from IHDR) */
|
||||
png_uint_32 width PNG_DEPSTRUCT; /* width of image in pixels (from IHDR) */
|
||||
png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels (from IHDR) */
|
||||
png_uint_32 valid PNG_DEPSTRUCT; /* valid chunk data (see PNG_INFO_
|
||||
below) */
|
||||
png_size_t rowbytes PNG_DEPSTRUCT; /* bytes needed to hold an untransformed
|
||||
row */
|
||||
png_colorp palette PNG_DEPSTRUCT; /* array of color values
|
||||
(valid & PNG_INFO_PLTE) */
|
||||
png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in
|
||||
"palette" (PLTE) */
|
||||
png_uint_16 num_trans PNG_DEPSTRUCT; /* number of transparent palette
|
||||
color (tRNS) */
|
||||
png_byte bit_depth PNG_DEPSTRUCT; /* 1, 2, 4, 8, or 16 bits/channel
|
||||
(from IHDR) */
|
||||
png_byte color_type PNG_DEPSTRUCT; /* see PNG_COLOR_TYPE_ below
|
||||
(from IHDR) */
|
||||
/* The following three should have been named *_method not *_type */
|
||||
png_byte compression_type PNG_DEPSTRUCT; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */
|
||||
png_byte filter_type PNG_DEPSTRUCT; /* must be PNG_FILTER_TYPE_BASE (from IHDR) */
|
||||
png_byte interlace_type PNG_DEPSTRUCT; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
|
||||
png_byte compression_type PNG_DEPSTRUCT; /* must be
|
||||
PNG_COMPRESSION_TYPE_BASE (IHDR) */
|
||||
png_byte filter_type PNG_DEPSTRUCT; /* must be PNG_FILTER_TYPE_BASE
|
||||
(from IHDR) */
|
||||
png_byte interlace_type PNG_DEPSTRUCT; /* One of PNG_INTERLACE_NONE,
|
||||
PNG_INTERLACE_ADAM7 */
|
||||
|
||||
/* The following is informational only on read, and not used on writes. */
|
||||
png_byte channels PNG_DEPSTRUCT; /* number of data channels per pixel (1, 2, 3, 4) */
|
||||
png_byte channels PNG_DEPSTRUCT; /* number of data channels per
|
||||
pixel (1, 2, 3, 4) */
|
||||
png_byte pixel_depth PNG_DEPSTRUCT; /* number of bits per pixel */
|
||||
png_byte spare_byte PNG_DEPSTRUCT; /* to align the data, and for future use */
|
||||
png_byte signature[8] PNG_DEPSTRUCT; /* magic bytes read by libpng from start of file */
|
||||
png_byte spare_byte PNG_DEPSTRUCT; /* to align the data, and for
|
||||
future use */
|
||||
png_byte signature[8] PNG_DEPSTRUCT; /* magic bytes read by libpng
|
||||
from start of file */
|
||||
|
||||
/* The rest of the data is optional. If you are reading, check the
|
||||
* valid field to see if the information in these are valid. If you
|
||||
@@ -660,13 +676,15 @@ typedef struct png_info_struct
|
||||
* on which the image was created, normally in the range [1.0, 2.5].
|
||||
* Data is valid if (valid & PNG_INFO_gAMA) is non-zero.
|
||||
*/
|
||||
float gamma PNG_DEPSTRUCT; /* gamma value of image, if (valid & PNG_INFO_gAMA) */
|
||||
float gamma PNG_DEPSTRUCT; /* gamma value of image,
|
||||
if (valid & PNG_INFO_gAMA) */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_sRGB_SUPPORTED
|
||||
/* GR-P, 0.96a */
|
||||
/* Data valid if (valid & PNG_INFO_sRGB) non-zero. */
|
||||
png_byte srgb_intent PNG_DEPSTRUCT; /* sRGB rendering intent [0, 1, 2, or 3] */
|
||||
png_byte srgb_intent PNG_DEPSTRUCT; /* sRGB rendering intent
|
||||
[0, 1, 2, or 3] */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_TEXT_SUPPORTED
|
||||
@@ -711,8 +729,10 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
* single color specified that should be treated as fully transparent.
|
||||
* Data is valid if (valid & PNG_INFO_tRNS) is non-zero.
|
||||
*/
|
||||
png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for paletted image */
|
||||
png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for non-palette image */
|
||||
png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for paletted
|
||||
image */
|
||||
png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for
|
||||
non-palette image */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
@@ -743,7 +763,8 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
*/
|
||||
png_uint_32 x_pixels_per_unit PNG_DEPSTRUCT; /* horizontal pixel density */
|
||||
png_uint_32 y_pixels_per_unit PNG_DEPSTRUCT; /* vertical pixel density */
|
||||
png_byte phys_unit_type PNG_DEPSTRUCT; /* resolution type (see PNG_RESOLUTION_ below) */
|
||||
png_byte phys_unit_type PNG_DEPSTRUCT; /* resolution type (see
|
||||
PNG_RESOLUTION_ below) */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_hIST_SUPPORTED
|
||||
@@ -790,14 +811,19 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
png_charp pcal_purpose PNG_DEPSTRUCT; /* pCAL chunk description string */
|
||||
png_int_32 pcal_X0 PNG_DEPSTRUCT; /* minimum value */
|
||||
png_int_32 pcal_X1 PNG_DEPSTRUCT; /* maximum value */
|
||||
png_charp pcal_units PNG_DEPSTRUCT; /* Latin-1 string giving physical units */
|
||||
png_charpp pcal_params PNG_DEPSTRUCT; /* ASCII strings containing parameter values */
|
||||
png_byte pcal_type PNG_DEPSTRUCT; /* equation type (see PNG_EQUATION_ below) */
|
||||
png_byte pcal_nparams PNG_DEPSTRUCT; /* number of parameters given in pcal_params */
|
||||
png_charp pcal_units PNG_DEPSTRUCT; /* Latin-1 string giving physical
|
||||
units */
|
||||
png_charpp pcal_params PNG_DEPSTRUCT; /* ASCII strings containing
|
||||
parameter values */
|
||||
png_byte pcal_type PNG_DEPSTRUCT; /* equation type
|
||||
(see PNG_EQUATION_ below) */
|
||||
png_byte pcal_nparams PNG_DEPSTRUCT; /* number of parameters given
|
||||
in pcal_params */
|
||||
#endif
|
||||
|
||||
/* New members added in libpng-1.0.6 */
|
||||
png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is responsible for freeing */
|
||||
png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is
|
||||
responsible for freeing */
|
||||
|
||||
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \
|
||||
defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
|
||||
@@ -809,7 +835,8 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
#ifdef PNG_iCCP_SUPPORTED
|
||||
/* iCCP chunk data. */
|
||||
png_charp iccp_name PNG_DEPSTRUCT; /* profile name */
|
||||
png_charp iccp_profile PNG_DEPSTRUCT; /* International Color Consortium profile data */
|
||||
png_charp iccp_profile PNG_DEPSTRUCT; /* International Color Consortium
|
||||
profile data */
|
||||
/* Note to maintainer: should be png_bytep */
|
||||
png_uint_32 iccp_proflen PNG_DEPSTRUCT; /* ICC profile data length */
|
||||
png_byte iccp_compression PNG_DEPSTRUCT; /* Always zero */
|
||||
@@ -841,13 +868,15 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
#endif
|
||||
|
||||
#ifdef PNG_INFO_IMAGE_SUPPORTED
|
||||
/* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS) non-zero */
|
||||
/* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS)
|
||||
non-zero */
|
||||
/* Data valid if (valid & PNG_INFO_IDAT) non-zero */
|
||||
png_bytepp row_pointers PNG_DEPSTRUCT; /* the image bits */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_FIXED_POINT_SUPPORTED) && defined(PNG_gAMA_SUPPORTED)
|
||||
png_fixed_point int_gamma PNG_DEPSTRUCT; /* gamma of image, if (valid & PNG_INFO_gAMA) */
|
||||
png_fixed_point int_gamma PNG_DEPSTRUCT; /* gamma of image,
|
||||
if (valid & PNG_INFO_gAMA) */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_cHRM_SUPPORTED) && defined(PNG_FIXED_POINT_SUPPORTED)
|
||||
@@ -994,7 +1023,8 @@ typedef void (PNGAPI *png_write_status_ptr) PNGARG((png_structp, png_uint_32,
|
||||
int));
|
||||
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, png_infop));
|
||||
typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp,
|
||||
png_infop));
|
||||
typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop));
|
||||
typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep,
|
||||
png_uint_32, int));
|
||||
@@ -1007,7 +1037,8 @@ typedef void (PNGAPI *png_user_transform_ptr) PNGARG((png_structp,
|
||||
#endif
|
||||
|
||||
#ifdef PNG_USER_CHUNKS_SUPPORTED
|
||||
typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, png_unknown_chunkp));
|
||||
typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp,
|
||||
png_unknown_chunkp));
|
||||
#endif
|
||||
#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
|
||||
typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp));
|
||||
@@ -1059,83 +1090,128 @@ struct png_struct_def
|
||||
{
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
jmp_buf jmpbuf PNG_DEPSTRUCT; /* used in png_error */
|
||||
png_longjmp_ptr longjmp_fn PNG_DEPSTRUCT;/* setjmp non-local goto function. */
|
||||
png_longjmp_ptr longjmp_fn PNG_DEPSTRUCT;/* setjmp non-local goto
|
||||
function. */
|
||||
#endif
|
||||
png_error_ptr error_fn PNG_DEPSTRUCT; /* function for printing errors and aborting */
|
||||
png_error_ptr warning_fn PNG_DEPSTRUCT; /* function for printing warnings */
|
||||
png_voidp error_ptr PNG_DEPSTRUCT; /* user supplied struct for error functions */
|
||||
png_rw_ptr write_data_fn PNG_DEPSTRUCT; /* function for writing output data */
|
||||
png_rw_ptr read_data_fn PNG_DEPSTRUCT; /* function for reading input data */
|
||||
png_voidp io_ptr PNG_DEPSTRUCT; /* ptr to application struct for I/O functions */
|
||||
png_error_ptr error_fn PNG_DEPSTRUCT; /* function for printing
|
||||
errors and aborting */
|
||||
png_error_ptr warning_fn PNG_DEPSTRUCT; /* function for printing
|
||||
warnings */
|
||||
png_voidp error_ptr PNG_DEPSTRUCT; /* user supplied struct for
|
||||
error functions */
|
||||
png_rw_ptr write_data_fn PNG_DEPSTRUCT; /* function for writing
|
||||
output data */
|
||||
png_rw_ptr read_data_fn PNG_DEPSTRUCT; /* function for reading
|
||||
input data */
|
||||
png_voidp io_ptr PNG_DEPSTRUCT; /* ptr to application struct
|
||||
for I/O functions */
|
||||
|
||||
#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
|
||||
png_user_transform_ptr read_user_transform_fn PNG_DEPSTRUCT; /* user read transform */
|
||||
png_user_transform_ptr read_user_transform_fn PNG_DEPSTRUCT; /* user read
|
||||
transform */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
|
||||
png_user_transform_ptr write_user_transform_fn PNG_DEPSTRUCT; /* user write transform */
|
||||
png_user_transform_ptr write_user_transform_fn PNG_DEPSTRUCT; /* user write
|
||||
transform */
|
||||
#endif
|
||||
|
||||
/* These were added in libpng-1.0.2 */
|
||||
#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED
|
||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
|
||||
defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
|
||||
png_voidp user_transform_ptr PNG_DEPSTRUCT; /* user supplied struct for user transform */
|
||||
png_byte user_transform_depth PNG_DEPSTRUCT; /* bit depth of user transformed pixels */
|
||||
png_byte user_transform_channels PNG_DEPSTRUCT; /* channels in user transformed pixels */
|
||||
png_voidp user_transform_ptr PNG_DEPSTRUCT; /* user supplied struct
|
||||
for user transform */
|
||||
png_byte user_transform_depth PNG_DEPSTRUCT; /* bit depth of user
|
||||
transformed pixels */
|
||||
png_byte user_transform_channels PNG_DEPSTRUCT; /* channels in user
|
||||
transformed pixels */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
png_uint_32 mode PNG_DEPSTRUCT; /* tells us where we are in the PNG file */
|
||||
png_uint_32 flags PNG_DEPSTRUCT; /* flags indicating various things to libpng */
|
||||
png_uint_32 transformations PNG_DEPSTRUCT; /* which transformations to perform */
|
||||
png_uint_32 mode PNG_DEPSTRUCT; /* tells us where we are in
|
||||
the PNG file */
|
||||
png_uint_32 flags PNG_DEPSTRUCT; /* flags indicating various
|
||||
things to libpng */
|
||||
png_uint_32 transformations PNG_DEPSTRUCT; /* which transformations
|
||||
to perform */
|
||||
|
||||
z_stream zstream PNG_DEPSTRUCT; /* pointer to decompression structure (below) */
|
||||
z_stream zstream PNG_DEPSTRUCT; /* pointer to decompression
|
||||
structure (below) */
|
||||
png_bytep zbuf PNG_DEPSTRUCT; /* buffer for zlib */
|
||||
png_size_t zbuf_size PNG_DEPSTRUCT; /* size of zbuf */
|
||||
int zlib_level PNG_DEPSTRUCT; /* holds zlib compression level */
|
||||
int zlib_method PNG_DEPSTRUCT; /* holds zlib compression method */
|
||||
int zlib_window_bits PNG_DEPSTRUCT; /* holds zlib compression window bits */
|
||||
int zlib_mem_level PNG_DEPSTRUCT; /* holds zlib compression memory level */
|
||||
int zlib_strategy PNG_DEPSTRUCT; /* holds zlib compression strategy */
|
||||
int zlib_window_bits PNG_DEPSTRUCT; /* holds zlib compression window
|
||||
bits */
|
||||
int zlib_mem_level PNG_DEPSTRUCT; /* holds zlib compression memory
|
||||
level */
|
||||
int zlib_strategy PNG_DEPSTRUCT; /* holds zlib compression
|
||||
strategy */
|
||||
|
||||
png_uint_32 width PNG_DEPSTRUCT; /* width of image in pixels */
|
||||
png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels */
|
||||
png_uint_32 num_rows PNG_DEPSTRUCT; /* number of rows in current pass */
|
||||
png_uint_32 usr_width PNG_DEPSTRUCT; /* width of row at start of write */
|
||||
png_size_t rowbytes PNG_DEPSTRUCT; /* size of row in bytes */
|
||||
png_size_t irowbytes PNG_DEPSTRUCT; /* size of current interlaced row in bytes */
|
||||
png_uint_32 iwidth PNG_DEPSTRUCT; /* width of current interlaced row in pixels */
|
||||
#if 0 /* Replaced with the following in libpng-1.4.1 */
|
||||
png_size_t irowbytes PNG_DEPSTRUCT;
|
||||
#endif
|
||||
/* Added in libpng-1.4.1 */
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
/* Total memory that a zTXt, sPLT, iTXt, iCCP, or unknown chunk
|
||||
* can occupy when decompressed. 0 means unlimited.
|
||||
* We will change the typedef from png_size_t to png_alloc_size_t
|
||||
* in libpng-1.6.0
|
||||
*/
|
||||
png_alloc_size_t user_chunk_malloc_max PNG_DEPSTRUCT;
|
||||
#endif
|
||||
png_uint_32 iwidth PNG_DEPSTRUCT; /* width of current interlaced
|
||||
row in pixels */
|
||||
png_uint_32 row_number PNG_DEPSTRUCT; /* current row in interlace pass */
|
||||
png_bytep prev_row PNG_DEPSTRUCT; /* buffer to save previous (unfiltered) row */
|
||||
png_bytep row_buf PNG_DEPSTRUCT; /* buffer to save current (unfiltered) row */
|
||||
png_bytep sub_row PNG_DEPSTRUCT; /* buffer to save "sub" row when filtering */
|
||||
png_bytep up_row PNG_DEPSTRUCT; /* buffer to save "up" row when filtering */
|
||||
png_bytep avg_row PNG_DEPSTRUCT; /* buffer to save "avg" row when filtering */
|
||||
png_bytep paeth_row PNG_DEPSTRUCT; /* buffer to save "Paeth" row when filtering */
|
||||
png_row_info row_info PNG_DEPSTRUCT; /* used for transformation routines */
|
||||
png_bytep prev_row PNG_DEPSTRUCT; /* buffer to save previous
|
||||
(unfiltered) row */
|
||||
png_bytep row_buf PNG_DEPSTRUCT; /* buffer to save current
|
||||
(unfiltered) row */
|
||||
png_bytep sub_row PNG_DEPSTRUCT; /* buffer to save "sub" row
|
||||
when filtering */
|
||||
png_bytep up_row PNG_DEPSTRUCT; /* buffer to save "up" row
|
||||
when filtering */
|
||||
png_bytep avg_row PNG_DEPSTRUCT; /* buffer to save "avg" row
|
||||
when filtering */
|
||||
png_bytep paeth_row PNG_DEPSTRUCT; /* buffer to save "Paeth" row
|
||||
when filtering */
|
||||
png_row_info row_info PNG_DEPSTRUCT; /* used for transformation
|
||||
routines */
|
||||
|
||||
png_uint_32 idat_size PNG_DEPSTRUCT; /* current IDAT size for read */
|
||||
png_uint_32 crc PNG_DEPSTRUCT; /* current chunk CRC value */
|
||||
png_colorp palette PNG_DEPSTRUCT; /* palette from the input file */
|
||||
png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in palette */
|
||||
png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in
|
||||
palette */
|
||||
png_uint_16 num_trans PNG_DEPSTRUCT; /* number of transparency values */
|
||||
png_byte chunk_name[5] PNG_DEPSTRUCT; /* null-terminated name of current chunk */
|
||||
png_byte compression PNG_DEPSTRUCT; /* file compression type (always 0) */
|
||||
png_byte chunk_name[5] PNG_DEPSTRUCT; /* null-terminated name of current
|
||||
chunk */
|
||||
png_byte compression PNG_DEPSTRUCT; /* file compression type
|
||||
(always 0) */
|
||||
png_byte filter PNG_DEPSTRUCT; /* file filter type (always 0) */
|
||||
png_byte interlaced PNG_DEPSTRUCT; /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
|
||||
png_byte interlaced PNG_DEPSTRUCT; /* PNG_INTERLACE_NONE,
|
||||
PNG_INTERLACE_ADAM7 */
|
||||
png_byte pass PNG_DEPSTRUCT; /* current interlace pass (0 - 6) */
|
||||
png_byte do_filter PNG_DEPSTRUCT; /* row filter flags (see PNG_FILTER_ below ) */
|
||||
png_byte do_filter PNG_DEPSTRUCT; /* row filter flags (see
|
||||
PNG_FILTER_ below ) */
|
||||
png_byte color_type PNG_DEPSTRUCT; /* color type of file */
|
||||
png_byte bit_depth PNG_DEPSTRUCT; /* bit depth of file */
|
||||
png_byte usr_bit_depth PNG_DEPSTRUCT; /* bit depth of users row */
|
||||
png_byte pixel_depth PNG_DEPSTRUCT; /* number of bits per pixel */
|
||||
png_byte channels PNG_DEPSTRUCT; /* number of channels in file */
|
||||
png_byte usr_channels PNG_DEPSTRUCT; /* channels at start of write */
|
||||
png_byte sig_bytes PNG_DEPSTRUCT; /* magic bytes read/written from start of file */
|
||||
png_byte sig_bytes PNG_DEPSTRUCT; /* magic bytes read/written from
|
||||
start of file */
|
||||
|
||||
#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
|
||||
png_uint_16 filler PNG_DEPSTRUCT; /* filler bytes for pixel expansion */
|
||||
png_uint_16 filler PNG_DEPSTRUCT; /* filler bytes for pixel
|
||||
expansion */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_bKGD_SUPPORTED
|
||||
@@ -1143,73 +1219,108 @@ struct png_struct_def
|
||||
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
float background_gamma PNG_DEPSTRUCT;
|
||||
# endif
|
||||
png_color_16 background PNG_DEPSTRUCT; /* background color in screen gamma space */
|
||||
png_color_16 background PNG_DEPSTRUCT; /* background color in
|
||||
screen gamma space */
|
||||
#ifdef PNG_READ_GAMMA_SUPPORTED
|
||||
png_color_16 background_1 PNG_DEPSTRUCT; /* background normalized to gamma 1.0 */
|
||||
png_color_16 background_1 PNG_DEPSTRUCT; /* background normalized
|
||||
to gamma 1.0 */
|
||||
#endif
|
||||
#endif /* PNG_bKGD_SUPPORTED */
|
||||
|
||||
#ifdef PNG_WRITE_FLUSH_SUPPORTED
|
||||
png_flush_ptr output_flush_fn PNG_DEPSTRUCT; /* Function for flushing output */
|
||||
png_uint_32 flush_dist PNG_DEPSTRUCT; /* how many rows apart to flush, 0 - no flush */
|
||||
png_uint_32 flush_rows PNG_DEPSTRUCT; /* number of rows written since last flush */
|
||||
png_flush_ptr output_flush_fn PNG_DEPSTRUCT; /* Function for flushing
|
||||
output */
|
||||
png_uint_32 flush_dist PNG_DEPSTRUCT; /* how many rows apart to flush,
|
||||
0 - no flush */
|
||||
png_uint_32 flush_rows PNG_DEPSTRUCT; /* number of rows written since
|
||||
last flush */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
int gamma_shift PNG_DEPSTRUCT; /* number of "insignificant" bits 16-bit gamma */
|
||||
int gamma_shift PNG_DEPSTRUCT; /* number of "insignificant" bits
|
||||
16-bit gamma */
|
||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||
float gamma PNG_DEPSTRUCT; /* file gamma value */
|
||||
float screen_gamma PNG_DEPSTRUCT; /* screen gamma value (display_exponent) */
|
||||
float screen_gamma PNG_DEPSTRUCT; /* screen gamma value
|
||||
(display_exponent) */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
png_bytep gamma_table PNG_DEPSTRUCT; /* gamma table for 8-bit depth files */
|
||||
png_bytep gamma_table PNG_DEPSTRUCT; /* gamma table for 8-bit
|
||||
depth files */
|
||||
png_bytep gamma_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to screen */
|
||||
png_bytep gamma_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */
|
||||
png_uint_16pp gamma_16_table PNG_DEPSTRUCT; /* gamma table for 16-bit depth files */
|
||||
png_uint_16pp gamma_16_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to screen */
|
||||
png_uint_16pp gamma_16_table PNG_DEPSTRUCT; /* gamma table for 16-bit
|
||||
depth files */
|
||||
png_uint_16pp gamma_16_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to
|
||||
screen */
|
||||
png_uint_16pp gamma_16_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
|
||||
png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in each available channel */
|
||||
png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in each
|
||||
available channel */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
|
||||
png_color_8 shift PNG_DEPSTRUCT; /* shift for significant bit tranformation */
|
||||
png_color_8 shift PNG_DEPSTRUCT; /* shift for significant bit
|
||||
tranformation */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
|
||||
|| defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
|
||||
png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for paletted files */
|
||||
png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for non-paletted files */
|
||||
png_bytep trans_alpha PNG_DEPSTRUCT; /* alpha values for
|
||||
paletted files */
|
||||
png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for
|
||||
non-paletted files */
|
||||
#endif
|
||||
|
||||
png_read_status_ptr read_row_fn PNG_DEPSTRUCT; /* called after each row is decoded */
|
||||
png_write_status_ptr write_row_fn PNG_DEPSTRUCT; /* called after each row is encoded */
|
||||
png_read_status_ptr read_row_fn PNG_DEPSTRUCT; /* called after each
|
||||
row is decoded */
|
||||
png_write_status_ptr write_row_fn PNG_DEPSTRUCT; /* called after each
|
||||
row is encoded */
|
||||
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
|
||||
png_progressive_info_ptr info_fn PNG_DEPSTRUCT; /* called after header data fully read */
|
||||
png_progressive_row_ptr row_fn PNG_DEPSTRUCT; /* called after each prog. row is decoded */
|
||||
png_progressive_end_ptr end_fn PNG_DEPSTRUCT; /* called after image is complete */
|
||||
png_bytep save_buffer_ptr PNG_DEPSTRUCT; /* current location in save_buffer */
|
||||
png_bytep save_buffer PNG_DEPSTRUCT; /* buffer for previously read data */
|
||||
png_bytep current_buffer_ptr PNG_DEPSTRUCT; /* current location in current_buffer */
|
||||
png_bytep current_buffer PNG_DEPSTRUCT; /* buffer for recently used data */
|
||||
png_uint_32 push_length PNG_DEPSTRUCT; /* size of current input chunk */
|
||||
png_uint_32 skip_length PNG_DEPSTRUCT; /* bytes to skip in input data */
|
||||
png_size_t save_buffer_size PNG_DEPSTRUCT; /* amount of data now in save_buffer */
|
||||
png_size_t save_buffer_max PNG_DEPSTRUCT; /* total size of save_buffer */
|
||||
png_size_t buffer_size PNG_DEPSTRUCT; /* total amount of available input data */
|
||||
png_size_t current_buffer_size PNG_DEPSTRUCT; /* amount of data now in current_buffer */
|
||||
int process_mode PNG_DEPSTRUCT; /* what push library is currently doing */
|
||||
int cur_palette PNG_DEPSTRUCT; /* current push library palette index */
|
||||
png_progressive_info_ptr info_fn PNG_DEPSTRUCT; /* called after header
|
||||
data fully read */
|
||||
png_progressive_row_ptr row_fn PNG_DEPSTRUCT; /* called after each
|
||||
prog. row is decoded */
|
||||
png_progressive_end_ptr end_fn PNG_DEPSTRUCT; /* called after image
|
||||
is complete */
|
||||
png_bytep save_buffer_ptr PNG_DEPSTRUCT; /* current location in
|
||||
save_buffer */
|
||||
png_bytep save_buffer PNG_DEPSTRUCT; /* buffer for previously
|
||||
read data */
|
||||
png_bytep current_buffer_ptr PNG_DEPSTRUCT; /* current location in
|
||||
current_buffer */
|
||||
png_bytep current_buffer PNG_DEPSTRUCT; /* buffer for recently
|
||||
used data */
|
||||
png_uint_32 push_length PNG_DEPSTRUCT; /* size of current input
|
||||
chunk */
|
||||
png_uint_32 skip_length PNG_DEPSTRUCT; /* bytes to skip in
|
||||
input data */
|
||||
png_size_t save_buffer_size PNG_DEPSTRUCT; /* amount of data now
|
||||
in save_buffer */
|
||||
png_size_t save_buffer_max PNG_DEPSTRUCT; /* total size of
|
||||
save_buffer */
|
||||
png_size_t buffer_size PNG_DEPSTRUCT; /* total amount of
|
||||
available input data */
|
||||
png_size_t current_buffer_size PNG_DEPSTRUCT; /* amount of data now
|
||||
in current_buffer */
|
||||
int process_mode PNG_DEPSTRUCT; /* what push library
|
||||
is currently doing */
|
||||
int cur_palette PNG_DEPSTRUCT; /* current push library
|
||||
palette index */
|
||||
|
||||
# ifdef PNG_TEXT_SUPPORTED
|
||||
png_size_t current_text_size PNG_DEPSTRUCT; /* current size of text input data */
|
||||
png_size_t current_text_left PNG_DEPSTRUCT; /* how much text left to read in input */
|
||||
png_charp current_text PNG_DEPSTRUCT; /* current text chunk buffer */
|
||||
png_charp current_text_ptr PNG_DEPSTRUCT; /* current location in current_text */
|
||||
png_size_t current_text_size PNG_DEPSTRUCT; /* current size of
|
||||
text input data */
|
||||
png_size_t current_text_left PNG_DEPSTRUCT; /* how much text left
|
||||
to read in input */
|
||||
png_charp current_text PNG_DEPSTRUCT; /* current text chunk
|
||||
buffer */
|
||||
png_charp current_text_ptr PNG_DEPSTRUCT; /* current location
|
||||
in current_text */
|
||||
# endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */
|
||||
|
||||
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
|
||||
@@ -1224,8 +1335,9 @@ struct png_struct_def
|
||||
#endif
|
||||
|
||||
#ifdef PNG_READ_DITHER_SUPPORTED
|
||||
png_bytep palette_lookup PNG_DEPSTRUCT; /* lookup table for dithering */
|
||||
png_bytep dither_index PNG_DEPSTRUCT; /* index translation for palette files */
|
||||
png_bytep palette_lookup PNG_DEPSTRUCT; /* lookup table for dithering */
|
||||
png_bytep dither_index PNG_DEPSTRUCT; /* index translation for palette
|
||||
files */
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED)
|
||||
@@ -1233,26 +1345,35 @@ struct png_struct_def
|
||||
#endif
|
||||
|
||||
#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
|
||||
png_byte heuristic_method PNG_DEPSTRUCT; /* heuristic for row filter selection */
|
||||
png_byte num_prev_filters PNG_DEPSTRUCT; /* number of weights for previous rows */
|
||||
png_bytep prev_filters PNG_DEPSTRUCT; /* filter type(s) of previous row(s) */
|
||||
png_uint_16p filter_weights PNG_DEPSTRUCT; /* weight(s) for previous line(s) */
|
||||
png_uint_16p inv_filter_weights PNG_DEPSTRUCT; /* 1/weight(s) for previous line(s) */
|
||||
png_uint_16p filter_costs PNG_DEPSTRUCT; /* relative filter calculation cost */
|
||||
png_uint_16p inv_filter_costs PNG_DEPSTRUCT; /* 1/relative filter calculation cost */
|
||||
png_byte heuristic_method PNG_DEPSTRUCT; /* heuristic for row
|
||||
filter selection */
|
||||
png_byte num_prev_filters PNG_DEPSTRUCT; /* number of weights
|
||||
for previous rows */
|
||||
png_bytep prev_filters PNG_DEPSTRUCT; /* filter type(s) of
|
||||
previous row(s) */
|
||||
png_uint_16p filter_weights PNG_DEPSTRUCT; /* weight(s) for previous
|
||||
line(s) */
|
||||
png_uint_16p inv_filter_weights PNG_DEPSTRUCT; /* 1/weight(s) for
|
||||
previous line(s) */
|
||||
png_uint_16p filter_costs PNG_DEPSTRUCT; /* relative filter
|
||||
calculation cost */
|
||||
png_uint_16p inv_filter_costs PNG_DEPSTRUCT; /* 1/relative filter
|
||||
calculation cost */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_TIME_RFC1123_SUPPORTED
|
||||
png_charp time_buffer PNG_DEPSTRUCT; /* String to hold RFC 1123 time text */
|
||||
png_charp time_buffer PNG_DEPSTRUCT; /* String to hold RFC 1123 time text */
|
||||
#endif
|
||||
|
||||
/* New members added in libpng-1.0.6 */
|
||||
|
||||
png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is responsible for freeing */
|
||||
png_uint_32 free_me PNG_DEPSTRUCT; /* flags items libpng is
|
||||
responsible for freeing */
|
||||
|
||||
#ifdef PNG_USER_CHUNKS_SUPPORTED
|
||||
png_voidp user_chunk_ptr PNG_DEPSTRUCT;
|
||||
png_user_chunk_ptr read_user_chunk_fn PNG_DEPSTRUCT; /* user read chunk handler */
|
||||
png_user_chunk_ptr read_user_chunk_fn PNG_DEPSTRUCT; /* user read
|
||||
chunk handler */
|
||||
#endif
|
||||
|
||||
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
||||
@@ -1291,31 +1412,37 @@ struct png_struct_def
|
||||
|
||||
/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
|
||||
#ifdef PNG_USER_MEM_SUPPORTED
|
||||
png_voidp mem_ptr PNG_DEPSTRUCT; /* user supplied struct for mem functions */
|
||||
png_malloc_ptr malloc_fn PNG_DEPSTRUCT; /* function for allocating memory */
|
||||
png_free_ptr free_fn PNG_DEPSTRUCT; /* function for freeing memory */
|
||||
png_voidp mem_ptr PNG_DEPSTRUCT; /* user supplied struct for
|
||||
mem functions */
|
||||
png_malloc_ptr malloc_fn PNG_DEPSTRUCT; /* function for
|
||||
allocating memory */
|
||||
png_free_ptr free_fn PNG_DEPSTRUCT; /* function for
|
||||
freeing memory */
|
||||
#endif
|
||||
|
||||
/* New member added in libpng-1.0.13 and 1.2.0 */
|
||||
png_bytep big_row_buf PNG_DEPSTRUCT; /* buffer to save current (unfiltered) row */
|
||||
png_bytep big_row_buf PNG_DEPSTRUCT; /* buffer to save current
|
||||
(unfiltered) row */
|
||||
|
||||
#ifdef PNG_READ_DITHER_SUPPORTED
|
||||
/* The following three members were added at version 1.0.14 and 1.2.4 */
|
||||
png_bytep dither_sort PNG_DEPSTRUCT; /* working sort array */
|
||||
png_bytep index_to_palette PNG_DEPSTRUCT; /* where the original index currently is */
|
||||
/* in the palette */
|
||||
png_bytep palette_to_index PNG_DEPSTRUCT; /* which original index points to this */
|
||||
/* palette color */
|
||||
png_bytep index_to_palette PNG_DEPSTRUCT; /* where the original
|
||||
index currently is
|
||||
in the palette */
|
||||
png_bytep palette_to_index PNG_DEPSTRUCT; /* which original index
|
||||
points to this
|
||||
palette color */
|
||||
#endif
|
||||
|
||||
/* New members added in libpng-1.0.16 and 1.2.6 */
|
||||
png_byte compression_type PNG_DEPSTRUCT;
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
png_uint_32 user_width_max PNG_DEPSTRUCT;
|
||||
png_uint_32 user_height_max PNG_DEPSTRUCT;
|
||||
/* Added in libpng-1.4.0: Total number of sPLT, text, and unknown
|
||||
* chunks that can be stored (0x7fffffff means unlimited).
|
||||
* chunks that can be stored (0 means unlimited).
|
||||
*/
|
||||
png_uint_32 user_chunk_cache_max PNG_DEPSTRUCT;
|
||||
#endif
|
||||
@@ -1333,8 +1460,8 @@ struct png_struct_def
|
||||
/* New member added in libpng-1.2.30 */
|
||||
png_charp chunkdata PNG_DEPSTRUCT; /* buffer for reading chunk data */
|
||||
|
||||
/* New member added in libpng-1.4.0 */
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
/* New member added in libpng-1.4.0 */
|
||||
png_uint_32 io_state PNG_DEPSTRUCT;
|
||||
#endif
|
||||
};
|
||||
@@ -1343,7 +1470,7 @@ struct png_struct_def
|
||||
/* This triggers a compiler error in png.c, if png.c and png.h
|
||||
* do not agree upon the version number.
|
||||
*/
|
||||
typedef png_structp version_1_4_1beta01;
|
||||
typedef png_structp version_1_4_1beta10;
|
||||
|
||||
typedef png_struct FAR * FAR * png_structpp;
|
||||
|
||||
@@ -1398,7 +1525,8 @@ extern PNG_EXPORT(void,png_set_compression_buffer_size)
|
||||
* indicating an ABI mismatch.
|
||||
*/
|
||||
extern PNG_EXPORT(jmp_buf*, png_set_longjmp_fn)
|
||||
PNGARG((png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size));
|
||||
PNGARG((png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t
|
||||
jmp_buf_size));
|
||||
# define png_jmpbuf(png_ptr) \
|
||||
(*png_set_longjmp_fn((png_ptr), longjmp, sizeof (jmp_buf)))
|
||||
#else
|
||||
@@ -1543,7 +1671,8 @@ extern PNG_EXPORT(void,png_set_swap) PNGARG((png_structp png_ptr));
|
||||
extern PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \
|
||||
defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
||||
/* Swap packing order of pixels in bytes. */
|
||||
extern PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
@@ -1584,7 +1713,9 @@ extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
#ifdef PNG_READ_DITHER_SUPPORTED
|
||||
/* Turn on dithering, and reduce the palette to the number of colors available. */
|
||||
/* Turn on dithering, and reduce the palette to the number of colors
|
||||
* available.
|
||||
*/
|
||||
extern PNG_EXPORT(void,png_set_dither) PNGARG((png_structp png_ptr,
|
||||
png_colorp palette, int num_palette, int maximum_colors,
|
||||
png_uint_16p histogram, int full_dither));
|
||||
@@ -1801,7 +1932,8 @@ extern PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr,
|
||||
|
||||
#ifdef PNG_STDIO_SUPPORTED
|
||||
/* Initialize the input/output for the PNG file to the default functions. */
|
||||
extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp));
|
||||
extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr,
|
||||
png_FILE_p fp));
|
||||
#endif
|
||||
|
||||
/* Replace the (error and abort), and warning functions with user
|
||||
@@ -2358,7 +2490,8 @@ extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr,
|
||||
|
||||
extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr));
|
||||
extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr));
|
||||
extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
|
||||
extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp
|
||||
png_ptr));
|
||||
extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr));
|
||||
|
||||
#ifdef PNG_MNG_FEATURES_SUPPORTED
|
||||
@@ -2393,6 +2526,11 @@ extern PNG_EXPORT(void,png_set_chunk_cache_max) PNGARG((png_structp
|
||||
png_ptr, png_uint_32 user_chunk_cache_max));
|
||||
extern PNG_EXPORT(png_uint_32,png_get_chunk_cache_max)
|
||||
PNGARG((png_structp png_ptr));
|
||||
/* Added in libpng-1.4.1 */
|
||||
extern PNG_EXPORT(void,png_set_chunk_malloc_max) PNGARG((png_structp
|
||||
png_ptr, png_alloc_size_t user_chunk_cache_max));
|
||||
extern PNG_EXPORT(png_alloc_size_t,png_get_chunk_malloc_max)
|
||||
PNGARG((png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
|
||||
@@ -2455,16 +2593,18 @@ extern PNG_EXPORT(png_bytep,png_get_io_chunk_name)
|
||||
|
||||
/* fg and bg should be in `gamma 1.0' space; alpha is the opacity */
|
||||
|
||||
# define png_composite(composite, fg, alpha, bg) \
|
||||
{ png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * (png_uint_16)(alpha) \
|
||||
+ (png_uint_16)(bg)*(png_uint_16)(255 - \
|
||||
(png_uint_16)(alpha)) + (png_uint_16)128); \
|
||||
# define png_composite(composite, fg, alpha, bg) \
|
||||
{ png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \
|
||||
* (png_uint_16)(alpha) \
|
||||
+ (png_uint_16)(bg)*(png_uint_16)(255 \
|
||||
- (png_uint_16)(alpha)) + (png_uint_16)128); \
|
||||
(composite) = (png_byte)((temp + (temp >> 8)) >> 8); }
|
||||
|
||||
# define png_composite_16(composite, fg, alpha, bg) \
|
||||
{ png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * (png_uint_32)(alpha) \
|
||||
+ (png_uint_32)(bg)*(png_uint_32)(65535L - \
|
||||
(png_uint_32)(alpha)) + (png_uint_32)32768L); \
|
||||
# define png_composite_16(composite, fg, alpha, bg) \
|
||||
{ png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \
|
||||
* (png_uint_32)(alpha) \
|
||||
+ (png_uint_32)(bg)*(png_uint_32)(65535L \
|
||||
- (png_uint_32)(alpha)) + (png_uint_32)32768L); \
|
||||
(composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); }
|
||||
|
||||
#else /* Standard method using integer division */
|
||||
|
||||
66
pngconf.h
66
pngconf.h
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngconf.h - machine configurable file for libpng
|
||||
*
|
||||
* libpng version 1.4.1beta01 - January 8, 2010
|
||||
* libpng version 1.4.1beta10 - February 8, 2010
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -28,7 +28,9 @@
|
||||
|
||||
/* Added at libpng-1.2.9 */
|
||||
|
||||
/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure" script. */
|
||||
/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure"
|
||||
* script.
|
||||
*/
|
||||
#ifdef PNG_CONFIGURE_LIBPNG
|
||||
# ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
@@ -672,14 +674,29 @@
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.2.6 */
|
||||
#ifndef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
# ifndef PNG_NO_SET_USER_LIMITS
|
||||
#ifndef PNG_NO_SET_USER_LIMITS
|
||||
# ifndef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
# define PNG_SET_USER_LIMITS_SUPPORTED
|
||||
# endif
|
||||
/* Feature added at libpng-1.4.0, this flag added at 1.4.1 */
|
||||
# ifndef PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
|
||||
# define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
|
||||
# endif
|
||||
/* Feature added at libpng-1.4.1, this flag added at 1.4.1 */
|
||||
# ifndef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
|
||||
# define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.2.43 */
|
||||
#ifndef PNG_USER_LIMITS_SUPPORTED
|
||||
# ifndef PNG_NO_USER_LIMITS
|
||||
# define PNG_USER_LIMITS_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter
|
||||
* how large, set these limits to 0x7fffffffL
|
||||
* how large, set these two limits to 0x7fffffffL
|
||||
*/
|
||||
#ifndef PNG_USER_WIDTH_MAX
|
||||
# define PNG_USER_WIDTH_MAX 1000000L
|
||||
@@ -688,9 +705,16 @@
|
||||
# define PNG_USER_HEIGHT_MAX 1000000L
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.4.0 */
|
||||
/* Added at libpng-1.2.43. To accept all valid PNGs no matter
|
||||
* how large, set these two limits to 0.
|
||||
*/
|
||||
#ifndef PNG_USER_CHUNK_CACHE_MAX
|
||||
# define PNG_USER_CHUNK_CACHE_MAX 0x7fffffffL
|
||||
# define PNG_USER_CHUNK_CACHE_MAX 0
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.2.43 */
|
||||
#ifndef PNG_USER_CHUNK_MALLOC_MAX
|
||||
# define PNG_USER_CHUNK_MALLOC_MAX 0
|
||||
#endif
|
||||
|
||||
/* Added at libpng-1.4.0 */
|
||||
@@ -861,20 +885,22 @@
|
||||
#endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */
|
||||
|
||||
#ifndef PNG_NO_READ_UNKNOWN_CHUNKS
|
||||
# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
||||
# ifndef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
||||
# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
||||
# endif
|
||||
# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
|
||||
# define PNG_UNKNOWN_CHUNKS_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(PNG_NO_READ_USER_CHUNKS) && \
|
||||
defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED)
|
||||
# define PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
# define PNG_USER_CHUNKS_SUPPORTED
|
||||
# ifdef PNG_NO_READ_UNKNOWN_CHUNKS
|
||||
# undef PNG_NO_READ_UNKNOWN_CHUNKS
|
||||
# ifndef PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
# define PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
# endif
|
||||
# ifdef PNG_NO_HANDLE_AS_UNKNOWN
|
||||
# undef PNG_NO_HANDLE_AS_UNKNOWN
|
||||
#endif
|
||||
#ifndef PNG_NO_READ_USER_CHUNKS
|
||||
# ifndef PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
# define PNG_READ_USER_CHUNKS_SUPPORTED
|
||||
# endif
|
||||
# ifndef PNG_USER_CHUNKS_SUPPORTED
|
||||
# define PNG_USER_CHUNKS_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
#ifndef PNG_NO_HANDLE_AS_UNKNOWN
|
||||
@@ -1016,8 +1042,10 @@
|
||||
|
||||
#endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */
|
||||
|
||||
#if !defined(PNG_NO_WRITE_FILTER) && !defined(PNG_WRITE_FILTER_SUPPORTED)
|
||||
# define PNG_WRITE_FILTER_SUPPORTED
|
||||
#ifndef PNG_NO_WRITE_FILTER
|
||||
# ifndef PNG_WRITE_FILTER_SUPPORTED
|
||||
# define PNG_WRITE_FILTER_SUPPORTED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS
|
||||
|
||||
16
pngget.c
16
pngget.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngget.c - retrieval of values from info struct
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -880,7 +880,8 @@ png_get_compression_buffer_size(png_structp png_ptr)
|
||||
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
/* These functions were added to libpng 1.2.6 */
|
||||
/* These functions were added to libpng 1.2.6 and were enabled
|
||||
* by default in libpng-1.4.0 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_user_width_max (png_structp png_ptr)
|
||||
{
|
||||
@@ -895,11 +896,18 @@ png_get_user_height_max (png_structp png_ptr)
|
||||
png_uint_32 PNGAPI
|
||||
png_get_chunk_cache_max (png_structp png_ptr)
|
||||
{
|
||||
return (png_ptr? png_ptr->user_chunk_cache_max? 0x7fffffffL :
|
||||
png_ptr->user_chunk_cache_max - 1 : 0);
|
||||
return (png_ptr? png_ptr->user_chunk_cache_max : 0);
|
||||
}
|
||||
/* This function was added to libpng 1.4.1 */
|
||||
png_uint_32 PNGAPI
|
||||
png_get_chunk_malloc_max (png_structp png_ptr)
|
||||
{
|
||||
return (png_ptr?
|
||||
(png_uint_32)png_ptr->user_chunk_malloc_max : 0);
|
||||
}
|
||||
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
|
||||
|
||||
/* These functions were added to libpng 1.4.0 */
|
||||
#ifdef PNG_IO_STATE_SUPPORTED
|
||||
png_uint_32 PNGAPI
|
||||
png_get_io_state (png_structp png_ptr)
|
||||
|
||||
6
pngmem.c
6
pngmem.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngmem.c - stub functions for memory allocation
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.0 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -201,7 +201,7 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out Of Memory"); /* Note "O" and "M" */
|
||||
png_error(png_ptr, "Out Of Memory"); /* Note "O", "M" */
|
||||
else
|
||||
png_warning(png_ptr, "Out Of Memory");
|
||||
#endif
|
||||
@@ -229,7 +229,7 @@ png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
|
||||
{
|
||||
#ifndef PNG_USER_MEM_SUPPORTED
|
||||
if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
|
||||
png_error(png_ptr, "Out Of memory"); /* Note "O" and "M" */
|
||||
png_error(png_ptr, "Out Of memory"); /* Note "O", "m" */
|
||||
else
|
||||
png_warning(png_ptr, "Out Of memory");
|
||||
#endif
|
||||
|
||||
22
pngpread.c
22
pngpread.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngpread.c - read a png file in push mode
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -329,7 +329,9 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
|
||||
png_ptr->mode |= PNG_HAVE_IDAT;
|
||||
png_ptr->process_mode = PNG_READ_IDAT_MODE;
|
||||
png_push_have_info(png_ptr, info_ptr);
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
|
||||
png_ptr->zstream.avail_out =
|
||||
(uInt) PNG_ROWBYTES(png_ptr->pixel_depth,
|
||||
png_ptr->iwidth) + 1;
|
||||
png_ptr->zstream.next_out = png_ptr->row_buf;
|
||||
return;
|
||||
}
|
||||
@@ -698,8 +700,13 @@ png_push_save_buffer(png_structp png_ptr)
|
||||
|
||||
new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
|
||||
old_buffer = png_ptr->save_buffer;
|
||||
png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr,
|
||||
png_ptr->save_buffer = (png_bytep)png_malloc_warn(png_ptr,
|
||||
(png_size_t)new_max);
|
||||
if (png_ptr->save_buffer == NULL)
|
||||
{
|
||||
png_free(png_ptr, old_buffer);
|
||||
png_error(png_ptr, "Insufficient memory for save_buffer");
|
||||
}
|
||||
png_memcpy(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size);
|
||||
png_free(png_ptr, old_buffer);
|
||||
png_ptr->save_buffer_max = new_max;
|
||||
@@ -797,7 +804,7 @@ png_push_read_IDAT(png_structp png_ptr)
|
||||
|
||||
png_calculate_crc(png_ptr, png_ptr->current_buffer_ptr, save_size);
|
||||
if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
|
||||
png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
|
||||
png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
|
||||
|
||||
png_ptr->idat_size -= save_size;
|
||||
png_ptr->buffer_size -= save_size;
|
||||
@@ -869,7 +876,9 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer,
|
||||
break;
|
||||
}
|
||||
png_push_process_row(png_ptr);
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
|
||||
png_ptr->zstream.avail_out =
|
||||
(uInt) PNG_ROWBYTES(png_ptr->pixel_depth,
|
||||
png_ptr->iwidth) + 1;
|
||||
png_ptr->zstream.next_out = png_ptr->row_buf;
|
||||
}
|
||||
|
||||
@@ -1134,9 +1143,6 @@ png_read_push_finish_row(png_structp png_ptr)
|
||||
png_pass_start[png_ptr->pass]) /
|
||||
png_pass_inc[png_ptr->pass];
|
||||
|
||||
png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
|
||||
png_ptr->iwidth) + 1;
|
||||
|
||||
if (png_ptr->transformations & PNG_INTERLACE)
|
||||
break;
|
||||
|
||||
|
||||
11
pngpriv.h
11
pngpriv.h
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngpriv.h - private declarations for use inside libpng
|
||||
*
|
||||
* libpng version 1.4.1beta01 - January 8, 2010
|
||||
* libpng version 1.4.1beta10 - February 8, 2010
|
||||
* For conditions of distribution and use, see copyright notice in png.h
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@@ -306,6 +306,8 @@ PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf,
|
||||
/* Decompress data in a chunk that uses compression */
|
||||
#if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \
|
||||
defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED)
|
||||
PNG_EXTERN png_size_t png_measure_decompressed_chunk PNGARG((png_structp
|
||||
png_ptr, int comp_type, png_size_t chunklength, png_size_t prefix_length));
|
||||
PNG_EXTERN void png_decompress_chunk PNGARG((png_structp png_ptr,
|
||||
int comp_type, png_size_t chunklength, png_size_t prefix_length,
|
||||
png_size_t *data_length));
|
||||
@@ -351,8 +353,8 @@ PNG_EXTERN void png_write_IEND PNGARG((png_structp png_ptr));
|
||||
PNG_EXTERN void png_write_gAMA PNGARG((png_structp png_ptr, double file_gamma));
|
||||
#endif
|
||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||
PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr, png_fixed_point
|
||||
file_gamma));
|
||||
PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr,
|
||||
png_fixed_point file_gamma));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -556,7 +558,8 @@ PNG_EXTERN void png_do_strip_filler PNGARG((png_row_infop row_info,
|
||||
PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \
|
||||
defined(PNG_WRITE_PACKSWAP_SUPPORTED)
|
||||
PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row));
|
||||
#endif
|
||||
|
||||
|
||||
26
pngread.c
26
pngread.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngread.c - read a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -31,7 +31,9 @@ png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
warn_fn, NULL, NULL, NULL));
|
||||
}
|
||||
|
||||
/* Alternate create PNG structure for reading, and allocate any memory needed. */
|
||||
/* Alternate create PNG structure for reading, and allocate any memory
|
||||
* needed.
|
||||
*/
|
||||
png_structp PNGAPI
|
||||
png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr,
|
||||
@@ -65,11 +67,17 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
|
||||
return (NULL);
|
||||
|
||||
/* Added at libpng-1.2.6 */
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
png_ptr->user_width_max = PNG_USER_WIDTH_MAX;
|
||||
png_ptr->user_height_max = PNG_USER_HEIGHT_MAX;
|
||||
/* Added at libpng-1.4.0 */
|
||||
# ifdef PNG_USER_CHUNK_CACHE_MAX
|
||||
/* Added at libpng-1.2.43 and 1.4.0 */
|
||||
png_ptr->user_chunk_cache_max = PNG_USER_CHUNK_CACHE_MAX;
|
||||
# endif
|
||||
# ifdef PNG_SET_USER_CHUNK_MALLOC_MAX
|
||||
/* Added at libpng-1.2.43 and 1.4.1 */
|
||||
png_ptr->user_chunk_malloc_max = PNG_USER_CHUNK_MALLOC_MAX;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
@@ -477,7 +485,8 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
if (png_ptr->transformations & PNG_FILLER)
|
||||
png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined");
|
||||
#endif
|
||||
#if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && !defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
#if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && \
|
||||
!defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined");
|
||||
#endif
|
||||
@@ -580,7 +589,9 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
|
||||
png_error(png_ptr, "Invalid attempt to read row data");
|
||||
|
||||
png_ptr->zstream.next_out = png_ptr->row_buf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
|
||||
png_ptr->zstream.avail_out =
|
||||
(uInt)(PNG_ROWBYTES(png_ptr->pixel_depth,
|
||||
png_ptr->iwidth) + 1);
|
||||
do
|
||||
{
|
||||
if (!(png_ptr->zstream.avail_in))
|
||||
@@ -1044,7 +1055,8 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr,
|
||||
|
||||
/* Free all memory used by the read (old method) */
|
||||
void /* PRIVATE */
|
||||
png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr)
|
||||
png_read_destroy(png_structp png_ptr, png_infop info_ptr,
|
||||
png_infop end_info_ptr)
|
||||
{
|
||||
#ifdef PNG_SETJMP_SUPPORTED
|
||||
jmp_buf tmp_jmp;
|
||||
|
||||
2
pngrio.c
2
pngrio.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrio.c - functions for data input
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
|
||||
46
pngrtran.c
46
pngrtran.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrtran.c - transforms the data in a row for PNG readers
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -432,8 +432,10 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
png_ptr->palette_to_index[png_ptr->index_to_palette[j]]
|
||||
= png_ptr->palette_to_index[num_new_palette];
|
||||
|
||||
png_ptr->index_to_palette[j] = (png_byte)num_new_palette;
|
||||
png_ptr->palette_to_index[num_new_palette] = (png_byte)j;
|
||||
png_ptr->index_to_palette[j] =
|
||||
(png_byte)num_new_palette;
|
||||
png_ptr->palette_to_index[num_new_palette] =
|
||||
(png_byte)j;
|
||||
}
|
||||
if (num_new_palette <= maximum_colors)
|
||||
break;
|
||||
@@ -502,7 +504,8 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
|
||||
{
|
||||
/* int dr = abs(ir - r); */
|
||||
int dr = ((ir > r) ? ir - r : r - ir);
|
||||
int index_r = (ir << (PNG_DITHER_BLUE_BITS + PNG_DITHER_GREEN_BITS));
|
||||
int index_r = (ir << (PNG_DITHER_BLUE_BITS +
|
||||
PNG_DITHER_GREEN_BITS));
|
||||
|
||||
for (ig = 0; ig < num_green; ig++)
|
||||
{
|
||||
@@ -747,8 +750,9 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
png_debug(1, "in png_init_read_transformations");
|
||||
|
||||
{
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED) || defined(PNG_READ_SHIFT_SUPPORTED) \
|
||||
|| defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
#if defined(PNG_READ_BACKGROUND_SUPPORTED) || \
|
||||
defined(PNG_READ_SHIFT_SUPPORTED) || \
|
||||
defined(PNG_READ_GAMMA_SUPPORTED)
|
||||
int color_type = png_ptr->color_type;
|
||||
#endif
|
||||
|
||||
@@ -945,7 +949,8 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
back.red = (png_byte)(pow(
|
||||
(double)png_ptr->background.red/255.0, gs) * 255.0 + .5);
|
||||
back.green = (png_byte)(pow(
|
||||
(double)png_ptr->background.green/255.0, gs) * 255.0 + .5);
|
||||
(double)png_ptr->background.green/255.0, gs) * 255.0
|
||||
+ .5);
|
||||
back.blue = (png_byte)(pow(
|
||||
(double)png_ptr->background.blue/255.0, gs) * 255.0 + .5);
|
||||
}
|
||||
@@ -1357,7 +1362,8 @@ png_do_read_transformations(png_structp png_ptr)
|
||||
if (png_ptr->transformations & PNG_RGB_TO_GRAY)
|
||||
{
|
||||
int rgb_error =
|
||||
png_do_rgb_to_gray(png_ptr, &(png_ptr->row_info), png_ptr->row_buf + 1);
|
||||
png_do_rgb_to_gray(png_ptr, &(png_ptr->row_info),
|
||||
png_ptr->row_buf + 1);
|
||||
if (rgb_error)
|
||||
{
|
||||
png_ptr->rgb_to_gray_status=1;
|
||||
@@ -2343,7 +2349,8 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >>
|
||||
png_ptr->gamma_shift][red>>8];
|
||||
png_uint_16 green_1 = png_ptr->gamma_16_to_1[(green&0xff) >>
|
||||
png_uint_16 green_1 =
|
||||
png_ptr->gamma_16_to_1[(green&0xff) >>
|
||||
png_ptr->gamma_shift][green>>8];
|
||||
png_uint_16 blue_1 = png_ptr->gamma_16_to_1[(blue&0xff) >>
|
||||
png_ptr->gamma_shift][blue>>8];
|
||||
@@ -2439,13 +2446,14 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row)
|
||||
else
|
||||
{
|
||||
png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >>
|
||||
png_ptr->gamma_shift][red>>8];
|
||||
png_uint_16 green_1 = png_ptr->gamma_16_to_1[(green&0xff) >>
|
||||
png_ptr->gamma_shift][green>>8];
|
||||
png_ptr->gamma_shift][red>>8];
|
||||
png_uint_16 green_1 =
|
||||
png_ptr->gamma_16_to_1[(green&0xff) >>
|
||||
png_ptr->gamma_shift][green>>8];
|
||||
png_uint_16 blue_1 = png_ptr->gamma_16_to_1[(blue&0xff) >>
|
||||
png_ptr->gamma_shift][blue>>8];
|
||||
png_ptr->gamma_shift][blue>>8];
|
||||
png_uint_16 gray16 = (png_uint_16)((rc * red_1
|
||||
+ gc * green_1 + bc * blue_1)>>15);
|
||||
+ gc * green_1 + bc * blue_1)>>15);
|
||||
w = png_ptr->gamma_16_from_1[(gray16&0xff) >>
|
||||
png_ptr->gamma_shift][gray16 >> 8];
|
||||
rgb_error |= 1;
|
||||
@@ -3375,10 +3383,10 @@ png_do_gamma(png_row_infop row_info, png_bytep row,
|
||||
int d = *sp & 0x03;
|
||||
|
||||
*sp = (png_byte)(
|
||||
((((int)gamma_table[a|(a>>2)|(a>>4)|(a>>6)]) ) & 0xc0)|
|
||||
((((int)gamma_table[(b<<2)|b|(b>>2)|(b>>4)])>>2) & 0x30)|
|
||||
((((int)gamma_table[(c<<4)|(c<<2)|c|(c>>2)])>>4) & 0x0c)|
|
||||
((((int)gamma_table[(d<<6)|(d<<4)|(d<<2)|d])>>6) ));
|
||||
((((int)gamma_table[a|(a>>2)|(a>>4)|(a>>6)]) ) & 0xc0)|
|
||||
((((int)gamma_table[(b<<2)|b|(b>>2)|(b>>4)])>>2) & 0x30)|
|
||||
((((int)gamma_table[(c<<4)|(c<<2)|c|(c>>2)])>>4) & 0x0c)|
|
||||
((((int)gamma_table[(d<<6)|(d<<4)|(d<<2)|d])>>6) ));
|
||||
sp++;
|
||||
}
|
||||
}
|
||||
@@ -3392,7 +3400,7 @@ png_do_gamma(png_row_infop row_info, png_bytep row,
|
||||
int lsb = *sp & 0x0f;
|
||||
|
||||
*sp = (png_byte)((((int)gamma_table[msb | (msb >> 4)]) & 0xf0)
|
||||
| (((int)gamma_table[(lsb << 4) | lsb]) >> 4));
|
||||
| (((int)gamma_table[(lsb << 4) | lsb]) >> 4));
|
||||
sp++;
|
||||
}
|
||||
}
|
||||
|
||||
203
pngrutil.c
203
pngrutil.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrutil.c - utilities to read a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -201,6 +201,72 @@ png_crc_error(png_structp png_ptr)
|
||||
|
||||
#if defined(PNG_READ_zTXt_SUPPORTED) || defined(PNG_READ_iTXt_SUPPORTED) || \
|
||||
defined(PNG_READ_iCCP_SUPPORTED)
|
||||
png_size_t
|
||||
png_measure_decompressed_chunk(png_structp png_ptr, int comp_type,
|
||||
png_size_t chunklength, png_size_t prefix_size)
|
||||
{
|
||||
png_charp text;
|
||||
png_charp test = "X";
|
||||
png_size_t text_size = 0;
|
||||
|
||||
if (comp_type == PNG_COMPRESSION_TYPE_BASE)
|
||||
{
|
||||
int ret = Z_OK;
|
||||
|
||||
png_ptr->zstream.next_in = (png_bytep)(png_ptr->chunkdata + prefix_size);
|
||||
png_ptr->zstream.avail_in = (uInt)(chunklength - prefix_size);
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
|
||||
text = NULL;
|
||||
|
||||
while (png_ptr->zstream.avail_in)
|
||||
{
|
||||
ret = inflate(&png_ptr->zstream, Z_PARTIAL_FLUSH);
|
||||
if (ret != Z_OK && ret != Z_STREAM_END)
|
||||
{
|
||||
inflateReset(&png_ptr->zstream);
|
||||
png_ptr->zstream.avail_in = 0;
|
||||
break;
|
||||
}
|
||||
if (!png_ptr->zstream.avail_out || ret == Z_STREAM_END)
|
||||
{
|
||||
if (text == NULL) /* Initialize the decompression buffer */
|
||||
{
|
||||
text_size = prefix_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out;
|
||||
|
||||
text=test;
|
||||
}
|
||||
else /* Enlarge the decompression buffer */
|
||||
{
|
||||
text_size += png_ptr->zbuf_size - png_ptr->zstream.avail_out;
|
||||
#ifdef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
|
||||
if (png_ptr->user_chunk_malloc_max &&
|
||||
(text_size >= png_ptr->user_chunk_malloc_max - 1))
|
||||
#else
|
||||
if ((PNG_USER_CHUNK_MALLOC_MAX > 0) &&
|
||||
text_size >= PNG_USER_CHUNK_MALLOC_MAX - 1)
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (ret == Z_STREAM_END)
|
||||
break;
|
||||
|
||||
else
|
||||
{
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
}
|
||||
}
|
||||
|
||||
inflateReset(&png_ptr->zstream);
|
||||
png_ptr->zstream.avail_in = 0;
|
||||
}
|
||||
return text_size;
|
||||
}
|
||||
|
||||
/*
|
||||
* Decompress trailing data in a chunk. The assumption is that chunkdata
|
||||
* points at an allocated area holding the contents of a chunk with a
|
||||
@@ -210,16 +276,27 @@ png_crc_error(png_structp png_ptr)
|
||||
*/
|
||||
void /* PRIVATE */
|
||||
png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
png_size_t chunklength,
|
||||
png_size_t prefix_size, png_size_t *newlength)
|
||||
png_size_t chunklength,
|
||||
png_size_t prefix_size, png_size_t *newlength)
|
||||
{
|
||||
static PNG_CONST char msg[] = "Error decoding compressed chunk";
|
||||
png_charp text;
|
||||
png_size_t text_size;
|
||||
png_size_t expanded_size;
|
||||
|
||||
expanded_size= png_measure_decompressed_chunk(png_ptr, comp_type,
|
||||
chunklength, prefix_size);
|
||||
if (expanded_size == 0)
|
||||
{
|
||||
*newlength=0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (comp_type == PNG_COMPRESSION_TYPE_BASE)
|
||||
{
|
||||
int ret = Z_OK;
|
||||
png_size_t buffer_size;
|
||||
|
||||
png_ptr->zstream.next_in = (png_bytep)(png_ptr->chunkdata + prefix_size);
|
||||
png_ptr->zstream.avail_in = (uInt)(chunklength - prefix_size);
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
@@ -227,6 +304,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
|
||||
text_size = 0;
|
||||
text = NULL;
|
||||
buffer_size = 0;
|
||||
|
||||
while (png_ptr->zstream.avail_in)
|
||||
{
|
||||
@@ -245,11 +323,12 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
text_size = prefix_size + png_sizeof(msg) + 1;
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr, "Not enough memory to decompress chunk");
|
||||
}
|
||||
{
|
||||
png_error(png_ptr,
|
||||
"Not enough memory to decompress chunk");
|
||||
text_size = 0;
|
||||
break;
|
||||
}
|
||||
png_memcpy(text, png_ptr->chunkdata, prefix_size);
|
||||
}
|
||||
|
||||
@@ -257,77 +336,46 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
|
||||
/* Copy what we can of the error message into the text chunk */
|
||||
text_size = (png_size_t)(chunklength -
|
||||
(text - png_ptr->chunkdata) - 1);
|
||||
(text - png_ptr->chunkdata) - 1);
|
||||
|
||||
if (text_size > png_sizeof(msg))
|
||||
text_size = png_sizeof(msg);
|
||||
|
||||
png_memcpy(text + prefix_size, msg, text_size);
|
||||
buffer_size = text_size;
|
||||
break;
|
||||
}
|
||||
if (!png_ptr->zstream.avail_out || ret == Z_STREAM_END)
|
||||
{
|
||||
if (text == NULL)
|
||||
if (text == NULL) /* Initialize the decompression buffer */
|
||||
{
|
||||
text_size = prefix_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out;
|
||||
text_size = expanded_size;
|
||||
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size + 1);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr,
|
||||
"Not enough memory to decompress chunk");
|
||||
text_size = 0;
|
||||
break;
|
||||
}
|
||||
png_memcpy(text + prefix_size, png_ptr->zbuf,
|
||||
text_size - prefix_size);
|
||||
png_memcpy(text, png_ptr->chunkdata, prefix_size);
|
||||
*(text + text_size) = 0x00;
|
||||
}
|
||||
else
|
||||
{
|
||||
png_charp tmp;
|
||||
|
||||
tmp = text;
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
if ((png_ptr->user_chunk_cache_max != 0) &&
|
||||
(--png_ptr->user_chunk_cache_max == 0))
|
||||
{
|
||||
png_warning(png_ptr, "No space in chunk cache");
|
||||
text = NULL;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
#endif
|
||||
text = (png_charp)png_malloc_warn(png_ptr,
|
||||
(png_size_t)(text_size +
|
||||
png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1));
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
}
|
||||
#endif
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, tmp);
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr,
|
||||
"Not enough memory to decompress chunk");
|
||||
}
|
||||
png_memcpy(text, tmp, text_size);
|
||||
png_free(png_ptr, tmp);
|
||||
png_memcpy(text + text_size, png_ptr->zbuf,
|
||||
(png_ptr->zbuf_size - png_ptr->zstream.avail_out));
|
||||
text_size += png_ptr->zbuf_size - png_ptr->zstream.avail_out;
|
||||
*(text + text_size) = 0x00;
|
||||
}
|
||||
if (ret == Z_STREAM_END)
|
||||
break;
|
||||
else
|
||||
{
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
buffer_size = text_size;
|
||||
}
|
||||
}
|
||||
if (ret == Z_STREAM_END)
|
||||
break;
|
||||
|
||||
else
|
||||
{
|
||||
png_ptr->zstream.next_out = png_ptr->zbuf;
|
||||
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret != Z_STREAM_END)
|
||||
{
|
||||
#ifdef PNG_STDIO_SUPPORTED
|
||||
@@ -358,11 +406,11 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
|
||||
{
|
||||
text = (png_charp)png_malloc_warn(png_ptr, text_size+1);
|
||||
if (text == NULL)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr, "Not enough memory for text");
|
||||
}
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunkdata);
|
||||
png_ptr->chunkdata = NULL;
|
||||
png_error(png_ptr, "Not enough memory for text");
|
||||
}
|
||||
png_memcpy(text, png_ptr->chunkdata, prefix_size);
|
||||
}
|
||||
*(text + text_size) = 0x00;
|
||||
@@ -1135,7 +1183,7 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug(1, "in png_handle_sPLT");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
@@ -1185,7 +1233,8 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_ptr->chunkdata[slength] = 0x00;
|
||||
|
||||
for (entry_start = (png_bytep)png_ptr->chunkdata; *entry_start; entry_start++)
|
||||
for (entry_start = (png_bytep)png_ptr->chunkdata; *entry_start;
|
||||
entry_start++)
|
||||
/* Empty loop to find end of name */ ;
|
||||
++entry_start;
|
||||
|
||||
@@ -1939,7 +1988,7 @@ png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug(1, "in png_handle_tEXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
@@ -2041,7 +2090,7 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug(1, "in png_handle_zTXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
@@ -2162,7 +2211,7 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug(1, "in png_handle_iTXt");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
@@ -2306,7 +2355,7 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
|
||||
png_debug(1, "in png_handle_unknown");
|
||||
|
||||
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
||||
#ifdef PNG_USER_LIMITS_SUPPORTED
|
||||
if (png_ptr->user_chunk_cache_max != 0)
|
||||
{
|
||||
if (png_ptr->user_chunk_cache_max == 1)
|
||||
@@ -2361,7 +2410,8 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
||||
png_memcpy((png_charp)png_ptr->unknown_chunk.name,
|
||||
(png_charp)png_ptr->chunk_name,
|
||||
png_sizeof(png_ptr->unknown_chunk.name));
|
||||
png_ptr->unknown_chunk.name[png_sizeof(png_ptr->unknown_chunk.name)-1] = '\0';
|
||||
png_ptr->unknown_chunk.name[png_sizeof(png_ptr->unknown_chunk.name)-1]
|
||||
= '\0';
|
||||
png_ptr->unknown_chunk.size = (png_size_t)length;
|
||||
if (length == 0)
|
||||
png_ptr->unknown_chunk.data = NULL;
|
||||
@@ -2833,7 +2883,8 @@ png_do_read_interlace(png_structp png_ptr)
|
||||
default:
|
||||
{
|
||||
png_size_t pixel_bytes = (row_info->pixel_depth >> 3);
|
||||
png_bytep sp = row + (png_size_t)(row_info->width - 1) * pixel_bytes;
|
||||
png_bytep sp = row + (png_size_t)(row_info->width - 1)
|
||||
* pixel_bytes;
|
||||
png_bytep dp = row + (png_size_t)(final_width - 1) * pixel_bytes;
|
||||
|
||||
int jstop = png_pass_inc[pass];
|
||||
@@ -3028,9 +3079,6 @@ png_read_finish_row(png_structp png_ptr)
|
||||
png_pass_start[png_ptr->pass]) /
|
||||
png_pass_inc[png_ptr->pass];
|
||||
|
||||
png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
|
||||
png_ptr->iwidth) + 1;
|
||||
|
||||
if (!(png_ptr->transformations & PNG_INTERLACE))
|
||||
{
|
||||
png_ptr->num_rows = (png_ptr->height +
|
||||
@@ -3155,16 +3203,12 @@ png_read_start_row(png_structp png_ptr)
|
||||
png_pass_inc[png_ptr->pass] - 1 -
|
||||
png_pass_start[png_ptr->pass]) /
|
||||
png_pass_inc[png_ptr->pass];
|
||||
|
||||
png_ptr->irowbytes =
|
||||
PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1;
|
||||
}
|
||||
else
|
||||
#endif /* PNG_READ_INTERLACING_SUPPORTED */
|
||||
{
|
||||
png_ptr->num_rows = png_ptr->height;
|
||||
png_ptr->iwidth = png_ptr->width;
|
||||
png_ptr->irowbytes = png_ptr->rowbytes + 1;
|
||||
}
|
||||
max_pixel_depth = png_ptr->pixel_depth;
|
||||
|
||||
@@ -3329,7 +3373,8 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
|
||||
png_debug1(3, "iwidth = %lu,", png_ptr->iwidth);
|
||||
png_debug1(3, "num_rows = %lu,", png_ptr->num_rows);
|
||||
png_debug1(3, "rowbytes = %lu,", png_ptr->rowbytes);
|
||||
png_debug1(3, "irowbytes = %lu", png_ptr->irowbytes);
|
||||
png_debug1(3, "irowbytes = %lu",
|
||||
PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1);
|
||||
|
||||
png_ptr->flags |= PNG_FLAG_ROW_INIT;
|
||||
}
|
||||
|
||||
22
pngset.c
22
pngset.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngset.c - storage of image information into info struct
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -1130,18 +1130,24 @@ png_set_user_limits (png_structp png_ptr, png_uint_32 user_width_max,
|
||||
png_ptr->user_width_max = user_width_max;
|
||||
png_ptr->user_height_max = user_height_max;
|
||||
}
|
||||
|
||||
/* This function was added to libpng 1.4.0 */
|
||||
void PNGAPI
|
||||
png_set_chunk_cache_max (png_structp png_ptr,
|
||||
png_uint_32 user_chunk_cache_max)
|
||||
{
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
png_ptr->user_chunk_cache_max = user_chunk_cache_max;
|
||||
if (user_chunk_cache_max == 0x7fffffffL) /* Unlimited */
|
||||
png_ptr->user_chunk_cache_max = 0;
|
||||
else
|
||||
png_ptr->user_chunk_cache_max = user_chunk_cache_max + 1;
|
||||
if (png_ptr)
|
||||
png_ptr->user_chunk_cache_max = user_chunk_cache_max;
|
||||
}
|
||||
|
||||
/* This function was added to libpng 1.4.1 */
|
||||
void PNGAPI
|
||||
png_set_chunk_malloc_max (png_structp png_ptr,
|
||||
png_alloc_size_t user_chunk_malloc_max)
|
||||
{
|
||||
if (png_ptr)
|
||||
png_ptr->user_chunk_malloc_max =
|
||||
(png_size_t)user_chunk_malloc_max;
|
||||
}
|
||||
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
|
||||
|
||||
|
||||
20
pngtest.c
20
pngtest.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngtest.c - a simple test program to test libpng
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -859,8 +859,8 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
{
|
||||
png_fixed_point white_x, white_y, red_x, red_y, green_x, green_y, blue_x,
|
||||
blue_y;
|
||||
if (png_get_cHRM_fixed(read_ptr, read_info_ptr, &white_x, &white_y, &red_x,
|
||||
&red_y, &green_x, &green_y, &blue_x, &blue_y))
|
||||
if (png_get_cHRM_fixed(read_ptr, read_info_ptr, &white_x, &white_y,
|
||||
&red_x, &red_y, &green_x, &green_y, &blue_x, &blue_y))
|
||||
{
|
||||
png_set_cHRM_fixed(write_ptr, write_info_ptr, white_x, white_y, red_x,
|
||||
red_y, green_x, green_y, blue_x, blue_y);
|
||||
@@ -1012,7 +1012,8 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
||||
if (png_get_sCAL_s(read_ptr, read_info_ptr, &unit, &scal_width,
|
||||
&scal_height))
|
||||
{
|
||||
png_set_sCAL_s(write_ptr, write_info_ptr, unit, scal_width, scal_height);
|
||||
png_set_sCAL_s(write_ptr, write_info_ptr, unit, scal_width,
|
||||
scal_height);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1465,14 +1466,14 @@ main(int argc, char *argv[])
|
||||
#endif
|
||||
for (i=2; i<argc; ++i)
|
||||
{
|
||||
#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
|
||||
int k;
|
||||
#endif
|
||||
int kerror;
|
||||
fprintf(STDERR, "\n Testing %s:", argv[i]);
|
||||
kerror = test_one_file(argv[i], outname);
|
||||
if (kerror == 0)
|
||||
{
|
||||
#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
|
||||
int k;
|
||||
#endif
|
||||
#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
|
||||
fprintf(STDERR, "\n PASS (%lu zero samples)\n",
|
||||
(unsigned long)zero_samples);
|
||||
@@ -1558,8 +1559,7 @@ main(int argc, char *argv[])
|
||||
for (k = 0; k<256; k++)
|
||||
if (filters_used[k])
|
||||
fprintf(STDERR, " Filter %d was used %lu times\n",
|
||||
k,
|
||||
(unsigned long)filters_used[k]);
|
||||
k, (unsigned long)filters_used[k]);
|
||||
#endif
|
||||
#ifdef PNG_TIME_RFC1123_SUPPORTED
|
||||
if (tIME_chunk_present != 0)
|
||||
@@ -1627,4 +1627,4 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef version_1_4_1beta01 your_png_h_is_not_version_1_4_1beta01;
|
||||
typedef version_1_4_1beta10 your_png_h_is_not_version_1_4_1beta10;
|
||||
|
||||
11
pngwrite.c
11
pngwrite.c
@@ -38,7 +38,8 @@ png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
|
||||
/* Write PNG signature */
|
||||
png_write_sig(png_ptr);
|
||||
#ifdef PNG_MNG_FEATURES_SUPPORTED
|
||||
if ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&(png_ptr->mng_features_permitted))
|
||||
if ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) && \
|
||||
(png_ptr->mng_features_permitted))
|
||||
{
|
||||
png_warning(png_ptr, "MNG features are not allowed in a PNG datastream");
|
||||
png_ptr->mng_features_permitted = 0;
|
||||
@@ -680,9 +681,11 @@ png_write_row(png_structp png_ptr, png_bytep row)
|
||||
if (png_ptr->transformations & PNG_FILLER)
|
||||
png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && \
|
||||
defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
|
||||
png_warning(png_ptr,
|
||||
"PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
|
||||
#endif
|
||||
#if !defined(PNG_WRITE_PACK_SUPPORTED) && defined(PNG_READ_PACK_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACK)
|
||||
@@ -936,7 +939,7 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
|
||||
{
|
||||
png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
|
||||
|
||||
#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
|
||||
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
||||
if (png_ptr->num_chunk_list)
|
||||
{
|
||||
png_free(png_ptr, png_ptr->chunk_list);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwtran.c - transforms the data in a row for PNG writers
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -30,7 +30,8 @@ png_do_write_transformations(png_structp png_ptr)
|
||||
#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
|
||||
if (png_ptr->transformations & PNG_USER_TRANSFORM)
|
||||
if (png_ptr->write_user_transform_fn != NULL)
|
||||
(*(png_ptr->write_user_transform_fn)) /* User write transform function */
|
||||
(*(png_ptr->write_user_transform_fn)) /* User write transform
|
||||
function */
|
||||
(png_ptr, /* png_ptr */
|
||||
&(png_ptr->row_info), /* row_info: */
|
||||
/* png_uint_32 width; width of row */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngwutil.c - utilities to write a PNG file
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [January 3, 2010]
|
||||
* Last changed in libpng 1.4.1 [February 8, 2010]
|
||||
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -436,7 +436,8 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
|
||||
case 4:
|
||||
case 8:
|
||||
case 16: png_ptr->channels = 1; break;
|
||||
default: png_error(png_ptr, "Invalid bit depth for grayscale image");
|
||||
default: png_error(png_ptr,
|
||||
"Invalid bit depth for grayscale image");
|
||||
}
|
||||
break;
|
||||
case PNG_COLOR_TYPE_RGB:
|
||||
@@ -639,7 +640,9 @@ png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal)
|
||||
png_write_chunk_data(png_ptr, buf, (png_size_t)3);
|
||||
}
|
||||
#else
|
||||
/* This is a little slower but some buggy compilers need to do this instead */
|
||||
/* This is a little slower but some buggy compilers need to do this
|
||||
* instead
|
||||
*/
|
||||
pal_ptr=palette;
|
||||
for (i = 0; i < num_pal; i++)
|
||||
{
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DYLIB_COMPATIBILITY_VERSION = 14;
|
||||
DYLIB_CURRENT_VERSION = 14;
|
||||
FRAMEWORK_VERSION = 1.4.1beta01;
|
||||
FRAMEWORK_VERSION = 1.4.1beta10;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
@@ -244,7 +244,7 @@
|
||||
buildSettings = {
|
||||
DYLIB_COMPATIBILITY_VERSION = 14;
|
||||
DYLIB_CURRENT_VERSION = 14;
|
||||
FRAMEWORK_VERSION = 1.4.1beta01;
|
||||
FRAMEWORK_VERSION = 1.4.1beta10;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
Makefiles for libpng version 1.4.1beta01 - January 8, 2010
|
||||
Makefiles for libpng version 1.4.1beta10 - February 8, 2010
|
||||
|
||||
makefile.linux => Linux/ELF makefile
|
||||
(gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
(gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
ansi2knr (Requires ansi2knr.c from
|
||||
@@ -20,7 +20,7 @@ Makefiles for libpng version 1.4.1beta01 - January 8, 2010
|
||||
makefile.dec => DEC Alpha UNIX makefile
|
||||
makefile.dj2 => DJGPP 2 makefile
|
||||
makefile.elf => Linux/ELF makefile symbol versioning,
|
||||
gcc, creates libpng14.so.14.1.4.1beta01)
|
||||
gcc, creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.freebsd => FreeBSD makefile
|
||||
makefile.gcc => Generic gcc makefile
|
||||
makefile.hpgcc => HPUX makefile using gcc
|
||||
@@ -36,12 +36,12 @@ Makefiles for libpng version 1.4.1beta01 - January 8, 2010
|
||||
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
|
||||
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
|
||||
makefile.sggcc => Silicon Graphics (gcc,
|
||||
creates libpng14.so.14.1.4.1beta01)
|
||||
creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||
makefile.solaris => Solaris 2.X makefile (gcc,
|
||||
creates libpng14.so.14.1.4.1beta01)
|
||||
creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.so9 => Solaris 9 makefile (gcc,
|
||||
creates libpng14.so.14.1.4.1beta01)
|
||||
creates libpng14.so.14.1.4.1beta10)
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
makefile.sunos => Sun makefile
|
||||
makefile.32sunu => Sun Ultra 32-bit makefile
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
# Modeled after libxml-config.
|
||||
|
||||
version=1.4.1beta01
|
||||
version=1.4.1beta10
|
||||
prefix=""
|
||||
libdir=""
|
||||
libs=""
|
||||
|
||||
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng14
|
||||
|
||||
Name: libpng
|
||||
Description: Loads and saves PNG files
|
||||
Version: 1.4.1beta01
|
||||
Version: 1.4.1beta10
|
||||
Libs: -L${libdir} -lpng14
|
||||
Cflags: -I${includedir}
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -149,14 +150,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -149,14 +150,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -127,16 +128,16 @@ install-static: install-headers libpng.a
|
||||
(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
|
||||
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -26,6 +26,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).dylib
|
||||
LIBSOMAJ=$(LIBNAME).$(PNGMAJ).dylib
|
||||
LIBSOREL=$(LIBNAME).$(PNGMAJ).$(RELEASE).dylib
|
||||
OLDSO=libpng.dylib
|
||||
|
||||
# Utilities:
|
||||
@@ -129,14 +130,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -13,6 +13,7 @@ LIBNAME = libpng14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -114,14 +115,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -20,6 +20,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
OLDSOMAJ=libpng.so.14
|
||||
|
||||
@@ -173,13 +174,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -25,6 +25,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.sl
|
||||
|
||||
# Utilities:
|
||||
@@ -132,14 +133,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.sl
|
||||
|
||||
# Utilities:
|
||||
@@ -141,14 +142,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -25,6 +25,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).sl
|
||||
LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.sl
|
||||
|
||||
# Utilities:
|
||||
@@ -129,14 +130,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng14
|
||||
|
||||
LIB= png14
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.4.1beta01
|
||||
SHLIB_MINOR= 1.4.1beta10
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
||||
@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
|
||||
|
||||
LIB= png
|
||||
SHLIB_MAJOR= 3
|
||||
SHLIB_MINOR= 1.4.1beta01
|
||||
SHLIB_MINOR= 1.4.1beta10
|
||||
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
||||
@@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
|
||||
MANDIR= ${PREFIX}/man/cat
|
||||
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.4.1beta01
|
||||
SHLIB_MINOR= 1.4.1beta10
|
||||
|
||||
LIB= png
|
||||
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
||||
|
||||
@@ -16,6 +16,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -127,13 +128,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -13,6 +13,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -135,13 +136,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -13,6 +13,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -135,14 +136,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
chmod 755 $(DL)/$(LIBSOMAJ)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -16,6 +16,7 @@ LIBNAME = libpng14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -147,13 +148,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -144,13 +145,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,6 +15,7 @@ PNGMAJ = 14
|
||||
# Shared library names:
|
||||
LIBSO=$(LIBNAME).so
|
||||
LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
|
||||
LIBSOREL=$(LIBSOMAJ).$(RELEASE)
|
||||
OLDSO=libpng.so
|
||||
|
||||
# Utilities:
|
||||
@@ -144,13 +145,13 @@ install-static: install-headers libpng.a
|
||||
install-shared: install-headers $(LIBSOMAJ) libpng.pc
|
||||
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
|
||||
-@$(RM_F) $(DL)/$(LIBSO)
|
||||
-@$(RM_F) $(DL)/$(LIBSOMAJ)
|
||||
-@$(RM_F) $(DL)/$(LIBSOREL)
|
||||
-@$(RM_F) $(DL)/$(OLDSO)
|
||||
cp $(LIBSOMAJ) $(DL)
|
||||
cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
|
||||
chmod 755 $(DL)/$(LIBSOREL)
|
||||
(cd $(DL); \
|
||||
$(LN_SF) $(LIBSOMAJ) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSOREL) $(LIBSO); \
|
||||
$(LN_SF) $(LIBSO) $(OLDSO))
|
||||
|
||||
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
|
||||
-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
|
||||
-@$(RM_F) $(DL)/pkgconfig/libpng.pc
|
||||
|
||||
@@ -15,7 +15,7 @@ LIBRARY lpngce
|
||||
png_get_int_32
|
||||
|
||||
EXPORTS
|
||||
;Version 1.4.1beta01
|
||||
;Version 1.4.1beta10
|
||||
png_build_grayscale_palette @1
|
||||
; png_check_sig @2
|
||||
png_chunk_error @3
|
||||
@@ -249,9 +249,11 @@ EXPORTS
|
||||
png_set_benign_error @211
|
||||
png_get_io_chunk_name @212
|
||||
png_get_io_state @213
|
||||
png_set_premultiply_alpha @214
|
||||
png_get_chunk_cache_max @215
|
||||
png_set_chunk_cache_max @216
|
||||
png_check_cHRM_fixed @217
|
||||
png_calloc @218
|
||||
png_set_longjmp_fn @219
|
||||
; Added at version 1.4.1
|
||||
png_get_chunk_malloc_max @220
|
||||
png_set_chunk_malloc_max @221
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
; PNG.LIB module definition file for OS/2
|
||||
;----------------------------------------
|
||||
|
||||
; Version 1.4.1beta01
|
||||
; Version 1.4.1beta10
|
||||
|
||||
LIBRARY PNG
|
||||
DESCRIPTION "PNG image compression library for OS/2"
|
||||
@@ -209,12 +209,14 @@ EXPORTS
|
||||
; png_set_benign_error
|
||||
png_get_io_chunk_name
|
||||
png_get_io_state
|
||||
png_set_premultiply_alpha
|
||||
png_get_chunk_cache_max
|
||||
png_set_chunk_cache_max
|
||||
png_check_cHRM_fixed
|
||||
png_calloc
|
||||
png_set_longjmp_fn
|
||||
; Added at version 1.4.1
|
||||
png_get_chunk_malloc_max
|
||||
png_set_chunk_malloc_max
|
||||
|
||||
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
|
||||
png_libpng_ver
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
LIBRARY
|
||||
|
||||
EXPORTS
|
||||
;Version 1.4.1beta01
|
||||
;Version 1.4.1beta10
|
||||
png_build_grayscale_palette
|
||||
png_chunk_error
|
||||
png_chunk_warning
|
||||
@@ -204,9 +204,11 @@ EXPORTS
|
||||
; png_set_benign_error
|
||||
png_get_io_chunk_name
|
||||
png_get_io_state
|
||||
png_set_premultiply_alpha
|
||||
png_get_chunk_cache_max
|
||||
png_set_chunk_cache_max
|
||||
png_check_cHRM_fixed
|
||||
png_calloc
|
||||
png_set_longjmp_fn
|
||||
; Added at version 1.4.1
|
||||
png_get_chunk_malloc_max
|
||||
png_set_chunk_malloc_max
|
||||
|
||||
Reference in New Issue
Block a user