Imported from libpng-1.2.8rc1.tar

This commit is contained in:
Glenn Randers-Pehrson 2004-11-24 07:50:16 -06:00
parent 4093607bc9
commit 5dd2b8e208
59 changed files with 661 additions and 524 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.2.8beta5 - November 20, 2004 Libpng 1.2.8rc1 - November 24, 2004
This is not intended to be a public release. It will be replaced 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. within a few weeks by a public version or by another test version.
@ -30,10 +30,16 @@ version 1.2.8beta5 [November 20, 2004]
compatibility. compatibility.
Revised handling of SPECIALBUILD, PRIVATEBUILD, Revised handling of SPECIALBUILD, PRIVATEBUILD,
PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
version 1.2.8rc1 [November 24, 2004]
Moved handling of BUILD macros from pngconf.h to png.h
Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
omitted from beta5.
Revised scripts/pngw32.rc
Despammed mailing addresses by masking "@" with "at".
Send comments/corrections/commendations to Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu (subscription required; write to png-implement at ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message) majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message)
or to glennrp@users.sourceforge.net or to glennrp at users.sourceforge.net
Glenn R-P Glenn R-P

12
CHANGES
View File

@ -1388,10 +1388,16 @@ version 1.2.8beta5 [November 20, 2004]
compatibility. compatibility.
Revised handling of SPECIALBUILD, PRIVATEBUILD, Revised handling of SPECIALBUILD, PRIVATEBUILD,
PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
version 1.2.8rc1 [November 24, 2004]
Moved handling of BUILD macros from pngconf.h to png.h
Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
omitted from beta5.
Revised scripts/pngw32.rc
Despammed mailing addresses by masking "@" with "at".
Send comments/corrections/commendations to Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu (subscription required; write to png-implement at ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message) majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message)
or to glennrp@users.sourceforge.net or to glennrp at users.sourceforge.net
Glenn R-P Glenn R-P

14
INSTALL
View File

@ -1,5 +1,5 @@
Installing libpng version 1.2.8beta5 - November 20, 2004 Installing libpng version 1.2.8rc1 - November 24, 2004
Before installing libpng, you must first install zlib. zlib Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be can usually be found wherever you got libpng. zlib can be
@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the
version of zlib that's installed. version of zlib that's installed.
You can rename the directories that you downloaded (they You can rename the directories that you downloaded (they
might be called "libpng-1.2.8beta5" or "lpng109" and "zlib-1.2.1" might be called "libpng-1.2.8rc1" or "lpng109" and "zlib-1.2.1"
or "zlib121") so that you have directories called "zlib" and "libpng". or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this: Your directory structure should look like this:
@ -67,9 +67,9 @@ include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8beta5) (gcc, creates libpng12.so.0.1.2.8rc1)
makefile.gcmmx => Linux/ELF makefile makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8beta5, (gcc, creates libpng12.so.0.1.2.8rc1,
uses assembler code tuned for Intel MMX platform) uses assembler code tuned for Intel MMX platform)
makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with makefile.knr => Archaic UNIX Makefile that converts files with
@ -92,12 +92,12 @@ include
makefile.openbsd => OpenBSD makefile makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc, makefile.sggcc => Silicon Graphics (gcc,
creates libpng12.so.0.1.2.8beta5) creates libpng12.so.0.1.2.8rc1)
makefile.sunos => Sun makefile makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc, makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng12.so.0.1.2.8beta5) creates libpng12.so.0.1.2.8rc1)
makefile.so9 => Solaris 9 makefile (gcc, makefile.so9 => Solaris 9 makefile (gcc,
creates libpng12.so.0.1.2.8beta5) creates libpng12.so.0.1.2.8rc1)
makefile.32sunu => Sun Ultra 32-bit makefile makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc

View File

@ -1,5 +1,5 @@
Known bugs in libpng version 1.2.8beta5 Known bugs in libpng version 1.2.8rc1
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled but running reading interlaced PNG files, when assembler code is enabled but running

View File

@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following If you modify libpng you may insert additional notices immediately following
this sentence. this sentence.
libpng version 1.2.6, November 20, 2004, is libpng version 1.2.6, November 24, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -105,5 +105,5 @@ Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative. certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp@users.sourceforge.net glennrp at users.sourceforge.net
November 20, 2004 November 24, 2004

28
README
View File

@ -1,4 +1,4 @@
README for libpng version 1.2.8beta5 - November 20, 2004 (shared library 12.0) README for libpng version 1.2.8rc1 - November 24, 2004 (shared library 12.0)
See the note about version numbers near the top of png.h See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng. See INSTALL for instructions on how to install libpng.
@ -103,17 +103,17 @@ fix. Please mention "libpng" somewhere in the subject line. Thanks.
This release was created and will be supported by myself (of course This release was created and will be supported by myself (of course
based in a large way on Guy's and Andreas' earlier work), and the PNG group. based in a large way on Guy's and Andreas' earlier work), and the PNG group.
glennrp@users.sourceforge.net glennrp at users.sourceforge.net
png-implement@ccrc.wustl.edu (subscription required; write to png-implement at ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message). majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message).
You can't reach Guy, the original libpng author, at the addresses You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will read mail given in previous versions of this document. He and Andreas will read mail
addressed to the png-implement list, however. addressed to the png-implement list, however.
Please do not send general questions about PNG. Send them to Please do not send general questions about PNG. Send them to
the (png-list@ccrc.wustl.edu, subscription required, write to the (png-list at ccrc.wustl.edu, subscription required, write to
majordomo@ccrc.wustl.edu with "subscribe png-list" in your message). majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
On the other hand, On the other hand,
please do not send libpng questions to that address, send them to me please do not send libpng questions to that address, send them to me
or to the png-implement list. I'll or to the png-implement list. I'll
@ -189,9 +189,9 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8beta5) (gcc, creates libpng12.so.0.1.2.8rc1)
makefile.gcmmx => Linux/ELF makefile makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8beta5, (gcc, creates libpng12.so.0.1.2.8rc1,
uses assembler code tuned for Intel MMX platform) uses assembler code tuned for Intel MMX platform)
makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with makefile.knr => Archaic UNIX Makefile that converts files with
@ -213,12 +213,12 @@ Files in this distribution:
makefile.openbsd => OpenBSD makefile makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics makefile.sggcc => Silicon Graphics
(gcc, creates libpng12.so.0.1.2.8beta5) (gcc, creates libpng12.so.0.1.2.8rc1)
makefile.sunos => Sun makefile makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng12.so.0.1.2.8beta5) (gcc, creates libpng12.so.0.1.2.8rc1)
makefile.so9 => Solaris 9 makefile makefile.so9 => Solaris 9 makefile
(gcc, creates libpng12.so.0.1.2.8beta5) (gcc, creates libpng12.so.0.1.2.8rc1)
makefile.32sunu => Sun Ultra 32-bit makefile makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
@ -249,12 +249,12 @@ Files in this distribution:
Good luck, and happy coding. Good luck, and happy coding.
-Glenn Randers-Pehrson (current maintainer) -Glenn Randers-Pehrson (current maintainer)
Internet: glennrp@users.sourceforge.net Internet: glennrp at users.sourceforge.net
-Andreas Eric Dilger (former maintainer, 1996-1997) -Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger@enel.ucalgary.ca Internet: adilger at enel.ucalgary.ca
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/ Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
-Guy Eric Schalnat (original author and former maintainer, 1995-1996) -Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc) (formerly of Group 42, Inc)
Internet: gschal@infinet.com Internet: gschal at infinet.com

View File

@ -1,13 +1,13 @@
Y2K compliance in libpng: Y2K compliance in libpng:
========================= =========================
November 20, 2004 November 24, 2004
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
This is your unofficial assurance that libpng from version 0.71 and This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8beta5 are Y2K compliant. It is my belief that earlier upward through 1.2.8rc1 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant. versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer Libpng only has three year fields. One is a 2-byte unsigned integer

4
configure vendored
View File

@ -1,13 +1,13 @@
#!/bin/sh #!/bin/sh
echo " echo "
There is no \"configure\" script in this distribution of There is no \"configure\" script in this distribution of
libpng-1.2.8beta5. libpng-1.2.8rc1.
Instead, please copy the appropriate makefile for your system from the Instead, please copy the appropriate makefile for your system from the
\"scripts\" directory. Read the INSTALL file for more details. \"scripts\" directory. Read the INSTALL file for more details.
Update, July 2004: you can get a "configure" based distribution Update, July 2004: you can get a "configure" based distribution
from the libpng distribution sites. Download the file from the libpng distribution sites. Download the file
libpng-1.2.8beta5-config.tar.gz libpng-1.2.8rc1-config.tar.gz
" "

View File

