diff --git a/ANNOUNCE b/ANNOUNCE index 4781b57c57e039b4c9e7c17cdec02f6960ab8e4b..3d0e6ef5f7603c4d60fb3947bfba94413471be3b 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 513c1c8bd68d3fe882feec78464c3add49ea7a78..4f79c8b398692e7eba45f485ec0c0d9ef2887c36 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 88c2cfd7513752d2e5b33c66351ff78f9a095b38..a2112ec72de1db3d6e2cc2cfdcd321f02b907422 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 de9e907fbf3dbe290f4f73771e4568c600982d7f..5032e3b98ab58d7c31868da49ed6d5c20b236718 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 521fe66477883364d0ee3d2983f4a370899e755b..f705ad1ce05c2fead073f1ca91fb1eea65a0fdf3 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 42afe18b780e64fcc562258873f3e35e41c66e1d..4f283e0f6296f501d10d53c11412561b6de36937 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 8b361d7059ff2d649636ba9a3e6fb9e8f8ec1300..bab818989bfcdca004b7c69381b2f7a5e35aba7d 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 5ef881b3a2a96cc9b45956ed4e2b6cbc8e1065a6..974de42ce56ce3e281bb2ad548584d76297179d2 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 045bac3d32a028a25b64820e96686de48b867970..f346379cc5791f62661e6f7fe85a8f8d5992220b 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 2c49a71acdd5aec71ebd4dc728087e3b9cf97ef1..dbf5c080a9cb8248e709c1579a518cf81aaebd64 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 7a4b247aa9747657e349a416b315c67dee73380c..25e40c6141ce7e4daa6b7ddfeb3eddeb56f4d91f 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 b357936c7f00c46b25e18731fb505ff3760381a5..2eb7aedb47e17a752c73caafd2c7de863027362d 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 2c32b33304d80356f2e53b582a87c158b14ba06a..70a350d2bc6ab94ff846e859da6d4326a5c20389 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 452a1a44c29622e6223d87f66fa0848443ec9001..28afc58a2e387a79cf3124230cb6411ef4cd084f 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 9b91d9b09b4ade55af0b01bf6114e290ed568d5a..1236b228df6996626a56d25b8b9122644b8c803d 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 dcea107fd3c72e15b011a343ecec96c39e06d4fb..f70b7fe026ee497f661cf47368820d404159c92c 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 c20a8701fe46d2bc958cb4998f236745cf3a2f7c..c78fc71dd4838deeb4447cd8f0d4f15be86b82c5 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 41d36c515697c3703d0f6d986253c683879c6e64..c6ced8b017e2fbc9054dd3e6f0987731c0bd2cc2 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 3209f9e1057038432ab62d7e56fc7aca83020925..377e5760500e80277ef9ac86791ce2b24ccca13c 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 3438c4941b11a90636d2202ad48520f8891d57ba..85c5ba58d8e159452878f9d4f141e5d2c066a6a5 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 cb0094b41734f85f44e9fcac5357b5cfa41bb27d..3d8d71fc1e25f5c09b68f1a7ad23b67524ce4078 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 2b25809431eaf090539c93d4fdf3b32f774823a8..a14070fabf218611619131e3526ffabd7867d0ab 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 37e82a7fbfd1078340581ae20fcc113e7576fe79..064ffc94f392f797241b2ea067c9ae46e96fc7c8 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 3ddb645f542e6ab7a174b64657ee3d2aac765bb7..e7403054bb5f1ca22287d2d8a59ff68865b8beaa 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) + mask = bitrev[mask & 0x0F] | (bitrev[(mask >> 4) & 0x0F] << 4); +#endif + for (j = 0; j < 2; j++) { - s_start = 0; - s_end = 6; - s_inc = 2; + pixel_mask[j] = 0; + for (i = 4; i > 0; i--) + { + pixel_mask[j] <<= 2; + if (m & mask) + pixel_mask[j] |= 0x03; + m >>= 1; + } } - else -#endif + j = 0; + for (i = png_ptr->width; i >= 4; i -= 4) { - s_start = 6; - s_end = 0; - s_inc = -2; + if (pixel_mask[j] != 0) + *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); + sp++; + dp++; + j ^= 1; } - - shift = s_start; - - for (i = 0; i < row_width; i++) + if (i > 0) { - if (m & mask) - { - 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 - m >>= 1; + 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) + mask = ((mask & 0x55) << 1) | ((mask & 0xAA) >> 1); +#endif + for (j = 0; j < 4; j++) { - s_start = 0; - s_end = 4; - s_inc = 4; + pixel_mask[j] = 0; + for (i = 2; i > 0; i--) + { + pixel_mask[j] <<= 4; + if (m & mask) + pixel_mask[j] |= 0x0F; + m >>= 1; + } } - else -#endif + j = 0; + for (i = png_ptr->width; i >= 2; i -= 2) { - s_start = 4; - s_end = 0; - s_inc = -4; + if (pixel_mask[j] != 0) + *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); + sp++; + dp++; + j += 1; + j &= 3; } - shift = s_start; - - for (i = 0; i < row_width; i++) + if (i > 0) { - if (m & mask) - { - 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 - m >>= 1; + 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; + sshift -= 8; + sp--; } - if (sshift == s_end) + else if (sshift < 0) { - sshift = s_start; + 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; + sshift -= 8; + sp--; } - if (sshift == s_end) + else if (sshift < 0) { - sshift = s_start; + 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; + sshift -= 8; + sp--; } - if (sshift == s_end) + else if (sshift < 0) { - sshift = s_start; + 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 5bc600d027e3af8291ff96e1bcda8253e8a75493..a4ebd17a15804bfa8fd978746703d8a63140bced 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 c6a60dd7d890454a9834c04ef0bdb1ecab1321e7..06c76915be4c176720634a9ac91c4fa37bd55693 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 a82e29ac65f902990dfa3b9d3d06c50d0f263588..b513fe4cc8cfde457964349f2a04f31305b2c55a 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 24317d2f9728701c475286d053eacb9b40cae9da..a7d16845724f6a4225a8eeaae67a65b357d335f4 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 2c6302553342589175ef77b3d38bb66737785e2c..42fb36995fbc9bdbb32d334b314d55f5e740e771 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 4b7c6669c2a11b19a5e378a1fff4647648d28ed3..d5dceaec1235aed499a678dba4c5b57c45e8f595 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 89ab60ba78b7abab55b314d0e4c43e6fb8146e69..028e53dd0bbfd54e9e71e40b365e21b7ce620e53 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 c634f77d324a1ad335aef33d9d5f978eaafeee09..f8e1ab1366a1702ac03575cc5fe464b02bb7438b 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 ccd7b98cb722439b009d16ce5274a9a0487b7bde..d34980d575968c76ec05c6f7fa536c38ca0318d3 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 73a3766f7257af6cd46486b9b18a41b633e4a19f..1992c2b985065d291af68b73ebe7ab50a0c2aac3 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 c9866e26395f10d130ec3706e8fbd76382997411..cc66754d62b1cf071f7d0dcdd35d991b24583a53 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 4f4b513cd053fef68f685e3f8a18e62ac421b21b..900bdeb86b5adb3ec511588b530c3267d76c1ce5 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 3b9239b3851c063d5d50dabffd6d2135bffe4341..af0a8dc36f3eb166d21702b4f632b67fb04ac786 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 44e24c052d437d4e0b8043c18aabea3a06a62ec0..4a706eef0b8165c1b17e5388259de83418c40b52 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 943639098fed35301db882928d0689967784443d..8ae6491de13c82ca74ee349b43117a6a1a77b252 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 c7a361fb290b61cf4ba294719643e928da5726c6..8a7dac3a703724caee20168de93b804bfe306cf9 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 39da78cbbed8fb1060bed090b3e9a3ca5ea29136..cfc7a51ae0fdd99a6ccdd6d7a59218b4820161e2 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 c35ec4c97a4a9d0465887ea27341424262ed77c6..c20e637a4fdc7ba3644642108bf7f20d27b7f946 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 f689cf4f016372c9da2b60bd64101f102b1724d5..0218989919ae4433a9c007957b4ac138691a8387 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 c61e681a28d9030891fd9c287ae7f8e5fb281622..c49a7c780dffa87848b2af2368fff80e2590228f 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 8d553be885ab3633224ccd168fba6fcc6638f868..1532005071633c086c80aca3df37f1ec3fff0294 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 d78a7e2a36adb36fbb82ca61bb74d9b3a36772b3..ead25b2bc00929d57fc6a3134120a36fc9d77b5d 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 d82fdf1f3cb7f54521a147e6fb2d09ef7bcda0fd..3e7e49ee21a44ec95ea4fafbba34553ca6ee64b5 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 8bfbd7d43d18eccf302d187e1a21a3f7780014ef..d119d89a62d1658e6fde6632062474e54010f11c 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 bde126d3d9d57c1911731197c13e098ee204395b..2b594f475180e9b9c510d91163cf90465b519d5b 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 6b909b7d608b010609e58b28554d01aa6199ebba..fc6ba1f68901a6887263db7538cc7122610212ee 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 70ed873265d3b111fc9330474bc1eb82163baa76..b4cd1024698e6b48a1a10ce59e6602e790e72eb4 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 5454195a8f5291ca2621d89a0bd3b4c3681fc80c..933139c7042b83d9034b6cc409cae5a97354f245 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 a26e723aeaeb7919d3fadea632de8d075c415399..38b4b3645a71a2b4a9ba8cf1b3755f49ccb8fc0c 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 486415c75c33ce8ab274f402a13ce2e0d510f16f..9c2667df6d3403884fc0af57e33cdf273d9fb86f 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 5812bd545fa1b1343443168db67041eedea3eb7c..0f72be7204904a477b8bbc74957b3790c30004ac 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 d8dbf2a893e00074d25e00b575b219e1f9e2a41e..8f77692883044171e78d847f7e1316d6a561da14 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 1713ff14d86057943d2aa4f926198dbe0b6babf8..38c6ab356cac0306a495e55bffb16b0a9f0de1d5 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 73bb006393fe2034a88e88586fff74f8ad1d2626..32bc09eae364d243b1911a78361cbcb035b08ab3 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 0e2f3f3973fe8ede237af952caeb7ecc8dc12add..0fab587dd2450ceb9352c66171e1b112fcd19efd 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_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 -#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 */ +#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"