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
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
View File

@ -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
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
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

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
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
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
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 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

View File

@ -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
View File

@ -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
"

View File

@ -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

View File

@ -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

View File

@ -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
View File

@ -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
View File

@ -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
View File

@ -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
View File

@ -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 */

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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
*

View File

@ -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;
}

View File

@ -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)

View File

@ -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;

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

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

View File

@ -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

View File

@ -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=

View File

@ -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

View File

@ -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

View File

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

View File

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

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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"