From 5dd2b8e208855642b692695653c181b2fe7f919d Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Wed, 24 Nov 2004 07:50:16 -0600 Subject: [PATCH] Imported from libpng-1.2.8rc1.tar --- ANNOUNCE | 14 +- CHANGES | 12 +- INSTALL | 14 +- KNOWNBUG | 2 +- LICENSE | 6 +- README | 28 +- Y2KINFO | 4 +- configure | 4 +- libpng.3 | 32 +- libpng.txt | 10 +- libpngpf.3 | 8 +- png.5 | 2 +- png.c | 6 +- png.h | 51 ++- pngconf.h | 127 +++---- pngerror.c | 2 +- pnggccrd.c | 4 +- pngget.c | 2 +- pngmem.c | 2 +- pngpread.c | 2 +- pngread.c | 6 +- pngrio.c | 2 +- pngrtran.c | 4 +- pngrutil.c | 631 ++++++++++++++++++++-------------- pngset.c | 2 +- pngtest.c | 4 +- pngtrans.c | 2 +- pngvcrd.c | 4 +- pngwio.c | 2 +- pngwrite.c | 2 +- pngwtran.c | 2 +- pngwutil.c | 2 +- projects/visualc6/README.txt | 16 +- projects/visualc6/libpng.dsp | 36 +- scripts/libpng-config-head.in | 2 +- scripts/libpng.pc.in | 2 +- scripts/makefile.32sunu | 2 +- scripts/makefile.64sunu | 2 +- scripts/makefile.aix | 2 +- scripts/makefile.beos | 2 +- scripts/makefile.cygwin | 2 +- scripts/makefile.darwin | 2 +- scripts/makefile.dec | 2 +- scripts/makefile.gcmmx | 2 +- scripts/makefile.hp64 | 2 +- scripts/makefile.hpgcc | 2 +- scripts/makefile.hpux | 2 +- scripts/makefile.linux | 2 +- scripts/makefile.ne12bsd | 2 +- scripts/makefile.netbsd | 2 +- scripts/makefile.openbsd | 2 +- scripts/makefile.sco | 2 +- scripts/makefile.sggcc | 2 +- scripts/makefile.sgi | 2 +- scripts/makefile.so9 | 2 +- scripts/makefile.solaris | 2 +- scripts/pngos2.def | 2 +- scripts/pngw32.def | 2 +- scripts/pngw32.rc | 90 ++--- 59 files changed, 661 insertions(+), 524 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 4781b57c..3d0e6ef5 100644 --- a/ANNOUNCE +++ b/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 diff --git a/CHANGES b/CHANGES index 513c1c8b..4f79c8b3 100644 --- a/CHANGES +++ b/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 diff --git a/INSTALL b/INSTALL index 88c2cfd7..a2112ec7 100644 --- a/INSTALL +++ b/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 diff --git a/KNOWNBUG b/KNOWNBUG index de9e907f..5032e3b9 100644 --- a/KNOWNBUG +++ b/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 diff --git a/LICENSE b/LICENSE index 521fe664..f705ad1c 100644 --- a/LICENSE +++ b/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 diff --git a/README b/README index 42afe18b..4f283e0f 100644 --- a/README +++ b/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 diff --git a/Y2KINFO b/Y2KINFO index 8b361d70..bab81898 100644 --- a/Y2KINFO +++ b/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 diff --git a/configure b/configure index 5ef881b3..974de42c 100755 --- a/configure +++ b/configure @@ -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 " diff --git a/libpng.3 b/libpng.3 index 045bac3d..f346379c 100644 --- a/libpng.3 +++ b/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 - + 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, -Copyright (c) 1998-01-04 Charles Poynton poynton@inforamp.net +Copyright (c) 1998-01-04 Charles Poynton 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 - + 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 diff --git a/libpng.txt b/libpng.txt index 2c49a71a..dbf5c080 100644 --- a/libpng.txt +++ b/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 - + 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, -Copyright (c) 1998-01-04 Charles Poynton poynton@inforamp.net +Copyright (c) 1998-01-04 Charles Poynton 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 diff --git a/libpngpf.3 b/libpngpf.3 index 7a4b247a..25e40c61 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -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 \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 diff --git a/png.5 b/png.5 index b357936c..2eb7aedb 100644 --- a/png.5 +++ b/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 diff --git a/png.c b/png.c index 2c32b333..70a350d2 100644 --- a/png.c +++ b/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"); diff --git a/png.h b/png.h index 452a1a44..28afc58a 100644 --- a/png.h +++ b/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; diff --git a/pngconf.h b/pngconf.h index 9b91d9b0..1236b228 100644 --- a/pngconf.h +++ b/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 + * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." + * #define PNG_USER_DLLFNAME_POSTFIX + * 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 */ - diff --git a/pngerror.c b/pngerror.c index dcea107f..f70b7fe0 100644 --- a/pngerror.c +++ b/pngerror.c @@ -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) diff --git a/pnggccrd.c b/pnggccrd.c index c20a8701..c78fc71d 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -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 diff --git a/pngget.c b/pngget.c index 41d36c51..c6ced8b0 100644 --- a/pngget.c +++ b/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) diff --git a/pngmem.c b/pngmem.c index 3209f9e1..377e5760 100644 --- a/pngmem.c +++ b/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) diff --git a/pngpread.c b/pngpread.c index 3438c494..85c5ba58 100644 --- a/pngpread.c +++ b/pngpread.c @@ -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) diff --git a/pngread.c b/pngread.c index cb0094b4..3d8d71fc 100644 --- a/pngread.c +++ b/pngread.c @@ -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) diff --git a/pngrio.c b/pngrio.c index 2b258094..a14070fa 100644 --- a/pngrio.c +++ b/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) diff --git a/pngrtran.c b/pngrtran.c index 37e82a7f..064ffc94 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -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 * - * 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 * diff --git a/pngrutil.c b/pngrutil.c index 3ddb645f..e7403054 100644 --- a/pngrutil.c +++ b/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; } diff --git a/pngset.c b/pngset.c index 5bc600d0..a4ebd17a 100644 --- a/pngset.c +++ b/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) diff --git a/pngtest.c b/pngtest.c index c6a60dd7..06c76915 100644 --- a/pngtest.c +++ b/pngtest.c @@ -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; diff --git a/pngtrans.c b/pngtrans.c index a82e29ac..b513fe4c 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -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) diff --git a/pngvcrd.c b/pngvcrd.c index 24317d2f..a7d16845 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -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 diff --git a/pngwio.c b/pngwio.c index 2c630255..42fb3699 100644 --- a/pngwio.c +++ b/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) diff --git a/pngwrite.c b/pngwrite.c index 4b7c6669..d5dceaec 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -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) diff --git a/pngwtran.c b/pngwtran.c index 89ab60ba..028e53dd 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -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) diff --git a/pngwutil.c b/pngwutil.c index c634f77d..f8e1ab13 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -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) diff --git a/projects/visualc6/README.txt b/projects/visualc6/README.txt index ccd7b98c..d34980d5 100644 --- a/projects/visualc6/README.txt +++ b/projects/visualc6/README.txt @@ -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 diff --git a/projects/visualc6/libpng.dsp b/projects/visualc6/libpng.dsp index 73a3766f..1992c2b9 100644 --- a/projects/visualc6/libpng.dsp +++ b/projects/visualc6/libpng.dsp @@ -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 diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index c9866e26..cc66754d 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.8beta5 +version=1.2.8rc1 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 4f4b513c..900bdeb8 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -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 diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 3b9239b3..af0a8dc3 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index 44e24c05..4a706eef 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 94363909..8ae6491d 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -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 diff --git a/scripts/makefile.beos b/scripts/makefile.beos index c7a361fb..8a7dac3a 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -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= diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 39da78cb..cfc7a51a 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -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 diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index c35ec4c9..c20e637a 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -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 diff --git a/scripts/makefile.dec b/scripts/makefile.dec index f689cf4f..02189899 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -32,7 +32,7 @@ ZLIBLIB=../zlib ZLIBINC=../zlib PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index c61e681a..c49a7c78 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -15,7 +15,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index 8d553be8..15320050 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -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 diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index d78a7e2a..ead25b2b 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -41,7 +41,7 @@ RANLIB=ranlib #RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index d82fdf1f..3e7e49ee 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -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 diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 8bfbd7d4..d119d89a 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -5,7 +5,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index bde126d3..2b594f47 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -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 diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index 6b909b7d..fc6ba1f6 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -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 diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 70ed8732..b4cd1024 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -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 \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 5454195a..933139c7 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -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 diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index a26e723a..38b4b364 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -18,7 +18,7 @@ ZLIBINC=../zlib LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta5 +PNGMIN = 1.2.8rc1 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 486415c7..9c2667df 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -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 diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 5812bd54..0f72be72 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -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 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index d8dbf2a8..8f776928 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -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 diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 1713ff14..38c6ab35 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -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" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 73bb0063..32bc09ea 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -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 diff --git a/scripts/pngw32.rc b/scripts/pngw32.rc index 0e2f3f39..0fab587d 100644 --- a/scripts/pngw32.rc +++ b/scripts/pngw32.rc @@ -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"