@ -1,6 +1,6 @@
.TH LIBPNG 3 "November 20, 2004" .TH LIBPNG 3 "November 24, 2004"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5 libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc1
.SH SYNOPSIS .SH SYNOPSIS
\fI\fB \fI\fB
@ -781,9 +781,9 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng libpng.txt - A description on how to use and modify libpng
libpng version 1.2.8beta5 - November 20, 2004 libpng version 1.2.8rc1 - November 24, 2004
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson
For conditions of distribution and use, see copyright For conditions of distribution and use, see copyright
notice in png.h. notice in png.h.
@ -1704,7 +1704,7 @@ the normalized graylevel is computed:
The default values approximate those recommended in the Charles The default values approximate those recommended in the Charles
Poynton's Color FAQ, <http://www.inforamp.net/~poynton/> Poynton's Color FAQ, <http://www.inforamp.net/~poynton/>
Copyright (c) 1998-01-04 Charles Poynton poynton@inforamp.net Copyright (c) 1998-01-04 Charles Poynton <poynton at inforamp.net>
Y = 0.212671 * R + 0.715160 * G + 0.072169 * B Y = 0.212671 * R + 0.715160 * G + 0.072169 * B
@ -3685,13 +3685,13 @@ application:
.SH IX. Y2K Compliance in libpng .SH IX. Y2K Compliance in libpng
November 20, 2004 November 24, 2004
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
This is your unofficial assurance that libpng from version 0.71 and This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8beta5 are Y2K compliant. It is my belief that earlier upward through 1.2.8rc1 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant. versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that Libpng only has three year fields. One is a 2-byte unsigned integer that
@ -3840,6 +3840,8 @@ the first widely used release:
1.0.17 10 10017 12.so.0.1.0.17 1.0.17 10 10017 12.so.0.1.0.17
1.2.7 13 10207 12.so.0.1.2.7 1.2.7 13 10207 12.so.0.1.2.7
1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
1.0.18rc1 10 10018 12.so.0.1.0.18rc1
1.2.8rc1 13 10208 12.so.0.1.2.8rc1
Henceforth the source version will match the shared-library minor Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be and patch numbers; the shared-library major version number will be
@ -3887,7 +3889,7 @@ and this library, the specification takes precedence.
.SH AUTHORS .SH AUTHORS
This man page: Glenn Randers-Pehrson This man page: Glenn Randers-Pehrson
<glennrp@users.sourceforge.net> <glennrp at users.sourceforge.net>
The contributing authors would like to thank all those who helped The contributing authors would like to thank all those who helped
with testing, bug fixes, and patience. This wouldn't have been with testing, bug fixes, and patience. This wouldn't have been
@ -3895,14 +3897,14 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.2.8beta5 - November 20, 2004: Libpng version 1.2.8rc1 - November 24, 2004:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp@users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
Supported by the PNG development group Supported by the PNG development group
.br .br
png-implement@ccrc.wustl.edu (subscription required; write to png-implement at ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message). majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message).
.SH COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: .SH COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
@ -3913,7 +3915,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following If you modify libpng you may insert additional notices immediately following
this sentence. this sentence.
libpng version 1.2.6, November 20, 2004, is libpng version 1.2.6, November 24, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -4011,8 +4013,8 @@ Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative. certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp@users.sourceforge.net glennrp at users.sourceforge.net
November 20, 2004 November 24, 2004
.\" end of man page .\" end of man page

View File

@ -1,8 +1,8 @@
libpng.txt - A description on how to use and modify libpng libpng.txt - A description on how to use and modify libpng
libpng version 1.2.8beta5 - November 20, 2004 libpng version 1.2.8rc1 - November 24, 2004
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson
For conditions of distribution and use, see copyright For conditions of distribution and use, see copyright
notice in png.h. notice in png.h.
@ -923,7 +923,7 @@ the normalized graylevel is computed:
The default values approximate those recommended in the Charles The default values approximate those recommended in the Charles
Poynton's Color FAQ, <http://www.inforamp.net/~poynton/> Poynton's Color FAQ, <http://www.inforamp.net/~poynton/>
Copyright (c) 1998-01-04 Charles Poynton poynton@inforamp.net Copyright (c) 1998-01-04 Charles Poynton <poynton at inforamp.net>
Y = 0.212671 * R + 0.715160 * G + 0.072169 * B Y = 0.212671 * R + 0.715160 * G + 0.072169 * B
@ -2904,13 +2904,13 @@ application:
IX. Y2K Compliance in libpng IX. Y2K Compliance in libpng
November 20, 2004 November 24, 2004
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
This is your unofficial assurance that libpng from version 0.71 and This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8beta5 are Y2K compliant. It is my belief that earlier upward through 1.2.8rc1 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant. versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that Libpng only has three year fields. One is a 2-byte unsigned integer that

View File

@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "November 20, 2004" .TH LIBPNGPF 3 "November 24, 2004"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5 libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc1
(private functions) (private functions)
.SH SYNOPSIS .SH SYNOPSIS
\fB\fB#include <png.h>\fP\fP \fB\fB#include <png.h>\fP\fP
@ -827,7 +827,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
\fI\fB \fI\fB
\fB\fBint png_set_text_2 (png_structp \fP\fI\fP\fIpng_ptr\fP\fB\fP\fB, png_infop \fP\fI\fP\fIinfo_ptr\fP\fB\fP\fB, png_textp \fP\fI\fP\fItext_ptr\fP\fB\fP\fB, int \fI\fInum_text)\fP\fB\fP\fB);\fP\fP \fB\fBint png_set_text_2 (png_structp \fP\fI\fP\fIpng_ptr\fP\fB\fP\fB, png_infop \fP\fI\fP\fIinfo_ptr\fP\fB\fP\fB, png_textp \fP\fI\fP\fItext_ptr\fP\fB\fP\fB, int \fI\fInum_text\fP\fB\fP\fB);\fP\fP
\fI\fB \fI\fB
@ -939,7 +939,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
\fI\fB \fI\fB
\fB\fBvoid png_write_iTXt (png_structp \fP\fI\fP\fIpng_ptr\fP\fB\fP\fB, int \fP\fI\fP\fIcompression\fP\fB\fP\fB, png_charp \fP\fI\fP\fIkey\fP\fB\fP\fB, png_charp \fP\fI\fP\fIlang\fP\fB\fP\fB, png_charp \fP\fI\fP\fItranslated_key\fP\fB\fP\fB, png_charp \fI\fItext)\fP\fB\fP\fB);\fP\fP \fB\fBvoid png_write_iTXt (png_structp \fP\fI\fP\fIpng_ptr\fP\fB\fP\fB, int \fP\fI\fP\fIcompression\fP\fB\fP\fB, png_charp \fP\fI\fP\fIkey\fP\fB\fP\fB, png_charp \fP\fI\fP\fIlang\fP\fB\fP\fB, png_charp \fP\fI\fP\fItranslated_key\fP\fB\fP\fB, png_charp \fI\fItext\fP\fB\fP\fB);\fP\fP
\fI\fB \fI\fB

2
png.5
View File

@ -1,4 +1,4 @@
.TH PNG 5 "November 20, 2004" .TH PNG 5 "November 24, 2004"
.SH NAME .SH NAME
png \- Portable Network Graphics (PNG) format png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION .SH DESCRIPTION

6
png.c
View File

