Imported from libpng-1.2.8rc1.tar
This commit is contained in:
parent
4093607bc9
commit
5dd2b8e208
14
ANNOUNCE
14
ANNOUNCE
@ -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
|
||||
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.
|
||||
Revised handling of SPECIALBUILD, PRIVATEBUILD,
|
||||
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
|
||||
png-implement@ccrc.wustl.edu (subscription required; write to
|
||||
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message)
|
||||
or to glennrp@users.sourceforge.net
|
||||
png-implement at ccrc.wustl.edu (subscription required; write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message)
|
||||
or to glennrp at users.sourceforge.net
|
||||
|
||||
Glenn R-P
|
||||
|
12
CHANGES
12
CHANGES
@ -1388,10 +1388,16 @@ version 1.2.8beta5 [November 20, 2004]
|
||||
compatibility.
|
||||
Revised handling of SPECIALBUILD, PRIVATEBUILD,
|
||||
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
|
||||
png-implement@ccrc.wustl.edu (subscription required; write to
|
||||
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message)
|
||||
or to glennrp@users.sourceforge.net
|
||||
png-implement at ccrc.wustl.edu (subscription required; write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message)
|
||||
or to glennrp at users.sourceforge.net
|
||||
|
||||
Glenn R-P
|
||||
|
14
INSTALL
14
INSTALL
@ -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
|
||||
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.
|
||||
|
||||
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".
|
||||
|
||||
Your directory structure should look like this:
|
||||
@ -67,9 +67,9 @@ include
|
||||
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
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
|
||||
(gcc, creates libpng12.so.0.1.2.8beta5,
|
||||
(gcc, creates libpng12.so.0.1.2.8rc1,
|
||||
uses assembler code tuned for Intel MMX platform)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
@ -92,12 +92,12 @@ include
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
|
||||
makefile.sggcc => Silicon Graphics (gcc,
|
||||
creates libpng12.so.0.1.2.8beta5)
|
||||
creates libpng12.so.0.1.2.8rc1)
|
||||
makefile.sunos => Sun makefile
|
||||
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,
|
||||
creates libpng12.so.0.1.2.8beta5)
|
||||
creates libpng12.so.0.1.2.8rc1)
|
||||
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
|
||||
|
2
KNOWNBUG
2
KNOWNBUG
@ -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
|
||||
reading interlaced PNG files, when assembler code is enabled but running
|
||||
|
6
LICENSE
6
LICENSE
@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
||||
If you modify libpng you may insert additional notices immediately following
|
||||
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
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
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.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp@users.sourceforge.net
|
||||
November 20, 2004
|
||||
glennrp at users.sourceforge.net
|
||||
November 24, 2004
|
||||
|
28
README
28
README
@ -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 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
|
||||
based in a large way on Guy's and Andreas' earlier work), and the PNG group.
|
||||
|
||||
glennrp@users.sourceforge.net
|
||||
png-implement@ccrc.wustl.edu (subscription required; write to
|
||||
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message).
|
||||
glennrp at users.sourceforge.net
|
||||
png-implement at ccrc.wustl.edu (subscription required; write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message).
|
||||
|
||||
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
|
||||
addressed to the png-implement list, however.
|
||||
|
||||
Please do not send general questions about PNG. Send them to
|
||||
the (png-list@ccrc.wustl.edu, subscription required, write to
|
||||
majordomo@ccrc.wustl.edu with "subscribe png-list" in your message).
|
||||
the (png-list at ccrc.wustl.edu, subscription required, write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
|
||||
On the other hand,
|
||||
please do not send libpng questions to that address, send them to me
|
||||
or to the png-implement list. I'll
|
||||
@ -189,9 +189,9 @@ Files in this distribution:
|
||||
descrip.mms => VMS makefile for MMS or MMK
|
||||
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
|
||||
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
|
||||
(gcc, creates libpng12.so.0.1.2.8beta5,
|
||||
(gcc, creates libpng12.so.0.1.2.8rc1,
|
||||
uses assembler code tuned for Intel MMX platform)
|
||||
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
|
||||
makefile.knr => Archaic UNIX Makefile that converts files with
|
||||
@ -213,12 +213,12 @@ Files in this distribution:
|
||||
makefile.openbsd => OpenBSD makefile
|
||||
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
|
||||
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.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
|
||||
(gcc, creates libpng12.so.0.1.2.8beta5)
|
||||
(gcc, creates libpng12.so.0.1.2.8rc1)
|
||||
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
|
||||
@ -249,12 +249,12 @@ Files in this distribution:
|
||||
Good luck, and happy coding.
|
||||
|
||||
-Glenn Randers-Pehrson (current maintainer)
|
||||
Internet: glennrp@users.sourceforge.net
|
||||
Internet: glennrp at users.sourceforge.net
|
||||
|
||||
-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/
|
||||
|
||||
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
|
||||
(formerly of Group 42, Inc)
|
||||
Internet: gschal@infinet.com
|
||||
Internet: gschal at infinet.com
|
||||
|
4
Y2KINFO
4
Y2KINFO
@ -1,13 +1,13 @@
|
||||
Y2K compliance in libpng:
|
||||
=========================
|
||||
|
||||
November 20, 2004
|
||||
November 24, 2004
|
||||
|
||||
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.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.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer
|
||||
|
4
configure
vendored
4
configure
vendored
@ -1,13 +1,13 @@
|
||||
#!/bin/sh
|
||||
echo "
|
||||
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
|
||||
\"scripts\" directory. Read the INSTALL file for more details.
|
||||
|
||||
Update, July 2004: you can get a "configure" based distribution
|
||||
from the libpng distribution sites. Download the file
|
||||
libpng-1.2.8beta5-config.tar.gz
|
||||
libpng-1.2.8rc1-config.tar.gz
|
||||
"
|
||||
|
||||
|
32
libpng.3
32
libpng.3
@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "November 20, 2004"
|
||||
.TH LIBPNG 3 "November 24, 2004"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc1
|
||||
.SH SYNOPSIS
|
||||
\fI\fB
|
||||
|
||||
@ -781,9 +781,9 @@ 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.2.8beta5 - November 20, 2004
|
||||
libpng version 1.2.8rc1 - November 24, 2004
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp@users.sourceforge.net>
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
For conditions of distribution and use, see copyright
|
||||
notice in png.h.
|
||||
@ -1704,7 +1704,7 @@ the normalized graylevel is computed:
|
||||
|
||||
The default values approximate those recommended in the Charles
|
||||
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
|
||||
|
||||
@ -3685,13 +3685,13 @@ application:
|
||||
|
||||
.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
|
||||
an official declaration.
|
||||
|
||||
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.
|
||||
|
||||
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.2.7 13 10207 12.so.0.1.2.7
|
||||
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
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@ -3887,7 +3889,7 @@ and this library, the specification takes precedence.
|
||||
|
||||
.SH AUTHORS
|
||||
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
|
||||
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.
|
||||
|
||||
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.
|
||||
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
|
||||
.br
|
||||
png-implement@ccrc.wustl.edu (subscription required; write to
|
||||
majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message).
|
||||
png-implement at ccrc.wustl.edu (subscription required; write to
|
||||
majordomo at ccrc.wustl.edu with "subscribe png-implement" in the message).
|
||||
|
||||
.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
|
||||
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
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
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.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp@users.sourceforge.net
|
||||
November 20, 2004
|
||||
glennrp at users.sourceforge.net
|
||||
November 24, 2004
|
||||
|
||||
.\" end of man page
|
||||
|
||||
|
10
libpng.txt
10
libpng.txt
@ -1,8 +1,8 @@
|
||||
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
|
||||
<glennrp@users.sourceforge.net>
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
For conditions of distribution and use, see copyright
|
||||
notice in png.h.
|
||||
@ -923,7 +923,7 @@ the normalized graylevel is computed:
|
||||
|
||||
The default values approximate those recommended in the Charles
|
||||
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
|
||||
|
||||
@ -2904,13 +2904,13 @@ application:
|
||||
|
||||
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
|
||||
an official declaration.
|
||||
|
||||
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.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
|
@ -1,6 +1,6 @@
|
||||
.TH LIBPNGPF 3 "November 20, 2004"
|
||||
.TH LIBPNGPF 3 "November 24, 2004"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc1
|
||||
(private functions)
|
||||
.SH SYNOPSIS
|
||||
\fB\fB#include <png.h>\fP\fP
|
||||
@ -827,7 +827,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
|
||||
|
||||
\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
|
||||
|
||||
@ -939,7 +939,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta5
|
||||
|
||||
\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
|
||||
|
||||
|
2
png.5
2
png.5
@ -1,4 +1,4 @@
|
||||
.TH PNG 5 "November 20, 2004"
|
||||
.TH PNG 5 "November 24, 2004"
|
||||
.SH NAME
|
||||
png \- Portable Network Graphics (PNG) format
|
||||
.SH DESCRIPTION
|
||||
|
6
png.c
6
png.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@ -13,7 +13,7 @@
|
||||
#include "png.h"
|
||||
|
||||
/* 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
|
||||
* string defined in png.h. */
|
||||
@ -680,7 +680,7 @@ png_charp PNGAPI
|
||||
png_get_copyright(png_structp 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) 1996-1997 Andreas Dilger\n\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
|
||||
|
51
png.h
51
png.h
@ -1,6 +1,6 @@
|
||||
/* 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
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@ -8,7 +8,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.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.
|
||||
*
|
||||
* Note about libpng version numbers:
|
||||
@ -107,6 +107,8 @@
|
||||
* 1.0.17 10 10017 12.so.0.1.0.17
|
||||
* 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.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
|
||||
* 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
|
||||
* 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
|
||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
* with the following individual added to the list of Contributing Authors:
|
||||
@ -248,13 +250,13 @@
|
||||
* Y2K compliance in libpng:
|
||||
* =========================
|
||||
*
|
||||
* November 20, 2004
|
||||
* November 24, 2004
|
||||
*
|
||||
* 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.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.
|
||||
*
|
||||
* 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 */
|
||||
#define PNG_LIBPNG_VER_STRING "1.2.8beta5"
|
||||
#define PNG_LIBPNG_VER_STRING "1.2.8rc1"
|
||||
#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_DLLNUM 13
|
||||
@ -324,7 +326,7 @@
|
||||
/* This should match the numeric part of the final component of
|
||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
|
||||
|
||||
#define PNG_LIBPNG_VER_BUILD 5
|
||||
#define PNG_LIBPNG_VER_BUILD 1
|
||||
|
||||
/* Release Status */
|
||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||
@ -341,6 +343,8 @@
|
||||
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
|
||||
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.
|
||||
* We must not include leading zeros.
|
||||
* 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 */
|
||||
|
||||
#ifndef PNG_VERSION_INFO_ONLY
|
||||
|
||||
/* include the compression library's header */
|
||||
#include "zlib.h"
|
||||
#endif
|
||||
|
||||
/* include all user configurable info, including optional assembler routines */
|
||||
#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. */
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -1323,7 +1354,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_2_8beta5;
|
||||
typedef png_structp version_1_2_8rc1;
|
||||
|
||||
typedef png_struct FAR * FAR * png_structpp;
|
||||
|
||||
|
127
pngconf.h
127
pngconf.h
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@ -17,13 +17,53 @@
|
||||
#ifndef 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
|
||||
#include "pngusr.h"
|
||||
#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
|
||||
* 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 */
|
||||
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
|
||||
* or another compression library is used, then change these.
|
||||
* 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 * FAR * png_zcharpp;
|
||||
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
|
||||
@ -1376,78 +1420,7 @@ typedef z_stream FAR * png_zstreamp;
|
||||
#endif /* PNG_INTERNAL */
|
||||
#endif /* PNG_READ_SUPPORTED */
|
||||
|
||||
/*
|
||||
* Added at libpng-1.2.8
|
||||
*
|
||||
* 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 */
|
||||
/* Added at libpng-1.2.8 */
|
||||
#endif /* PNG_VERSION_INFO_ONLY */
|
||||
|
||||
#endif /* PNGCONF_H */
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -6,7 +6,7 @@
|
||||
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
|
||||
* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* 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"
|
||||
|
||||
"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"
|
||||
"andl $0x00000007, %%edx \n\t" // calc bytes over mult of 8
|
||||
|
2
pngget.c
2
pngget.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
2
pngmem.c
2
pngmem.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (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
|
||||
* 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
|
||||
@ -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
|
||||
* 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
|
||||
png_read_image(png_structp png_ptr, png_bytepp image)
|
||||
|
2
pngrio.c
2
pngrio.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (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
|
||||
* using the equation given in Poynton's ColorFAQ at
|
||||
* <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
|
||||
*
|
||||
|
631
pngrutil.c
631
pngrutil.c
@ -1,6 +1,6 @@
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (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
|
||||
{
|
||||
#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)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
png_bytep sp = png_ptr->row_buf + 1;
|
||||
png_bytep dp = row;
|
||||
int s_inc, s_start, s_end;
|
||||
int m = 0x80;
|
||||
int shift;
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = png_ptr->width;
|
||||
png_byte pixel_mask;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
{
|
||||
s_start = 0;
|
||||
s_end = 7;
|
||||
s_inc = 1;
|
||||
}
|
||||
else
|
||||
mask = (bitrev[mask & 0x0F] << 4) | bitrev[(mask >> 4) & 0x0F];
|
||||
#endif
|
||||
pixel_mask = (png_byte)mask;
|
||||
|
||||
for (i = png_ptr->width; i >= 8; i -= 8)
|
||||
{
|
||||
s_start = 7;
|
||||
s_end = 0;
|
||||
s_inc = -1;
|
||||
*dp = (*sp & pixel_mask) | (*dp & ~pixel_mask);
|
||||
sp++;
|
||||
dp++;
|
||||
}
|
||||
|
||||
shift = s_start;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
if (i > 0)
|
||||
{
|
||||
if (m & 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;
|
||||
pixel_mask &= lastbyte_mask[i];
|
||||
*dp = (*sp & pixel_mask) | (*dp & ~pixel_mask);
|
||||
}
|
||||
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 dp = row;
|
||||
int s_start, s_end, s_inc;
|
||||
int m = 0x80;
|
||||
int shift;
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = png_ptr->width;
|
||||
int value;
|
||||
png_byte pixel_mask[2];
|
||||
int m = 0x80;
|
||||
int j;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
{
|
||||
s_start = 0;
|
||||
s_end = 6;
|
||||
s_inc = 2;
|
||||
}
|
||||
else
|
||||
mask = bitrev[mask & 0x0F] | (bitrev[(mask >> 4) & 0x0F] << 4);
|
||||
#endif
|
||||
for (j = 0; j < 2; j++)
|
||||
{
|
||||
s_start = 6;
|
||||
s_end = 0;
|
||||
s_inc = -2;
|
||||
}
|
||||
|
||||
shift = s_start;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if (m & mask)
|
||||
pixel_mask[j] = 0;
|
||||
for (i = 4; i > 0; i--)
|
||||
{
|
||||
value = (*sp >> shift) & 0x03;
|
||||
*dp &= (png_byte)((0x3f3f >> (6 - 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
|
||||
pixel_mask[j] <<= 2;
|
||||
if (m & mask)
|
||||
pixel_mask[j] |= 0x03;
|
||||
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;
|
||||
}
|
||||
@ -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 dp = row;
|
||||
int s_start, s_end, s_inc;
|
||||
int m = 0x80;
|
||||
int shift;
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = png_ptr->width;
|
||||
int value;
|
||||
png_byte pixel_mask[4];
|
||||
int m = 0x80;
|
||||
int j;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (png_ptr->transformations & PNG_PACKSWAP)
|
||||
{
|
||||
s_start = 0;
|
||||
s_end = 4;
|
||||
s_inc = 4;
|
||||
}
|
||||
else
|
||||
mask = ((mask & 0x55) << 1) | ((mask & 0xAA) >> 1);
|
||||
#endif
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
s_start = 4;
|
||||
s_end = 0;
|
||||
s_inc = -4;
|
||||
}
|
||||
shift = s_start;
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
{
|
||||
if (m & mask)
|
||||
pixel_mask[j] = 0;
|
||||
for (i = 2; i > 0; i--)
|
||||
{
|
||||
value = (*sp >> shift) & 0xf;
|
||||
*dp &= (png_byte)((0xf0f >> (4 - 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
|
||||
pixel_mask[j] <<= 4;
|
||||
if (m & mask)
|
||||
pixel_mask[j] |= 0x0F;
|
||||
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;
|
||||
}
|
||||
@ -2425,24 +2392,123 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
|
||||
png_bytep dp = row;
|
||||
png_size_t pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = png_ptr->width;
|
||||
png_byte m = 0x80;
|
||||
int m = 0x80;
|
||||
|
||||
|
||||
for (i = 0; i < row_width; i++)
|
||||
switch (pixel_bytes)
|
||||
{
|
||||
if (m & mask)
|
||||
{
|
||||
png_memcpy(dp, sp, pixel_bytes);
|
||||
}
|
||||
|
||||
sp += pixel_bytes;
|
||||
dp += pixel_bytes;
|
||||
|
||||
if (m == 1)
|
||||
m = 0x80;
|
||||
else
|
||||
m >>= 1;
|
||||
case 1:
|
||||
for (i = png_ptr->width; i > 0; i--)
|
||||
{
|
||||
if (m & mask)
|
||||
{
|
||||
*(dp + 0) = *(sp + 0);
|
||||
}
|
||||
sp += 1;
|
||||
dp += 1;
|
||||
if ((m >>= 1) == 0)
|
||||
m = 0x80;
|
||||
}
|
||||
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;
|
||||
}
|
||||
@ -2471,122 +2537,101 @@ png_do_read_interlace(png_structp png_ptr)
|
||||
#endif
|
||||
|
||||
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;
|
||||
|
||||
final_width = row_info->width * png_pass_inc[pass];
|
||||
png_uint_32 final_width = row_info->width * png_pass_inc[pass];
|
||||
|
||||
switch (row_info->pixel_depth)
|
||||
{
|
||||
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 dp = row + (png_size_t)((final_width - 1) >> 3);
|
||||
int sshift, dshift;
|
||||
int s_start, s_end, s_inc;
|
||||
int jstop = png_pass_inc[pass];
|
||||
png_byte v;
|
||||
int nbits = 8 / png_pass_inc[pass];
|
||||
int sshift = 7 - (int)((row_info->width + 7) & 0x07);
|
||||
int s_inc = nbits;
|
||||
png_byte smask = (1 << nbits) - 1;
|
||||
const png_byte *pix = pixeltable1 + (2 * nbits);
|
||||
png_uint_32 i;
|
||||
int j;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (transformations & PNG_PACKSWAP)
|
||||
{
|
||||
sshift = (int)((row_info->width + 7) & 0x07);
|
||||
dshift = (int)((final_width + 7) & 0x07);
|
||||
s_start = 7;
|
||||
s_end = 0;
|
||||
s_inc = -1;
|
||||
sshift = 7 - sshift;
|
||||
s_inc = -s_inc;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
sshift = 7 - (int)((row_info->width + 7) & 0x07);
|
||||
dshift = 7 - (int)((final_width + 7) & 0x07);
|
||||
s_start = 0;
|
||||
s_end = 7;
|
||||
s_inc = 1;
|
||||
}
|
||||
sshift &= (0x10 - nbits);
|
||||
|
||||
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);
|
||||
for (j = 0; j < jstop; j++)
|
||||
*dp-- = pix[(*sp >> sshift) & smask];
|
||||
|
||||
sshift += s_inc;
|
||||
if (sshift >= 8)
|
||||
{
|
||||
*dp &= (png_byte)((0x7f7f >> (7 - dshift)) & 0xff);
|
||||
*dp |= (png_byte)(v << dshift);
|
||||
if (dshift == s_end)
|
||||
{
|
||||
dshift = s_start;
|
||||
dp--;
|
||||
}
|
||||
else
|
||||
dshift += s_inc;
|
||||
}
|
||||
if (sshift == s_end)
|
||||
{
|
||||
sshift = s_start;
|
||||
sshift -= 8;
|
||||
sp--;
|
||||
}
|
||||
else if (sshift < 0)
|
||||
{
|
||||
sshift += 8;
|
||||
sp--;
|
||||
}
|
||||
else
|
||||
sshift += s_inc;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
png_bytep sp = row + (png_uint_32)((row_info->width - 1) >> 2);
|
||||
png_bytep dp = row + (png_uint_32)((final_width - 1) >> 2);
|
||||
int sshift, dshift;
|
||||
int s_start, s_end, s_inc;
|
||||
int jstop = png_pass_inc[pass];
|
||||
static const png_byte pixeltable2[20] =
|
||||
{0x00, 0x55, 0xAA, 0xFF,
|
||||
0x00, 0x05, 0x0A, 0x0F, 0x50, 0x55, 0x5A, 0x5F,
|
||||
0xA0, 0xA5, 0xAA, 0xAF, 0xF0, 0xF5, 0xFA, 0xFF};
|
||||
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_byte v;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (transformations & PNG_PACKSWAP)
|
||||
{
|
||||
sshift = (int)(((row_info->width + 3) & 0x03) << 1);
|
||||
dshift = (int)(((final_width + 3) & 0x03) << 1);
|
||||
s_start = 6;
|
||||
s_end = 0;
|
||||
s_inc = -2;
|
||||
sshift = 6 - sshift;
|
||||
s_inc = -s_inc;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
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;
|
||||
}
|
||||
sshift &= (0x0E - (2 * is2));
|
||||
|
||||
for (i = 0; i < row_info->width; i++)
|
||||
for (i = (row_info->width + is2) >> is2;
|
||||
i > 0; i--)
|
||||
{
|
||||
png_byte v;
|
||||
int j;
|
||||
v = pix[(*sp >> sshift) & smask];
|
||||
*dp-- = v;
|
||||
if (is8)
|
||||
*dp-- = v;
|
||||
|
||||
v = (png_byte)((*sp >> sshift) & 0x03);
|
||||
for (j = 0; j < jstop; j++)
|
||||
sshift += s_inc;
|
||||
if (sshift >= 8)
|
||||
{
|
||||
*dp &= (png_byte)((0x3f3f >> (6 - dshift)) & 0xff);
|
||||
*dp |= (png_byte)(v << dshift);
|
||||
if (dshift == s_end)
|
||||
{
|
||||
dshift = s_start;
|
||||
dp--;
|
||||
}
|
||||
else
|
||||
dshift += s_inc;
|
||||
}
|
||||
if (sshift == s_end)
|
||||
{
|
||||
sshift = s_start;
|
||||
sshift -= 8;
|
||||
sp--;
|
||||
}
|
||||
else if (sshift < 0)
|
||||
{
|
||||
sshift += 8;
|
||||
sp--;
|
||||
}
|
||||
else
|
||||
sshift += s_inc;
|
||||
}
|
||||
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 dp = row + (png_size_t)((final_width - 1) >> 1);
|
||||
int sshift, dshift;
|
||||
int s_start, s_end, s_inc;
|
||||
int jinit = png_pass_inc[pass] >> 1;
|
||||
int sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2);
|
||||
int s_inc = 4;
|
||||
png_uint_32 i;
|
||||
int jstop = png_pass_inc[pass];
|
||||
png_byte v;
|
||||
int j;
|
||||
|
||||
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
|
||||
if (transformations & PNG_PACKSWAP)
|
||||
{
|
||||
sshift = (int)(((row_info->width + 1) & 0x01) << 2);
|
||||
dshift = (int)(((final_width + 1) & 0x01) << 2);
|
||||
s_start = 4;
|
||||
s_end = 0;
|
||||
s_inc = -4;
|
||||
sshift = 4 - sshift;
|
||||
s_inc = -s_inc;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
for (i = row_info->width; i > 0; i--)
|
||||
{
|
||||
sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2);
|
||||
dshift = (int)((1 - ((final_width + 1) & 0x01)) << 2);
|
||||
s_start = 0;
|
||||
s_end = 4;
|
||||
s_inc = 4;
|
||||
}
|
||||
v = (*sp >> sshift) & 0x0F;
|
||||
v |= v << 4;
|
||||
|
||||
for (i = 0; i < row_info->width; i++)
|
||||
{
|
||||
png_byte v = (png_byte)((*sp >> sshift) & 0xf);
|
||||
int j;
|
||||
for (j = jinit; j > 0; j--)
|
||||
*dp-- = v;
|
||||
|
||||
for (j = 0; j < jstop; j++)
|
||||
sshift += s_inc;
|
||||
if (sshift >= 8)
|
||||
{
|
||||
*dp &= (png_byte)((0xf0f >> (4 - dshift)) & 0xff);
|
||||
*dp |= (png_byte)(v << dshift);
|
||||
if (dshift == s_end)
|
||||
{
|
||||
dshift = s_start;
|
||||
dp--;
|
||||
}
|
||||
else
|
||||
dshift += s_inc;
|
||||
}
|
||||
if (sshift == s_end)
|
||||
{
|
||||
sshift = s_start;
|
||||
sshift -= 8;
|
||||
sp--;
|
||||
}
|
||||
else if (sshift < 0)
|
||||
{
|
||||
sshift += 8;
|
||||
sp--;
|
||||
}
|
||||
else
|
||||
sshift += s_inc;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -2649,23 +2679,112 @@ png_do_read_interlace(png_structp png_ptr)
|
||||
{
|
||||
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 dp = row + (png_size_t)(final_width - 1) * pixel_bytes;
|
||||
|
||||
int jstop = png_pass_inc[pass];
|
||||
png_bytep dp = row + (png_size_t)(final_width - 2) * pixel_bytes;
|
||||
int jinit = png_pass_inc[pass] >> 1;
|
||||
png_uint_32 i;
|
||||
int j;
|
||||
|
||||
for (i = 0; i < row_info->width; i++)
|
||||
switch (pixel_bytes)
|
||||
{
|
||||
png_byte v[8];
|
||||
int j;
|
||||
|
||||
png_memcpy(v, sp, pixel_bytes);
|
||||
for (j = 0; j < jstop; j++)
|
||||
{
|
||||
png_memcpy(dp, v, pixel_bytes);
|
||||
dp -= pixel_bytes;
|
||||
}
|
||||
sp -= pixel_bytes;
|
||||
case 1:
|
||||
for (i = row_info->width; i > 0; i--)
|
||||
{
|
||||
for (j = jinit; j > 0; j--)
|
||||
{
|
||||
*(dp + 0) = *(dp + 1) = *(sp + 0);
|
||||
dp -= 2;
|
||||
}
|
||||
sp -= 1;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
2
pngset.c
2
pngset.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (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. */
|
||||
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;
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -2,7 +2,7 @@
|
||||
*
|
||||
* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* Copyright (c) 1998, Intel Corporation
|
||||
@ -3632,7 +3632,7 @@ duploop:
|
||||
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)
|
||||
cmp edx, 8 //test for less than 8 bytes
|
||||
jb duplt8
|
||||
|
2
pngwio.c
2
pngwio.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* 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
|
||||
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
@ -46,19 +46,9 @@ Notes:
|
||||
|
||||
If you change anything in the source files, or select different compiler
|
||||
settings, please change the DLL name to something different than any of
|
||||
the above names.
|
||||
|
||||
Also, make sure that DLLFNAME_POSTFIX and (PNG_LIBPNG_BUILD_PRIVATE_STRING
|
||||
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.
|
||||
the above names. Also, make sure that in your "pngusr.h" you define
|
||||
PNG_USER_PRIVATEBUILD and PNG_USER_DLLFNAME_POSTFIX according to the
|
||||
instructions provided in "pngconf.h".
|
||||
|
||||
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
|
||||
|
@ -8,16 +8,16 @@
|
||||
CFG=libpng - Win32 DLL Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libpng.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libpng.mak" CFG="libpng - Win32 DLL Release"
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE "libpng - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "libpng - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "libpng - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
@ -27,7 +27,7 @@ CFG=libpng - Win32 DLL Release
|
||||
!MESSAGE "libpng - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libpng - Win32 LIB ASM Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libpng - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
@ -112,14 +112,14 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# 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
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
# 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
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
@ -143,14 +143,14 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# 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
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
# 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
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
@ -174,14 +174,14 @@ LINK32=link.exe
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# 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
|
||||
MTL=midl.exe
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
# 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
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
@ -264,7 +264,7 @@ LIB32=link.exe -lib
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /FD /c
|
||||
# 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
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
@ -291,7 +291,7 @@ LIB32=link.exe -lib
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /FD /GZ /c
|
||||
# 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
|
||||
RSC=rc.exe
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
@ -303,7 +303,7 @@ LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"Win32_LIB_ASM_Debug\libpngd.lib"
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
@ -395,7 +395,7 @@ SOURCE=..\..\pngvcrd.c
|
||||
|
||||
!ELSEIF "$(CFG)" == "libpng - Win32 LIB ASM Debug"
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@ -430,7 +430,7 @@ SOURCE=..\..\scripts\pngw32.def
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@ -495,7 +495,7 @@ SOURCE=..\..\scripts\pngw32.rc
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
# Modeled after libxml-config.
|
||||
|
||||
version=1.2.8beta5
|
||||
version=1.2.8rc1
|
||||
prefix=""
|
||||
libdir=""
|
||||
libs=""
|
||||
|
@ -6,6 +6,6 @@ includedir=${exec_prefix}/include
|
||||
|
||||
Name: libpng12
|
||||
Description: Loads and saves PNG files
|
||||
Version: 1.2.8beta5
|
||||
Version: 1.2.8rc1
|
||||
Libs: -L${libdir} -lpng12 -lz -lm
|
||||
Cflags: -I${includedir}/libpng12
|
||||
|
@ -33,7 +33,7 @@ RANLIB=echo
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
|
@ -33,7 +33,7 @@ RANLIB=echo
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
INCPATH=$(prefix)/include
|
||||
|
@ -18,7 +18,7 @@ RM = rm -f
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
prefix=/usr/local
|
||||
|
@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib
|
||||
ZLIBINC=/usr/local/include
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
ALIGN=
|
||||
|
@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
CYGDLL = 12
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
SHAREDLIB=cygpng$(CYGDLL).dll
|
||||
|
@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
|
||||
RANLIB=ranlib
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -32,7 +32,7 @@ ZLIBLIB=../zlib
|
||||
ZLIBINC=../zlib
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
CC=gcc
|
||||
|
@ -27,7 +27,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
RANLIB=ranlib
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -41,7 +41,7 @@ RANLIB=ranlib
|
||||
#RANLIB=echo
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
|
||||
RANLIB=ranlib
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
LIBNAME = libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
CC=gcc
|
||||
|
@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
|
||||
|
||||
LIB= png12
|
||||
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 \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
|
||||
|
||||
LIB= png
|
||||
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 \
|
||||
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
|
||||
pngwtran.c pngmem.c pngerror.c pngpread.c
|
||||
|
@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
|
||||
MANDIR= ${PREFIX}/man/cat
|
||||
|
||||
SHLIB_MAJOR= 0
|
||||
SHLIB_MINOR= 1.2.8beta5
|
||||
SHLIB_MINOR= 1.2.8rc1
|
||||
|
||||
LIB= png
|
||||
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
|
||||
|
@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
|
||||
RANLIB=echo
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -18,7 +18,7 @@ ZLIBINC=../zlib
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
CC=gcc
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
LIBNAME=libpng12
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
|
||||
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
|
||||
|
@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
RANLIB=echo
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
|
||||
RANLIB=echo
|
||||
|
||||
PNGMAJ = 0
|
||||
PNGMIN = 1.2.8beta5
|
||||
PNGMIN = 1.2.8rc1
|
||||
PNGVER = $(PNGMAJ).$(PNGMIN)
|
||||
LIBNAME = libpng12
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
; PNG.LIB module definition file for OS/2
|
||||
;----------------------------------------
|
||||
|
||||
; Version 1.2.8beta5
|
||||
; Version 1.2.8rc1
|
||||
|
||||
LIBRARY PNG
|
||||
DESCRIPTION "PNG image compression library for OS/2"
|
||||
|
@ -6,7 +6,7 @@ LIBRARY
|
||||
DESCRIPTION "PNG image compression library for Windows"
|
||||
|
||||
EXPORTS
|
||||
;Version 1.2.8beta5
|
||||
;Version 1.2.8rc1
|
||||
png_build_grayscale_palette @1
|
||||
png_check_sig @2
|
||||
png_chunk_error @3
|
||||
|
@ -8,64 +8,68 @@
|
||||
|
||||
#define PNG_LIBPNG_DLLFNAME "LIBPNG"
|
||||
|
||||
#if defined(DLLFNAME_POSTFIX) && !defined(PNG_LIBPNG_BUILD_PRIVATE_STRING) && \
|
||||
!defined(PNG_LIBPNG_BUILD_SPECIAL_STRING)
|
||||
# error PNG_LIBPNG_BUILD_PRIVATE_STRING or PNG_LIBPNG_BUILD_SPECIAL_STRING \
|
||||
must be defined as a string describing the type of change brought to the \
|
||||
standard library
|
||||
#endif /* defined(DLLFNAME_POSTFIX)... */
|
||||
/* Support deprecated PRIVATEBUILD macro */
|
||||
#if defined(PRIVATEBUILD) && !defined(PNG_USER_PRIVATEBUILD)
|
||||
# define PNG_USER_PRIVATEBUILD PRIVATEBUILD
|
||||
#endif
|
||||
|
||||
#if defined(PNG_USE_PNGVCRD)
|
||||
# if !(PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_SPECIAL)
|
||||
# define PNG_LIBPNG_BUILD_TYPE_SAVE PNG_LIBPNG_BUILD_TYPE
|
||||
# undef PNG_LIBPNG_BUILD_TYPE
|
||||
# define PNG_LIBPNG_BUILD_TYPE \
|
||||
PNG_LIBPNG_BUILD_TYPE_SAVE|PNG_LIBPNG_BUILD_SPECIAL
|
||||
# define PNG_LIBPNG_BUILD_SPECIAL_STRING "Use MMX instructions"
|
||||
# endif /* PNG_LIBPNG_BUILD_SPECIAL */
|
||||
#if defined(PNG_USER_DLLFNAME_POSTFIX) && !defined(PNG_USER_PRIVATEBUILD)
|
||||
# error "PNG_USER_PRIVATEBUILD must be defined as a string describing the\
|
||||
custom changes made to the library."
|
||||
#endif
|
||||
|
||||
/* Prioritize PNG_USER_x over PNG_LIBPNG_x */
|
||||
#ifdef PNG_USER_DLLFNAME_POSTFIX
|
||||
# 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
|
||||
|
||||
#if defined(PNG_DEBUG) && (PNG_DEBUG > 0)
|
||||
# define VS_DEBUG VS_FF_DEBUG
|
||||
# ifndef DLLFNAME_POSTFIX
|
||||
# define DLLFNAME_POSTFIX "D"
|
||||
# endif /* DLLFNAME_POSTFIX */
|
||||
# ifndef COMMENTS
|
||||
# define COMMENTS "PNG_DEBUG=" QUOTE(PNG_DEBUG)
|
||||
# endif /* COMMENTS */
|
||||
# ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
|
||||
# define PNG_LIBPNG_DLLFNAME_POSTFIX "D"
|
||||
# endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
|
||||
# ifndef PNG_LIBPNG_VERSIONINFO_COMMENTS
|
||||
# define PNG_LIBPNG_VERSIONINFO_COMMENTS "PNG_DEBUG=" QUOTE(PNG_DEBUG)
|
||||
# endif /* PNG_LIBPNG_VERSIONINFO_COMMENTS */
|
||||
#else
|
||||
# define VS_DEBUG 0
|
||||
# ifndef DLLFNAME_POSTFIX
|
||||
# define DLLFNAME_POSTFIX
|
||||
# endif /* DLLFNAME_POSTFIX */
|
||||
# ifndef PNG_LIBPNG_DLLFNAME_POSTFIX
|
||||
# define PNG_LIBPNG_DLLFNAME_POSTFIX
|
||||
# endif /* PNG_LIBPNG_DLLFNAME_POSTFIX */
|
||||
#endif /* defined(DEBUG)... */
|
||||
|
||||
#if (PNG_LIBPNG_BUILD_PRIVATE & PNG_LIBPNG_BUILD_TYPE)
|
||||
#ifdef PNG_USER_PRIVATEBUILD
|
||||
# define VS_PRIVATEBUILD VS_FF_PRIVATEBUILD
|
||||
#else
|
||||
# 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
|
||||
#else
|
||||
# define VS_SPECIALBUILD 0
|
||||
#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)
|
||||
# define VS_PRERELEASE VS_FF_PRERELEASE
|
||||
# define VS_PATCHED 0
|
||||
#else
|
||||
# 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
|
||||
# else
|
||||
# define VS_PATCHED 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
|
||||
PRODUCTVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
|
||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
@ -77,22 +81,28 @@ BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN BLOCK "040904E4" /* Language type = U.S English(0x0409) and Character Set = Windows, Multilingual(0x04E4) */
|
||||
BEGIN
|
||||
#ifdef COMMENTS
|
||||
VALUE "Comments", COMMENTS "\000"
|
||||
#endif /* COMMENTS */
|
||||
#ifdef PNG_LIBPNG_VERSIONINFO_COMMENTS
|
||||
VALUE "Comments", PNG_LIBPNG_VERSIONINFO_COMMENTS "\000"
|
||||
#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 "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 "OriginalFilename", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) DLLFNAME_POSTFIX ".DLL\000"
|
||||
#ifdef PRIVATEBUILD
|
||||
VALUE "PrivateBuild", PRIVATEBUILD
|
||||
#endif /* PRIVATEBUILD */
|
||||
#ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
|
||||
VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
|
||||
#endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
|
||||
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 "ProductVersion", "1\000"
|
||||
#ifdef SPECIALBUILD
|
||||
VALUE "SpecialBuild", SPECIALBUILD
|
||||
#endif /* SPECIALBUILD */
|
||||
#ifdef PNG_LIBPNG_SPECIALBUILD
|
||||
VALUE "SpecialBuild", PNG_LIBPNG_SPECIALBUILD "\000"
|
||||
#endif /* PNG_LIBPNG_SPECIALBUILD */
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
Reference in New Issue
Block a user