@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions /* png.c - location for general purpose libpng functions
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -13,7 +13,7 @@
#include "png.h" #include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */ /* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_2_8beta5 Your_png_h_is_not_version_1_2_8beta5; typedef version_1_2_8rc1 Your_png_h_is_not_version_1_2_8rc1;
/* Version information for C files. This had better match the version /* Version information for C files. This had better match the version
* string defined in png.h. */ * string defined in png.h. */
@ -680,7 +680,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr) png_get_copyright(png_structp png_ptr)
{ {
if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */ if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */
return ((png_charp) "\n libpng version 1.2.8beta5 - November 20, 2004\n\ return ((png_charp) "\n libpng version 1.2.8rc1 - November 24, 2004\n\
Copyright (c) 1998-2004 Glenn Randers-Pehrson\n\ Copyright (c) 1998-2004 Glenn Randers-Pehrson\n\
Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1996-1997 Andreas Dilger\n\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");

51
png.h
View File

@ -1,6 +1,6 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -8,7 +8,7 @@
* Authors and maintainers: * Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.2.8beta5 - November 20, 2004: Glenn * libpng versions 0.97, January 1998, through 1.2.8rc1 - November 24, 2004: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@ -107,6 +107,8 @@
* 1.0.17 10 10017 12.so.0.1.0.17 * 1.0.17 10 10017 12.so.0.1.0.17
* 1.2.7 13 10207 12.so.0.1.2.7 * 1.2.7 13 10207 12.so.0.1.2.7
* 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
* 1.0.18rc1 10 10018 12.so.0.1.0.18rc1
* 1.2.8rc1 13 10208 12.so.0.1.2.8rc1
* *
* Henceforth the source version will match the shared-library major * Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be * and minor numbers; the shared-library major version number will be
@ -136,7 +138,7 @@
* If you modify libpng you may insert additional notices immediately following * If you modify libpng you may insert additional notices immediately following
* this sentence. * this sentence.
* *
* libpng versions 1.2.6, August 15, 2004, through 1.2.8beta5, November 20, 2004, are * libpng versions 1.2.6, August 15, 2004, through 1.2.8rc1, November 24, 2004, are
* Copyright (c) 2004 Glenn Randers-Pehrson, and are * Copyright (c) 2004 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5 * distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors: * with the following individual added to the list of Contributing Authors:
@ -248,13 +250,13 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* November 20, 2004 * November 24, 2004
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
* *
* This is your unofficial assurance that libpng from version 0.71 and * This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.2.8beta5 are Y2K compliant. It is my belief that earlier * upward through 1.2.8rc1 are Y2K compliant. It is my belief that earlier
* versions were also Y2K compliant. * versions were also Y2K compliant.
* *
* Libpng only has three year fields. One is a 2-byte unsigned integer * Libpng only has three year fields. One is a 2-byte unsigned integer
@ -310,9 +312,9 @@
*/ */
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.8beta5" #define PNG_LIBPNG_VER_STRING "1.2.8rc1"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.2.8beta5 - November 20, 2004 (header)\n" " libpng version 1.2.8rc1 - November 24, 2004 (header)\n"
#define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 13 #define PNG_LIBPNG_VER_DLLNUM 13
@ -324,7 +326,7 @@
/* This should match the numeric part of the final component of /* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */ * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
#define PNG_LIBPNG_VER_BUILD 5 #define PNG_LIBPNG_VER_BUILD 1
/* Release Status */ /* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_ALPHA 1
@ -341,6 +343,8 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */ PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
/* Careful here. At one time, Guy wanted to use 082, but that would be octal. /* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros. * We must not include leading zeros.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
@ -349,13 +353,40 @@
#define PNG_LIBPNG_VER 10208 /* 1.2.8 */ #define PNG_LIBPNG_VER 10208 /* 1.2.8 */
#ifndef PNG_VERSION_INFO_ONLY #ifndef PNG_VERSION_INFO_ONLY
/* include the compression library's header */ /* include the compression library's header */
#include "zlib.h" #include "zlib.h"
#endif
/* include all user configurable info, including optional assembler routines */ /* include all user configurable info, including optional assembler routines */
#include "pngconf.h" #include "pngconf.h"
/*
* Added at libpng-1.2.8 */
/* Ref MSDN: Private as priority over Special
* VS_FF_PRIVATEBUILD File *was not* built using standard release
* procedures. If this value is given, the StringFileInfo block must
* contain a PrivateBuild string.
*
* VS_FF_SPECIALBUILD File *was* built by the original company using
* standard release procedures but is a variation of the standard
* file of the same version number. If this value is given, the
* StringFileInfo block must contain a SpecialBuild string.
*/
#if defined(PNG_USER_PRIVATEBUILD)
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE |
PNG_LIBPNG_BUILD_PRIVATE
#else
# if defined(PNG_LIBPNG_SPECIALBUILD)
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE |
PNG_LIBPNG_BUILD_SPECIAL
# else
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE
# endif
#endif
#ifndef PNG_VERSION_INFO_ONLY
/* Inhibit C++ name-mangling for libpng functions but not for system calls. */ /* Inhibit C++ name-mangling for libpng functions but not for system calls. */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -1323,7 +1354,7 @@ struct png_struct_def
/* This triggers a compiler error in png.c, if png.c and png.h /* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number. * do not agree upon the version number.
*/ */
typedef png_structp version_1_2_8beta5; typedef png_structp version_1_2_8rc1;
typedef png_struct FAR * FAR * png_structpp; typedef png_struct FAR * FAR * png_structpp;

127
pngconf.h
View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine configurable file for libpng
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -17,13 +17,53 @@
#ifndef PNGCONF_H #ifndef PNGCONF_H
#define PNGCONF_H #define PNGCONF_H
#define PNG_1_2_X
/*
* PNG_USER_CONFIG has to be defined on the compiler command line. This
* includes the resource compiler for Windows DLL configurations.
*/
#ifdef PNG_USER_CONFIG #ifdef PNG_USER_CONFIG
#include "pngusr.h" #include "pngusr.h"
#endif #endif
#define PNG_1_2_X
/* Added at libpng-1.2.8 */ /*
#define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BETA * Added at libpng-1.2.8
*
* If you create a private DLL you need to define in "pngusr.h" the followings:
* #define PNG_USER_PRIVATEBUILD <Describes by whom and why this version of
* the DLL was built>
* e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons."
* #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to
* distinguish your DLL from those of the official release. These
* correspond to the trailing letters that come after the version
* number and must match your private DLL name>
* e.g. // private DLL "libpng13gx.dll"
* #define PNG_USER_DLLFNAME_POSTFIX "gx"
*
* The following macros are also at your disposal if you want to complete the
* DLL VERSIONINFO structure.
* - PNG_USER_VERSIONINFO_COMMENTS
* - PNG_USER_VERSIONINFO_COMPANYNAME
* - PNG_USER_VERSIONINFO_LEGALTRADEMARKS
*/
#ifdef __STDC__
#ifdef SPECIALBUILD
# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\
are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.")
#endif
#ifdef PRIVATEBUILD
# pragma message("PRIVATEBUILD is deprecated. Use\
PNG_USER_PRIVATEBUILD instead.")
# define PNG_USER_PRIVATEBUILD PRIVATEBUILD
#endif
#endif /* __STDC__ */
#ifndef PNG_VERSION_INFO_ONLY
/* End of material added to libpng-1.2.8 */
/* This is the size of the compression buffer, and thus the size of /* This is the size of the compression buffer, and thus the size of
* an IDAT chunk. Make this whatever size you feel is best for your * an IDAT chunk. Make this whatever size you feel is best for your
@ -1125,6 +1165,9 @@ typedef double FAR * FAR * png_doublepp;
/* Pointers to pointers to pointers; i.e., pointer to array */ /* Pointers to pointers to pointers; i.e., pointer to array */
typedef char FAR * FAR * FAR * png_charppp; typedef char FAR * FAR * FAR * png_charppp;
#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
/* SPC - Is this stuff deprecated? */
/* It'll be removed as of libpng-1.3.0 - GR-P */
/* libpng typedefs for types in zlib. If zlib changes /* libpng typedefs for types in zlib. If zlib changes
* or another compression library is used, then change these. * or another compression library is used, then change these.
* Eliminates need to change all the source files. * Eliminates need to change all the source files.
@ -1132,6 +1175,7 @@ typedef char FAR * FAR * FAR * png_charppp;
typedef charf * png_zcharp; typedef charf * png_zcharp;
typedef charf * FAR * png_zcharpp; typedef charf * FAR * png_zcharpp;
typedef z_stream FAR * png_zstreamp; typedef z_stream FAR * png_zstreamp;
#endif /* (PNG_1_0_X) || defined(PNG_1_2_X) */
/* /*
* Define PNG_BUILD_DLL if the module being built is a Windows * Define PNG_BUILD_DLL if the module being built is a Windows
@ -1376,78 +1420,7 @@ typedef z_stream FAR * png_zstreamp;
#endif /* PNG_INTERNAL */ #endif /* PNG_INTERNAL */
#endif /* PNG_READ_SUPPORTED */ #endif /* PNG_READ_SUPPORTED */
/* /* Added at libpng-1.2.8 */
* Added at libpng-1.2.8 #endif /* PNG_VERSION_INFO_ONLY */
*
* Can define PNG_LIBPNG_BUILD_TYPE using only the following:
* PNG_LIBPNG_BUILD_PRIVATE (including DLLFNAME_POSTFIX and
* PNG_LIBPNG_BUILD_PRIVATE_STRING)
*
* Ref MSDN
* VS_FF_PRIVATEBUILD File was ****not built using standard release****
* procedures. If this value is given, the StringFileInfo block must
* contain a PrivateBuild string.
*
* VS_FF_SPECIALBUILD File was built by the original company *****using
* standard release procedures***** but is a variation of the standard
* file of the same version number. If this value is given, the
* StringFileInfo block must contain a SpecialBuild string.
*/
#ifndef PNG_LIBPNG_BUILD_TYPE
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE
#else
# define PNG_LIBPNG_BUILD_TYPE_SAVE (PNG_LIBPNG_BUILD_TYPE & \
PNG_LIBPNG_BUILD_PRIVATE)
# undef PNG_LIBPNG_BUILD_TYPE
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE | \
PNG_LIBPNG_BUILD_TYPE_SAVE
# undef PNG_LIBPNG_BUILD_TYPE_SAVE
#endif
#undef PNG_LIBPNG_BUILD_BASE_TYPE
/* Private as priority over Special */
#if ((PNG_LIBPNG_BUILD_TYPE & (PNG_LIBPNG_BUILD_PRIVATE | \
PNG_LIBPNG_BUILD_SPECIAL)) == (PNG_LIBPNG_BUILD_PRIVATE | \
PNG_LIBPNG_BUILD_SPECIAL))
# define PNG_LIBPNG_BUILD_TYPE_SAVE PNG_LIBPNG_BUILD_TYPE
# define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_TYPE_SAVE & \
~PNG_LIBPNG_BUILD_SPECIAL
# undef PNG_LIBPNG_BUILD_TYPE_SAVE
#endif
/* Verify if PNG_LIBPNG_BUILD_PRIVATE_STRING is defined if PNG_LIBPNG_BUILD_PRIVATE is set */
#if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_PRIVATE)
/*
* PRIVATEBUILD is deprecated. Use PNG_LIBPNG_BUILD_PRIVATE_STRING instead.
*/
# if defined(PRIVATEBUILD) && !defined(PNG_LIBPNG_BUILD_PRIVATE_STRING)
# define PNG_LIBPNG_BUILD_PRIVATE_STRING PRIVATEBUILD
# else
# if !defined(PNG_LIBPNG_BUILD_PRIVATE_STRING)
# error "PNG_LIBPNG_BUILD_PRIVATE_STRING must be defined if \
PNG_LIBPNG_BUILD_PRIVATE set"
# endif
# endif
/* Verify if PNG_LIBPNG_BUILD_SPECIAL_STRING is defined \
if PNG_LIBPNG_BUILD_SPECIAL is set */
#else
# if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_SPECIAL)
/*
* SPECIALBUILD is deprecated. Use PNG_LIBPNG_BUILD_SPECIAL_STRING instead.
*/
# if defined(SPECIALBUILD) && !defined(PNG_LIBPNG_BUILD_SPECIAL_STRING)
# define PNG_LIBPNG_BUILD_SPECIAL_STRING SPECIALBUILD
# else
# if !defined(PNG_LIBPNG_BUILD_SPECIAL_STRING)
# error "PNG_LIBPNG_BUILD_SPECIAL_STRING must be defined \
if PNG_LIBPNG_BUILD_SPECIAL is set"
# endif
# endif
# endif
#endif
/* End of material added to libpng-1.2.8 */
#endif /* PNGCONF_H */ #endif /* PNGCONF_H */

View File

@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation /* pngerror.c - stub functions for i/o and memory allocation
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm * and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code. * for Intel's performance analysis of the MMX vs. non-MMX code.
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation * Copyright (c) 1998, Intel Corporation
@ -4998,7 +4998,7 @@ png_read_filter_row_mmx_up(png_row_infop row_info, png_bytep row,
"jz up_end \n\t" "jz up_end \n\t"
"cmpl $8, %%edx \n\t" // test for less than 8 bytes "cmpl $8, %%edx \n\t" // test for less than 8 bytes
"jb up_lt8 \n\t" // [added by lcreeve@netins.net] "jb up_lt8 \n\t" // [added by lcreeve at netins.net]
"addl %%edx, %%ecx \n\t" "addl %%edx, %%ecx \n\t"
"andl $0x00000007, %%edx \n\t" // calc bytes over mult of 8 "andl $0x00000007, %%edx \n\t" // calc bytes over mult of 8

View File

@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct /* pngget.c - retrieval of values from info struct
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation /* pngmem.c - stub functions for memory allocation
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode /* pngpread.c - read a png file in push mode
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngread.c - read a PNG file /* pngread.c - read a PNG file
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -805,7 +805,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
* not called png_set_interlace_handling(), the display_row buffer will * not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it. * be ignored, so pass NULL to it.
* *
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8beta5 * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc1
*/ */
void PNGAPI void PNGAPI
@ -855,7 +855,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for * only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead. * each pass of a interlaced image, use png_read_rows() instead.
* *
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8beta5 * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc1
*/ */
void PNGAPI void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image) png_read_image(png_structp png_ptr, png_bytepp image)

View File

@ -1,7 +1,7 @@
/* pngrio.c - functions for data input /* pngrio.c - functions for data input
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers /* pngrtran.c - transforms the data in a row for PNG readers
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -2104,7 +2104,7 @@ png_do_gray_to_rgb(png_row_infop row_info, png_bytep row)
/* reduce RGB files to grayscale, with or without alpha /* reduce RGB files to grayscale, with or without alpha
* using the equation given in Poynton's ColorFAQ at * using the equation given in Poynton's ColorFAQ at
* <http://www.inforamp.net/~poynton/> * <http://www.inforamp.net/~poynton/>
* Copyright (c) 1998-01-04 Charles Poynton poynton@inforamp.net * Copyright (c) 1998-01-04 Charles Poynton poynton at inforamp.net
* *
* Y = 0.212671 * R + 0.715160 * G + 0.072169 * B * Y = 0.212671 * R + 0.715160 * G + 0.072169 * B
* *

View File

@ -1,6 +1,6 @@
/* pngrutil.c - utilities to read a PNG file /* pngrutil.c - utilities to read a PNG file
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -2260,59 +2260,46 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
} }
else else
{ {
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
static const png_byte bitrev[16] =
{0x00, 0x08, 0x04, 0x0C, 0x02, 0x0A, 0x06, 0x0E,
0x01, 0x09, 0x05, 0x0D, 0x03, 0x0B, 0x07, 0x0F};
static const png_byte lastbyte_mask_norm[8] =
{0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE};
static const png_byte lastbyte_mask_swap[8] =
{0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F};
const png_byte *lastbyte_mask =
(png_ptr->transformations & PNG_PACKSWAP) ?
lastbyte_mask_swap : lastbyte_mask_norm;
#else
static const png_byte lastbyte_mask[8] =
{0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE};
#endif
switch (png_ptr->row_info.pixel_depth) switch (png_ptr->row_info.pixel_depth)
{ {
case 1: case 1:
{ {
png_bytep sp = png_ptr->row_buf + 1; png_bytep sp = png_ptr->row_buf + 1;
png_bytep dp = row; png_bytep dp = row;
int s_inc, s_start, s_end;
int m = 0x80;
int shift;
png_uint_32 i; png_uint_32 i;
png_uint_32 row_width = png_ptr->width; png_byte pixel_mask;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (png_ptr->transformations & PNG_PACKSWAP) if (png_ptr->transformations & PNG_PACKSWAP)
{ mask = (bitrev[mask & 0x0F] << 4) | bitrev[(mask >> 4) & 0x0F];
s_start = 0;
s_end = 7;
s_inc = 1;
}
else
#endif #endif
pixel_mask = (png_byte)mask;
for (i = png_ptr->width; i >= 8; i -= 8)
{ {
s_start = 7; *dp = (*sp & pixel_mask) | (*dp & ~pixel_mask);
s_end = 0; sp++;
s_inc = -1; dp++;
} }
if (i > 0)
shift = s_start;
for (i = 0; i < row_width; i++)
{ {
if (m & mask) pixel_mask &= lastbyte_mask[i];
{ *dp = (*sp & pixel_mask) | (*dp & ~pixel_mask);
int value;
value = (*sp >> shift) & 0x01;
*dp &= (png_byte)((0x7f7f >> (7 - shift)) & 0xff);
*dp |= (png_byte)(value << shift);
}
if (shift == s_end)
{
shift = s_start;
sp++;
dp++;
}
else
shift += s_inc;
if (m == 1)
m = 0x80;
else
m >>= 1;
} }
break; break;
} }
@ -2320,51 +2307,40 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
{ {
png_bytep sp = png_ptr->row_buf + 1; png_bytep sp = png_ptr->row_buf + 1;
png_bytep dp = row; png_bytep dp = row;
int s_start, s_end, s_inc;
int m = 0x80;
int shift;
png_uint_32 i; png_uint_32 i;
png_uint_32 row_width = png_ptr->width; png_byte pixel_mask[2];
int value; int m = 0x80;
int j;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (png_ptr->transformations & PNG_PACKSWAP) if (png_ptr->transformations & PNG_PACKSWAP)
{ mask = bitrev[mask & 0x0F] | (bitrev[(mask >> 4) & 0x0F] << 4);
s_start = 0;
s_end = 6;
s_inc = 2;
}
else
#endif #endif
for (j = 0; j < 2; j++)
{ {
s_start = 6; pixel_mask[j] = 0;
s_end = 0; for (i = 4; i > 0; i--)
s_inc = -2;
}
shift = s_start;
for (i = 0; i < row_width; i++)
{
if (m & mask)
{ {
value = (*sp >> shift) & 0x03; pixel_mask[j] <<= 2;
*dp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff); if (m & mask)
*dp |= (png_byte)(value << shift); pixel_mask[j] |= 0x03;
}
if (shift == s_end)
{
shift = s_start;
sp++;
dp++;
}
else
shift += s_inc;
if (m == 1)
m = 0x80;
else
m >>= 1; m >>= 1;
}
}
j = 0;
for (i = png_ptr->width; i >= 4; i -= 4)
{
if (pixel_mask[j] != 0)
*dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]);
sp++;
dp++;
j ^= 1;
}
if (i > 0)
{
pixel_mask[j] &= lastbyte_mask[i * 2];
if (pixel_mask[j] != 0)
*dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]);
} }
break; break;
} }
@ -2372,50 +2348,41 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
{ {
png_bytep sp = png_ptr->row_buf + 1; png_bytep sp = png_ptr->row_buf + 1;
png_bytep dp = row; png_bytep dp = row;
int s_start, s_end, s_inc;
int m = 0x80;
int shift;
png_uint_32 i; png_uint_32 i;
png_uint_32 row_width = png_ptr->width; png_byte pixel_mask[4];
int value; int m = 0x80;
int j;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (png_ptr->transformations & PNG_PACKSWAP) if (png_ptr->transformations & PNG_PACKSWAP)
{ mask = ((mask & 0x55) << 1) | ((mask & 0xAA) >> 1);
s_start = 0;
s_end = 4;
s_inc = 4;
}
else
#endif #endif
for (j = 0; j < 4; j++)
{ {
s_start = 4; pixel_mask[j] = 0;
s_end = 0; for (i = 2; i > 0; i--)
s_inc = -4;
}
shift = s_start;
for (i = 0; i < row_width; i++)
{
if (m & mask)
{ {
value = (*sp >> shift) & 0xf; pixel_mask[j] <<= 4;
*dp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff); if (m & mask)
*dp |= (png_byte)(value << shift); pixel_mask[j] |= 0x0F;
}
if (shift == s_end)
{
shift = s_start;
sp++;
dp++;
}
else
shift += s_inc;
if (m == 1)
m = 0x80;
else
m >>= 1; m >>= 1;
}
}
j = 0;
for (i = png_ptr->width; i >= 2; i -= 2)
{
if (pixel_mask[j] != 0)
*dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]);
sp++;
dp++;
j += 1;
j &= 3;
}
if (i > 0)
{
pixel_mask[j] &= lastbyte_mask[4];
if (pixel_mask[j] != 0)
*dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]);
} }
break; break;
} }
@ -2425,24 +2392,123 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
png_bytep dp = row; png_bytep dp = row;
png_size_t pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); png_size_t pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
png_uint_32 i; png_uint_32 i;
png_uint_32 row_width = png_ptr->width; int m = 0x80;
png_byte m = 0x80;
switch (pixel_bytes)
for (i = 0; i < row_width; i++)
{ {
if (m & mask) case 1:
{ for (i = png_ptr->width; i > 0; i--)
png_memcpy(dp, sp, pixel_bytes); {
} if (m & mask)
{
sp += pixel_bytes; *(dp + 0) = *(sp + 0);
dp += pixel_bytes; }
sp += 1;
if (m == 1) dp += 1;
m = 0x80; if ((m >>= 1) == 0)
else m = 0x80;
m >>= 1; }
break;
case 2:
for (i = png_ptr->width; i > 0; i--)
{
if (m & mask)
{
*(dp + 0) = *(sp + 0);
*(dp + 1) = *(sp + 1);
}
sp += 2;
dp += 2;
if ((m >>= 1) == 0)
m = 0x80;
}
break;
case 3:
for (i = png_ptr->width; i > 0; i--)
{
if (m & mask)
{
*(dp + 0) = *(sp + 0);
*(dp + 1) = *(sp + 1);
*(dp + 2) = *(sp + 2);
}
sp += 3;
dp += 3;
if ((m >>= 1) == 0)
m = 0x80;
}
break;
case 4:
for (i = png_ptr->width; i > 0; i--)
{
if (m & mask)
{
*(dp + 0) = *(sp + 0);
*(dp + 1) = *(sp + 1);
*(dp + 2) = *(sp + 2);
*(dp + 3) = *(sp + 3);
}
sp += 4;
dp += 4;
if ((m >>= 1) == 0)
m = 0x80;
}
break;
case 6:
for (i = png_ptr->width; i > 0; i--)
{
if (m & mask)
{
*(dp + 0) = *(sp + 0);
*(dp + 1) = *(sp + 1);
*(dp + 2) = *(sp + 2);
*(dp + 3) = *(sp + 3);
*(dp + 4) = *(sp + 4);
*(dp + 5) = *(sp + 5);
}
sp += 6;
dp += 6;
if ((m >>= 1) == 0)
m = 0x80;
}
break;
case 8:
for (i = png_ptr->width; i > 0; i--)
{
if (m & mask)
{
*(dp + 0) = *(sp + 0);
*(dp + 1) = *(sp + 1);
*(dp + 2) = *(sp + 2);
*(dp + 3) = *(sp + 3);
*(dp + 4) = *(sp + 4);
*(dp + 5) = *(sp + 5);
*(dp + 6) = *(sp + 6);
*(dp + 7) = *(sp + 7);
}
sp += 8;
dp += 8;
if ((m >>= 1) == 0)
m = 0x80;
}
break;
default:
/*for (i = png_ptr->width; i > 0; i--)
*{
* if (m & mask)
* {
* png_size_t j;
* for (j = 0; j < pixel_bytes; j++)
* {
* *(dp + j) = *(sp + j);
* }
* }
* sp += pixel_bytes;
* dp += pixel_bytes;
* if ((m >>= 1) == 0)
* m = 0x80;
*}
*/break;
} }
break; break;
} }
@ -2471,122 +2537,101 @@ png_do_read_interlace(png_structp png_ptr)
#endif #endif
png_debug(1,"in png_do_read_interlace (stock C version)\n"); png_debug(1,"in png_do_read_interlace (stock C version)\n");
if (row != NULL && row_info != NULL) if (row != NULL && row_info != NULL &&
pass < 6)
{ {
png_uint_32 final_width; png_uint_32 final_width = row_info->width * png_pass_inc[pass];
final_width = row_info->width * png_pass_inc[pass];
switch (row_info->pixel_depth) switch (row_info->pixel_depth)
{ {
case 1: case 1:
{ {
static const png_byte pixeltable1[24] =
{0x00, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0xFF,
0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F,
0xC0, 0xC3, 0xCC, 0xCF, 0xF0, 0xF3, 0xFC, 0xFF};
png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 3); png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 3);
png_bytep dp = row + (png_size_t)((final_width - 1) >> 3); png_bytep dp = row + (png_size_t)((final_width - 1) >> 3);
int sshift, dshift; int nbits = 8 / png_pass_inc[pass];
int s_start, s_end, s_inc; int sshift = 7 - (int)((row_info->width + 7) & 0x07);
int jstop = png_pass_inc[pass]; int s_inc = nbits;
png_byte v; png_byte smask = (1 << nbits) - 1;
const png_byte *pix = pixeltable1 + (2 * nbits);
png_uint_32 i; png_uint_32 i;
int j;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (transformations & PNG_PACKSWAP) if (transformations & PNG_PACKSWAP)
{ {
sshift = (int)((row_info->width + 7) & 0x07); sshift = 7 - sshift;
dshift = (int)((final_width + 7) & 0x07); s_inc = -s_inc;
s_start = 7;
s_end = 0;
s_inc = -1;
} }
else
#endif #endif
{ sshift &= (0x10 - nbits);
sshift = 7 - (int)((row_info->width + 7) & 0x07);
dshift = 7 - (int)((final_width + 7) & 0x07);
s_start = 0;
s_end = 7;
s_inc = 1;
}
for (i = 0; i < row_info->width; i++) for (i = (row_info->width + nbits - 1) / nbits;
i > 0; i--)
{ {
v = (png_byte)((*sp >> sshift) & 0x01); *dp-- = pix[(*sp >> sshift) & smask];
for (j = 0; j < jstop; j++)
sshift += s_inc;
if (sshift >= 8)
{ {
*dp &= (png_byte)((0x7f7f >> (7 - dshift)) & 0xff); sshift -= 8;
*dp |= (png_byte)(v << dshift); sp--;
if (dshift == s_end) }
{ else if (sshift < 0)
dshift = s_start; {
dp--; sshift += 8;
}
else
dshift += s_inc;
}
if (sshift == s_end)
{
sshift = s_start;
sp--; sp--;
} }
else
sshift += s_inc;
} }
break; break;
} }
case 2: case 2:
{ {
png_bytep sp = row + (png_uint_32)((row_info->width - 1) >> 2); static const png_byte pixeltable2[20] =
png_bytep dp = row + (png_uint_32)((final_width - 1) >> 2); {0x00, 0x55, 0xAA, 0xFF,
int sshift, dshift; 0x00, 0x05, 0x0A, 0x0F, 0x50, 0x55, 0x5A, 0x5F,
int s_start, s_end, s_inc; 0xA0, 0xA5, 0xAA, 0xAF, 0xF0, 0xF5, 0xFA, 0xFF};
int jstop = png_pass_inc[pass]; png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 2);
png_bytep dp = row + (png_size_t)((final_width - 1) >> 2);
int is2 = (png_pass_inc[pass] == 2);
int is8 = (png_pass_inc[pass] == 8);
int sshift = (int)((3 - ((row_info->width + 3) & 0x03)) << 1);
int s_inc = 2 << is2;
png_byte smask = (4 << (2 * is2)) - 1;
const png_byte *pix = pixeltable2 + (4 * is2);
png_uint_32 i; png_uint_32 i;
png_byte v;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (transformations & PNG_PACKSWAP) if (transformations & PNG_PACKSWAP)
{ {
sshift = (int)(((row_info->width + 3) & 0x03) << 1); sshift = 6 - sshift;
dshift = (int)(((final_width + 3) & 0x03) << 1); s_inc = -s_inc;
s_start = 6;
s_end = 0;
s_inc = -2;
} }
else
#endif #endif
{ sshift &= (0x0E - (2 * is2));
sshift = (int)((3 - ((row_info->width + 3) & 0x03)) << 1);
dshift = (int)((3 - ((final_width + 3) & 0x03)) << 1);
s_start = 0;
s_end = 6;
s_inc = 2;
}
for (i = 0; i < row_info->width; i++) for (i = (row_info->width + is2) >> is2;
i > 0; i--)
{ {
png_byte v; v = pix[(*sp >> sshift) & smask];
int j; *dp-- = v;
if (is8)
*dp-- = v;
v = (png_byte)((*sp >> sshift) & 0x03); sshift += s_inc;
for (j = 0; j < jstop; j++) if (sshift >= 8)
{ {
*dp &= (png_byte)((0x3f3f >> (6 - dshift)) & 0xff); sshift -= 8;
*dp |= (png_byte)(v << dshift); sp--;
if (dshift == s_end) }
{ else if (sshift < 0)
dshift = s_start; {
dp--; sshift += 8;
}
else
dshift += s_inc;
}
if (sshift == s_end)
{
sshift = s_start;
sp--; sp--;
} }
else
sshift += s_inc;
} }
break; break;
} }
@ -2594,54 +2639,39 @@ png_do_read_interlace(png_structp png_ptr)
{ {
png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 1); png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 1);
png_bytep dp = row + (png_size_t)((final_width - 1) >> 1); png_bytep dp = row + (png_size_t)((final_width - 1) >> 1);
int sshift, dshift; int jinit = png_pass_inc[pass] >> 1;
int s_start, s_end, s_inc; int sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2);
int s_inc = 4;
png_uint_32 i; png_uint_32 i;
int jstop = png_pass_inc[pass]; png_byte v;
int j;
#if defined(PNG_READ_PACKSWAP_SUPPORTED) #if defined(PNG_READ_PACKSWAP_SUPPORTED)
if (transformations & PNG_PACKSWAP) if (transformations & PNG_PACKSWAP)
{ {
sshift = (int)(((row_info->width + 1) & 0x01) << 2); sshift = 4 - sshift;
dshift = (int)(((final_width + 1) & 0x01) << 2); s_inc = -s_inc;
s_start = 4;
s_end = 0;
s_inc = -4;
} }
else
#endif #endif
for (i = row_info->width; i > 0; i--)
{ {
sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2); v = (*sp >> sshift) & 0x0F;
dshift = (int)((1 - ((final_width + 1) & 0x01)) << 2); v |= v << 4;
s_start = 0;
s_end = 4;
s_inc = 4;
}
for (i = 0; i < row_info->width; i++) for (j = jinit; j > 0; j--)
{ *dp-- = v;
png_byte v = (png_byte)((*sp >> sshift) & 0xf);
int j;
for (j = 0; j < jstop; j++) sshift += s_inc;
if (sshift >= 8)
{ {
*dp &= (png_byte)((0xf0f >> (4 - dshift)) & 0xff); sshift -= 8;
*dp |= (png_byte)(v << dshift); sp--;
if (dshift == s_end) }
{ else if (sshift < 0)
dshift = s_start; {
dp--; sshift += 8;
}
else
dshift += s_inc;
}
if (sshift == s_end)
{
sshift = s_start;
sp--; sp--;
} }
else
sshift += s_inc;
} }
break; break;
} }
@ -2649,23 +2679,112 @@ png_do_read_interlace(png_structp png_ptr)
{ {
png_size_t pixel_bytes = (row_info->pixel_depth >> 3); 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; png_bytep dp = row + (png_size_t)(final_width - 2) * pixel_bytes;
int jinit = png_pass_inc[pass] >> 1;
int jstop = png_pass_inc[pass];
png_uint_32 i; png_uint_32 i;
int j;
for (i = 0; i < row_info->width; i++) switch (pixel_bytes)
{ {
png_byte v[8]; case 1:
int j; for (i = row_info->width; i > 0; i--)
{
png_memcpy(v, sp, pixel_bytes); for (j = jinit; j > 0; j--)
for (j = 0; j < jstop; j++) {
{ *(dp + 0) = *(dp + 1) = *(sp + 0);
png_memcpy(dp, v, pixel_bytes); dp -= 2;
dp -= pixel_bytes; }
} sp -= 1;
sp -= pixel_bytes; }
break;
case 2:
for (i = row_info->width; i > 0; i--)
{
for (j = jinit; j > 0; j--)
{
*(dp + 0) = *(dp + 2) = *(sp + 0);
*(dp + 1) = *(dp + 3) = *(sp + 1);
dp -= 4;
}
sp -= 2;
}
break;
case 3:
for (i = row_info->width; i > 0; i--)
{
for (j = jinit; j > 0; j--)
{
*(dp + 0) = *(dp + 3) = *(sp + 0);
*(dp + 1) = *(dp + 4) = *(sp + 1);
*(dp + 2) = *(dp + 5) = *(sp + 2);
dp -= 6;
}
sp -= 3;
}
break;
case 4:
for (i = row_info->width; i > 0; i--)
{
for (j = jinit; j > 0; j--)
{
*(dp + 0) = *(dp + 4) = *(sp + 0);
*(dp + 1) = *(dp + 5) = *(sp + 1);
*(dp + 2) = *(dp + 6) = *(sp + 2);
*(dp + 3) = *(dp + 7) = *(sp + 3);
dp -= 8;
}
sp -= 4;
}
break;
case 6:
for (i = row_info->width; i > 0; i--)
{
for (j = jinit; j > 0; j--)
{
*(dp + 0) = *(dp + 6) = *(sp + 0);
*(dp + 1) = *(dp + 7) = *(sp + 1);
*(dp + 2) = *(dp + 8) = *(sp + 2);
*(dp + 3) = *(dp + 9) = *(sp + 3);
*(dp + 4) = *(dp + 10) = *(sp + 4);
*(dp + 5) = *(dp + 11) = *(sp + 5);
dp -= 12;
}
sp -= 6;
}
break;
case 8:
for (i = row_info->width; i > 0; i--)
{
for (j = jinit; j > 0; j--)
{
*(dp + 0) = *(dp + 8) = *(sp + 0);
*(dp + 1) = *(dp + 9) = *(sp + 1);
*(dp + 2) = *(dp + 10) = *(sp + 2);
*(dp + 3) = *(dp + 11) = *(sp + 3);
*(dp + 4) = *(dp + 12) = *(sp + 4);
*(dp + 5) = *(dp + 13) = *(sp + 5);
*(dp + 6) = *(dp + 14) = *(sp + 6);
*(dp + 7) = *(dp + 15) = *(sp + 7);
dp -= 16;
}
sp -= 8;
}
break;
default:
/*for (i = row_info->width; i > 0; i--)
*{
* for (j = jinit; j > 0; j--)
* {
* png_size_t k;
* for (k = 0; k < pixel_bytes; k++)
* {
* *(dp + pixel_bytes + k) = *(dp + k) = *(sp + k);
* }
* dp -= (2 * pixel_bytes);
* }
* sp -= pixel_bytes;
*}
*/break;
} }
break; break;
} }

View File

@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct /* pngset.c - storage of image information into info struct
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng /* pngtest.c - a simple test program to test libpng
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -1551,4 +1551,4 @@ main(int argc, char *argv[])
} }
/* Generate a compiler error if there is an old png.h in the search path. */ /* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_2_8beta5 your_png_h_is_not_version_1_2_8beta5; typedef version_1_2_8rc1 your_png_h_is_not_version_1_2_8rc1;

View File

@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers) /* pngtrans.c - transforms the data in a row (used by both readers and writers)
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -2,7 +2,7 @@
* *
* For Intel x86 CPU and Microsoft Visual C++ compiler * For Intel x86 CPU and Microsoft Visual C++ compiler
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation * Copyright (c) 1998, Intel Corporation
@ -3632,7 +3632,7 @@ duploop:
jz dupend jz dupend
// 2 lines added by lcreeve@netins.net // 2 lines added by lcreeve at netins.net
// (mail 11 Jul 98 in png-implement list) // (mail 11 Jul 98 in png-implement list)
cmp edx, 8 //test for less than 8 bytes cmp edx, 8 //test for less than 8 bytes
jb duplt8 jb duplt8

View File

@ -1,7 +1,7 @@
/* pngwio.c - functions for data output /* pngwio.c - functions for data output
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file /* pngwrite.c - general routines to write a PNG file
* *
* libpng 1.2.8beta5 - November 20, 2004 * libpng 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers /* pngwtran.c - transforms the data in a row for PNG writers
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file /* pngwutil.c - utilities to write a PNG file
* *
* libpng version 1.2.8beta5 - November 20, 2004 * libpng version 1.2.8rc1 - November 24, 2004
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -46,19 +46,9 @@ Notes:
If you change anything in the source files, or select different compiler If you change anything in the source files, or select different compiler
settings, please change the DLL name to something different than any of settings, please change the DLL name to something different than any of
the above names. the above names. Also, make sure that in your "pngusr.h" you define
PNG_USER_PRIVATEBUILD and PNG_USER_DLLFNAME_POSTFIX according to the
Also, make sure that DLLFNAME_POSTFIX and (PNG_LIBPNG_BUILD_PRIVATE_STRING instructions provided in "pngconf.h".
or PNG_LIBPNG_BUILD_SPECIAL_STRING) are defined and that PNG_LIBPNG_BUILD_TYPE
has either the PNG_LIBPNG_BUILD_SPECIAL or PNG_LIBPNG_BUILD_PRIVATE flag
set when compiling the resource file. DLLFNAME_POSTFIX contains
the trailing letters that come after the version number.
PNG_LIBPNG_BUILD_PRIVATE_STRING and/or PNG_LIBPNG_BUILD_SPECIAL_STRING store
information describing the type of change made
in the VERSIONINFO structure. Please refer to MSDN for more information
on the used macros and the nature of their content. For an example on
how to define these macros, look at the resource compiler settings for
the "Win32 DLL VB" configuration.
All DLLs built by this project use the Microsoft dynamic C runtime library All DLLs built by this project use the Microsoft dynamic C runtime library
MSVCRT.DLL (MSVCRTD.DLL for debug versions). If you distribute any of the MSVCRT.DLL (MSVCRTD.DLL for debug versions). If you distribute any of the

View File

@ -112,14 +112,14 @@ LINK32=link.exe
CPP=cl.exe CPP=cl.exe
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX /Yc /Yu # SUBTRACT BASE CPP /YX /Yc /Yu
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /FD /c # ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
# SUBTRACT CPP /YX /Yc /Yu # SUBTRACT CPP /YX /Yc /Yu
MTL=midl.exe MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG" /d "PNG_USE_PNGVCRD" # ADD RSC /l 0x409 /i "..\.." /d "NDEBUG" /d PNG_LIBPNG_SPECIALBUILD=""""Use MMX instructions""""
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
@ -143,14 +143,14 @@ LINK32=link.exe
CPP=cl.exe CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c # ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX /Yc /Yu # SUBTRACT BASE CPP /YX /Yc /Yu
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D "PNG_LIBPNG_SPECIALBUILD" /FD /GZ /c
# SUBTRACT CPP /YX /Yc /Yu # SUBTRACT CPP /YX /Yc /Yu
MTL=midl.exe MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
RSC=rc.exe RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1 /d "PNG_USE_PNGVCRD" # ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1 /d PNG_LIBPNG_SPECIALBUILD=""""Use MMX instructions""""
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
@ -174,14 +174,14 @@ LINK32=link.exe
CPP=cl.exe CPP=cl.exe
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX /Yc /Yu # SUBTRACT BASE CPP /YX /Yc /Yu
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /D "PNG_NO_MODULEDEF" /FD /c # ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /D "PNG_NO_MODULEDEF" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
# SUBTRACT CPP /YX /Yc /Yu # SUBTRACT CPP /YX /Yc /Yu
MTL=midl.exe MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG" /dDLLFNAME_POSTFIX=""""VB"""" /dSPECIALBUILD=""""__stdcall calling convention used for exported functions"""" # ADD RSC /l 0x409 /i "..\.." /d "NDEBUG" /dPNG_LIBPNG_DLLFNAME_POSTFIX=""""VB"""" /dPNG_LIBPNG_SPECIALBUILD=""""__stdcall calling convention used for exported functions""""
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
@ -264,7 +264,7 @@ LIB32=link.exe -lib
CPP=cl.exe CPP=cl.exe
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
# SUBTRACT BASE CPP /YX /Yc /Yu # SUBTRACT BASE CPP /YX /Yc /Yu
# ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /FD /c # ADD CPP /nologo /MD /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /FD /c
# SUBTRACT CPP /YX /Yc /Yu # SUBTRACT CPP /YX /Yc /Yu
RSC=rc.exe RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD BASE RSC /l 0x409 /d "NDEBUG"
@ -291,7 +291,7 @@ LIB32=link.exe -lib
CPP=cl.exe CPP=cl.exe
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c # ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
# SUBTRACT BASE CPP /YX /Yc /Yu # SUBTRACT BASE CPP /YX /Yc /Yu
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D PNG_DEBUG=1 /D "PNG_USE_PNGVCRD" /D "PNG_LIBPNG_SPECIALBUILD" /FD /GZ /c
# SUBTRACT CPP /YX /Yc /Yu # SUBTRACT CPP /YX /Yc /Yu
RSC=rc.exe RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD BASE RSC /l 0x409 /d "_DEBUG"

View File

@ -8,7 +8,7 @@
# Modeled after libxml-config. # Modeled after libxml-config.
version=1.2.8beta5 version=1.2.8rc1
prefix="" prefix=""
libdir="" libdir=""
libs="" libs=""

View File

@ -6,6 +6,6 @@ includedir=${exec_prefix}/include
Name: libpng12 Name: libpng12
Description: Loads and saves PNG files Description: Loads and saves PNG files
Version: 1.2.8beta5 Version: 1.2.8rc1
Libs: -L${libdir} -lpng12 -lz -lm Libs: -L${libdir} -lpng12 -lz -lm
Cflags: -I${includedir}/libpng12 Cflags: -I${includedir}/libpng12

View File

@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME=libpng12 LIBNAME=libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include INCPATH=$(prefix)/include

View File

@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME=libpng12 LIBNAME=libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include INCPATH=$(prefix)/include

View File

@ -18,7 +18,7 @@ RM = rm -f
LIBNAME=libpng12 LIBNAME=libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local prefix=/usr/local

View File

@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include ZLIBINC=/usr/local/include
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
ALIGN= ALIGN=

View File

@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng12 LIBNAME = libpng12
PNGMAJ = 0 PNGMAJ = 0
CYGDLL = 12 CYGDLL = 12
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll SHAREDLIB=cygpng$(CYGDLL).dll

View File

@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
RANLIB=ranlib RANLIB=ranlib
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -32,7 +32,7 @@ ZLIBLIB=../zlib
ZLIBINC=../zlib ZLIBINC=../zlib
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -15,7 +15,7 @@
LIBNAME = libpng12 LIBNAME = libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc CC=gcc

View File

@ -27,7 +27,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
RANLIB=ranlib RANLIB=ranlib
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -41,7 +41,7 @@ RANLIB=ranlib
#RANLIB=echo #RANLIB=echo
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
RANLIB=ranlib RANLIB=ranlib
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -5,7 +5,7 @@
LIBNAME = libpng12 LIBNAME = libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc CC=gcc

View File

@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
LIB= png12 LIB= png12
SHLIB_MAJOR= 0 SHLIB_MAJOR= 0
SHLIB_MINOR= 1.2.8beta5 SHLIB_MINOR= 1.2.8rc1
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB= png LIB= png
SHLIB_MAJOR= 3 SHLIB_MAJOR= 3
SHLIB_MINOR= 1.2.8beta5 SHLIB_MINOR= 1.2.8rc1
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0 SHLIB_MAJOR= 0
SHLIB_MINOR= 1.2.8beta5 SHLIB_MINOR= 1.2.8rc1
LIB= png LIB= png
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \ SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \

View File

@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo RANLIB=echo
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -18,7 +18,7 @@ ZLIBINC=../zlib
LIBNAME=libpng12 LIBNAME=libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc CC=gcc

View File

@ -5,7 +5,7 @@
LIBNAME=libpng12 LIBNAME=libpng12
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h # Where make install puts libpng.a, libpng12.so, and libpng12/png.h

View File

@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo RANLIB=echo
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo RANLIB=echo
PNGMAJ = 0 PNGMAJ = 0
PNGMIN = 1.2.8beta5 PNGMIN = 1.2.8rc1
PNGVER = $(PNGMAJ).$(PNGMIN) PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12 LIBNAME = libpng12

View File

@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2 ; PNG.LIB module definition file for OS/2
;---------------------------------------- ;----------------------------------------
; Version 1.2.8beta5 ; Version 1.2.8rc1
LIBRARY PNG LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2" DESCRIPTION "PNG image compression library for OS/2"

View File

@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows" DESCRIPTION "PNG image compression library for Windows"
EXPORTS EXPORTS
;Version 1.2.8beta5 ;Version 1.2.8rc1
png_build_grayscale_palette @1 png_build_grayscale_palette @1
png_check_sig @2 png_check_sig @2
png_chunk_error @3 png_chunk_error @3

View File

@ -8,57 +8,61 @@
#define PNG_LIBPNG_DLLFNAME "LIBPNG" #define PNG_LIBPNG_DLLFNAME "LIBPNG"
#if defined(DLLFNAME_POSTFIX) && !defined(PNG_LIBPNG_BUILD_PRIVATE_STRING) && \ /* Support deprecated PRIVATEBUILD macro */
!defined(PNG_LIBPNG_BUILD_SPECIAL_STRING) #if defined(PRIVATEBUILD) && !defined(PNG_USER_PRIVATEBUILD)
# error PNG_LIBPNG_BUILD_PRIVATE_STRING or PNG_LIBPNG_BUILD_SPECIAL_STRING \ # define PNG_USER_PRIVATEBUILD PRIVATEBUILD
must be defined as a string describing the type of change brought to the \ #endif
standard library
#endif /* defined(DLLFNAME_POSTFIX)... */
#if defined(PNG_USE_PNGVCRD) #if defined(PNG_USER_DLLFNAME_POSTFIX) && !defined(PNG_USER_PRIVATEBUILD)
# if !(PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_SPECIAL) # error "PNG_USER_PRIVATEBUILD must be defined as a string describing the\
# define PNG_LIBPNG_BUILD_TYPE_SAVE PNG_LIBPNG_BUILD_TYPE custom changes made to the library."
# undef PNG_LIBPNG_BUILD_TYPE #endif
# define PNG_LIBPNG_BUILD_TYPE \
PNG_LIBPNG_BUILD_TYPE_SAVE|PNG_LIBPNG_BUILD_SPECIAL /* Prioritize PNG_USER_x over PNG_LIBPNG_x */
# define PNG_LIBPNG_BUILD_SPECIAL_STRING "Use MMX instructions" #ifdef PNG_USER_DLLFNAME_POSTFIX
# endif /* PNG_LIBPNG_BUILD_SPECIAL */ # undef PNG_LIBPNG_DLLFNAME_POSTFIX
# define PNG_LIBPNG_DLLFNAME_POSTFIX PNG_USER_DLLFNAME_POSTFIX
#endif
#ifdef PNG_USER_VERSIONINFO_COMMENTS
# undef PNG_LIBPNG_VERSIONINFO_COMMENTS
# define PNG_LIBPNG_VERSIONINFO_COMMENTS PNG_USER_VERSIONINFO_COMMENTS
#endif #endif
#if defined(PNG_DEBUG) && (PNG_DEBUG > 0) #if defined(PNG_DEBUG) && (PNG_DEBUG > 0)
# define VS_DEBUG VS_FF_DEBUG # define VS_DEBUG VS_FF_DEBUG
# ifndef DLLFNAME_POSTFIX # ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
# define DLLFNAME_POSTFIX "D" # define PNG_LIBPNG_DLLFNAME_POSTFIX "D"
# endif /* DLLFNAME_POSTFIX */ # endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
# ifndef COMMENTS # ifndef PNG_LIBPNG_VERSIONINFO_COMMENTS
# define COMMENTS "PNG_DEBUG=" QUOTE(PNG_DEBUG) # define PNG_LIBPNG_VERSIONINFO_COMMENTS "PNG_DEBUG=" QUOTE(PNG_DEBUG)
# endif /* COMMENTS */ # endif /* PNG_LIBPNG_VERSIONINFO_COMMENTS */
#else #else
# define VS_DEBUG 0 # define VS_DEBUG 0
# ifndef DLLFNAME_POSTFIX # ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
# define DLLFNAME_POSTFIX # define PNG_LIBPNG_DLLFNAME_POSTFIX
# endif /* DLLFNAME_POSTFIX */ # endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
#endif /* defined(DEBUG)... */ #endif /* defined(DEBUG)... */
#if (PNG_LIBPNG_BUILD_PRIVATE & PNG_LIBPNG_BUILD_TYPE) #ifdef PNG_USER_PRIVATEBUILD
# define VS_PRIVATEBUILD VS_FF_PRIVATEBUILD # define VS_PRIVATEBUILD VS_FF_PRIVATEBUILD
#else #else
# define VS_PRIVATEBUILD 0 # define VS_PRIVATEBUILD 0
#endif /* PNG_LIBPNG_BUILD_PRIVATE */ #endif /* PNG_USER_PRIVATEBUILD */
#if (PNG_LIBPNG_BUILD_SPECIAL & PNG_LIBPNG_BUILD_TYPE) #ifdef PNG_LIBPNG_SPECIALBUILD
# define VS_SPECIALBUILD VS_FF_SPECIALBUILD # define VS_SPECIALBUILD VS_FF_SPECIALBUILD
#else #else
# define VS_SPECIALBUILD 0 # define VS_SPECIALBUILD 0
#endif /* PNG_LIBPNG_BUILD_SPECIAL */ #endif /* PNG_LIBPNG_BUILD_SPECIAL */
#if ((PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_RELEASE_STATUS_MASK) != \ #if ((PNG_LIBPNG_BUILD_BASE_TYPE & PNG_LIBPNG_RELEASE_STATUS_MASK) !=\
PNG_LIBPNG_BUILD_STABLE) PNG_LIBPNG_BUILD_STABLE)
# define VS_PRERELEASE VS_FF_PRERELEASE # define VS_PRERELEASE VS_FF_PRERELEASE
# define VS_PATCHED 0 # define VS_PATCHED 0
#else #else
# define VS_PRERELEASE 0 # define VS_PRERELEASE 0
# if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_PATCHED) # if (PNG_LIBPNG_BUILD_BASE_TYPE & PNG_LIBPNG_BUILD_PATCHED)
# define VS_PATCHED VS_FF_PATCHED # define VS_PATCHED VS_FF_PATCHED
# else # else
# define VS_PATCHED 0 # define VS_PATCHED 0
@ -77,22 +81,28 @@ BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BLOCK "040904E4" /* Language type = U.S English(0x0409) and Character Set = Windows, Multilingual(0x04E4) */ BEGIN BLOCK "040904E4" /* Language type = U.S English(0x0409) and Character Set = Windows, Multilingual(0x04E4) */
BEGIN BEGIN
#ifdef COMMENTS #ifdef PNG_LIBPNG_VERSIONINFO_COMMENTS
VALUE "Comments", COMMENTS "\000" VALUE "Comments", PNG_LIBPNG_VERSIONINFO_COMMENTS "\000"
#endif /* COMMENTS */ #endif /* PNG_LIBPNG_VERSIONINFO_COMMENTS */
#ifdef PNG_USER_VERSIONINFO_COMPANYNAME
VALUE "CompanyName", PNG_USER_VERSIONINFO_COMPANYNAME "\000"
#endif /* PNG_USER_VERSIONINFO_COMPANYNAME */
VALUE "FileDescription", "PNG image compression library\000" VALUE "FileDescription", "PNG image compression library\000"
VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000" VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) DLLFNAME_POSTFIX " (Windows 32 bit)\000" VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX " (Windows 32 bit)\000"
VALUE "LegalCopyright", "\251 1998-2004 Glenn Randers-Pehrson et al.\000" VALUE "LegalCopyright", "\251 1998-2004 Glenn Randers-Pehrson et al.\000"
VALUE "OriginalFilename", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) DLLFNAME_POSTFIX ".DLL\000" #ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
#ifdef PRIVATEBUILD VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
VALUE "PrivateBuild", PRIVATEBUILD #endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
#endif /* PRIVATEBUILD */ VALUE "OriginalFilename", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX ".DLL\000"
#ifdef PNG_LIBPNG_PRIVATEBUILD
VALUE "PrivateBuild", PNG_LIBPNG_PRIVATEBUILD "\000"
#endif /* PNG_LIBPNG_PRIVATEBUILD */
VALUE "ProductName", "LibPNG\000" VALUE "ProductName", "LibPNG\000"
VALUE "ProductVersion", "1\000" VALUE "ProductVersion", "1\000"
#ifdef SPECIALBUILD #ifdef PNG_LIBPNG_SPECIALBUILD
VALUE "SpecialBuild", SPECIALBUILD VALUE "SpecialBuild", PNG_LIBPNG_SPECIALBUILD "\000"
#endif /* SPECIALBUILD */ #endif /* PNG_LIBPNG_SPECIALBUILD */
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"