diff options
58 files changed, 170 insertions, 112 deletions
@@ -1,5 +1,5 @@ -Libpng 1.2.8beta3 - November 3, 2004 +Libpng 1.2.8beta4 - November 13, 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. @@ -8,7 +8,6 @@ Changes since the last public release (1.2.7): Fixed bug in png_text_compress() that would fail to complete a large block. version 1.2.8beta1 [November 1, 2004] - Fixed bug in png_text_compress() that would fail to complete a large block. Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during strip alpha operation in png_do_strip_filler(). Added PNG_1_2_X definition in pngconf.h @@ -16,8 +15,15 @@ version 1.2.8beta1 [November 1, 2004] version 1.2.8beta2 [November 2, 2004] Reduce color_type to a nonalpha type after strip alpha operation in png_do_strip_filler(). -version 1.2.8beta3 [November 3, 2004] +version 1.2.8beta3 [November 13, 2004] Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM +version 1.2.8beta4 [November 13, 2004] + Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin). + Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin). + Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection + of data type in deflate (Cosmin). + Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of + PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu (subscription required; write to @@ -1373,8 +1373,15 @@ version 1.2.8beta1 [November 1, 2004] version 1.2.8beta2 [November 2, 2004] Reduce color_type to a nonalpha type after strip alpha operation in png_do_strip_filler(). -version 1.2.8beta3 [November 3, 2004] +version 1.2.8beta3 [Novermber 3, 2004] Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM +version 1.2.8beta4 [November 13, 2004] + Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin). + Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin). + Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection + of data type in deflate (Cosmin). + Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of + PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu (subscription required; write to @@ -1,5 +1,5 @@ -Installing libpng version 1.2.8beta3 - November 3, 2004 +Installing libpng version 1.2.8beta4 - November 13, 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.8beta3" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.8beta4" 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.8beta3) + (gcc, creates libpng12.so.0.1.2.8beta4) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8beta3, + (gcc, creates libpng12.so.0.1.2.8beta4, 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.8beta3) + creates libpng12.so.0.1.2.8beta4) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.8beta3) + creates libpng12.so.0.1.2.8beta4) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.8beta3) + creates libpng12.so.0.1.2.8beta4) 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 @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.8beta3 +Known bugs in libpng version 1.2.8beta4 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 @@ -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 3, 2004, is +libpng version 1.2.6, November 13, 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 @@ -106,4 +106,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp@users.sourceforge.net -November 3, 2004 +November 13, 2004 @@ -1,4 +1,4 @@ -README for libpng version 1.2.8beta3 - November 3, 2004 (shared library 12.0) +README for libpng version 1.2.8beta4 - November 13, 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. @@ -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.8beta3) + (gcc, creates libpng12.so.0.1.2.8beta4) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8beta3, + (gcc, creates libpng12.so.0.1.2.8beta4, 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.8beta3) + (gcc, creates libpng12.so.0.1.2.8beta4) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.8beta3) + (gcc, creates libpng12.so.0.1.2.8beta4) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.8beta3) + (gcc, creates libpng12.so.0.1.2.8beta4) 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 @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - November 3, 2004 + November 13, 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.8beta3 are Y2K compliant. It is my belief that earlier + upward through 1.2.8beta4 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 @@ -1,13 +1,13 @@ #!/bin/sh echo " There is no \"configure\" script in this distribution of - libpng-1.2.8beta3. + libpng-1.2.8beta4. 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.8beta3-config.tar.gz + libpng-1.2.8beta4-config.tar.gz " @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "November 3, 2004" +.TH LIBPNG 3 "November 13, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta3 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta4 .SH SYNOPSIS \fI\fB @@ -781,7 +781,7 @@ 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.8beta3 - November 3, 2004 + libpng version 1.2.8beta4 - November 13, 2004 Updated and distributed by Glenn Randers-Pehrson <glennrp@users.sourceforge.net> Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -3685,13 +3685,13 @@ application: .SH IX. Y2K Compliance in libpng -November 3, 2004 +November 13, 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.8beta3 are Y2K compliant. It is my belief that earlier +upward through 1.2.8beta4 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 @@ -3895,7 +3895,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.8beta3 - November 3, 2004: +Libpng version 1.2.8beta4 - November 13, 2004: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp@users.sourceforge.net). @@ -3913,7 +3913,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 3, 2004, is +libpng version 1.2.6, November 13, 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 @@ -4012,7 +4012,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp@users.sourceforge.net -November 3, 2004 +November 13, 2004 .\" end of man page diff --git a/libpng.txt b/libpng.txt index 0ca99e0cd..9061c071c 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.8beta3 - November 3, 2004 + libpng version 1.2.8beta4 - November 13, 2004 Updated and distributed by Glenn Randers-Pehrson <glennrp@users.sourceforge.net> Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -2904,13 +2904,13 @@ application: IX. Y2K Compliance in libpng -November 3, 2004 +November 13, 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.8beta3 are Y2K compliant. It is my belief that earlier +upward through 1.2.8beta4 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 e3ecc206f..e19b2d68f 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "November 3, 2004" +.TH LIBPNGPF 3 "November 13, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta3 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8beta4 (private functions) .SH SYNOPSIS \fB\fB#include <png.h>\fP\fP @@ -1,4 +1,4 @@ -.TH PNG 5 "November 3, 2004" +.TH PNG 5 "November 13, 2004" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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_8beta3 Your_png_h_is_not_version_1_2_8beta3; +typedef version_1_2_8beta4 Your_png_h_is_not_version_1_2_8beta4; /* 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.8beta3 - November 3, 2004\n\ + return ((png_charp) "\n libpng version 1.2.8beta4 - November 13, 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"); @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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.8beta3 - November 3, 2004: Glenn + * libpng versions 0.97, January 1998, through 1.2.8beta4 - November 13, 2004: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -136,7 +136,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.8beta3, November 3, 2004, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.8beta4, November 13, 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 +248,13 @@ * Y2K compliance in libpng: * ========================= * - * November 3, 2004 + * November 13, 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.8beta3 are Y2K compliant. It is my belief that earlier + * upward through 1.2.8beta4 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,12 +310,12 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.8beta3" +#define PNG_LIBPNG_VER_STRING "1.2.8beta4" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.8beta3 - November 3, 2004 (header)\n" + " libpng version 1.2.8beta4 - November 13, 2004 (header)\n" #define PNG_LIBPNG_VER_SONUM 0 -#define PNG_LIBPNG_VER_DLLNUM %DLLNUM% +#define PNG_LIBPNG_VER_DLLNUM 13 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 @@ -324,7 +324,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 3 +#define PNG_LIBPNG_VER_BUILD 4 #define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_BETA 2 @@ -332,7 +332,8 @@ #define PNG_LIBPNG_BUILD_STABLE 4 #define PNG_LIBPNG_BUILD_TYPEMASK 7 #define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with STABLE only */ -#define PNG_LIBPNG_BUILD_TYPE 2 +#define PNG_LIBPNG_BUILD_PRIVATE 16 +#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. @@ -1316,7 +1317,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_8beta3; +typedef png_structp version_1_2_8beta4; typedef png_struct FAR * FAR * png_structpp; @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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) @@ -22,6 +22,36 @@ #endif #define PNG_1_2_X +#define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BETA + +#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_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 SPECIALBUILD +# else +# if !defined(PNG_LIBPNG_BUILD_SPECIAL_STRING) +# define PNG_LIBPNG_BUILD_SPECIAL_STRING special build string. +# endif +# endif +#endif +#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) +# undef PNG_LIBPNG_BUILD_TYPE +# define PNG_LIBPNG_BUILD_TYPE \ + PNG_LIBPNG_BUILD_TYPE_SAVE|PNG_LIBPNG_BUILD_PRIVATE +# define PNG_LIBPNG_BUILD_PRIVATE_STRING PRIVATEBUILD +# else +# if !defined(PNG_LIBPNG_BUILD_PRIVATE_STRING) +# define PNG_LIBPNG_BUILD_PRIVATE_STRING private build string. +# endif +# endif +#endif + /* 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 * machine. One of these will be allocated per png_struct. When this diff --git a/pngerror.c b/pngerror.c index eda4c59dc..8fb4d6b9a 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.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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 b6576da5d..27665f158 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.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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 @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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 f4b866bd5..7ceb58ad7 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 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.8beta3 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8beta4 */ 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.8beta3 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8beta4 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 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 48cb1f935..92cf32b26 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.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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/pngrutil.c b/pngrutil.c index 1558136ce..b054ec235 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,6 +1,6 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 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_8beta3 your_png_h_is_not_version_1_2_8beta3; +typedef version_1_2_8beta4 your_png_h_is_not_version_1_2_8beta4; diff --git a/pngtrans.c b/pngtrans.c index 2d2970803..c5f554f57 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.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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 @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 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 79d429dda..89b06b59f 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.2.8beta3 - November 3, 2004 + * libpng 1.2.8beta4 - November 13, 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 3b6b53182..12ac580c8 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.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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 04abe88a9..d4beac21a 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng version 1.2.8beta3 - November 3, 2004 + * libpng version 1.2.8beta4 - November 13, 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) @@ -357,9 +357,9 @@ png_write_compressed_data_out(png_structp png_ptr, compression_state *comp) png_write_chunk_data(png_ptr, png_ptr->zbuf, png_ptr->zbuf_size - png_ptr->zstream.avail_out); - /* reset zlib for another zTXt/iTXt or the image data */ + /* reset zlib for another zTXt/iTXt or image data */ deflateReset(&png_ptr->zstream); - + png_ptr->zstream.data_type = Z_BINARY; } #endif @@ -523,6 +523,9 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height, png_ptr->zlib_mem_level, png_ptr->zlib_strategy); png_ptr->zstream.next_out = png_ptr->zbuf; png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size; + /* libpng is not interested in zstream.data_type */ + /* set it to a predefined value, to avoid its evaluation inside zlib */ + png_ptr->zstream.data_type = Z_BINARY; png_ptr->mode = PNG_HAVE_IHDR; } @@ -1871,6 +1874,7 @@ png_write_finish_row(png_structp png_ptr) } deflateReset(&png_ptr->zstream); + png_ptr->zstream.data_type = Z_BINARY; } #if defined(PNG_WRITE_INTERLACING_SUPPORTED) diff --git a/projects/visualc6/README.txt b/projects/visualc6/README.txt index 6da12e4f9..ccd7b98cb 100644 --- a/projects/visualc6/README.txt +++ b/projects/visualc6/README.txt @@ -48,10 +48,13 @@ 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 (PRIVATEBUILD or SPECIALBUILD) -are defined when compiling the resource file. DLLFNAME_POSTFIX contains -the trailing letters that come after the version number. PRIVATEBUILD -and/or SPECIALBUILD store information describing the type of change made +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 diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 14cafdf14..ed5c1c2de 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.8beta3 +version=1.2.8beta4 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 8f1ee8e74..3f9d58586 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.8beta3 +Version: 1.2.8beta4 Libs: -L${libdir} -lpng12 -lz -lm Cflags: -I${includedir}/libpng12 diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index c253ad744..f1735d897 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index f51e7f221..43b7d4d3d 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 0d6ca8e1a..922e157c5 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -18,7 +18,7 @@ RM = rm -f LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index af05fad12..116aca720 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) ALIGN= diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 33c492d2b..6ffc8d166 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 882350786..3c993d885 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 917d7efe3..34f3faa38 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -32,7 +32,7 @@ ZLIBLIB=../zlib ZLIBINC=../zlib PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 75bf37575..75c60a97c 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -15,7 +15,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index ee0a400d5..7686ab636 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 818bbd409..dc57ce3c8 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -41,7 +41,7 @@ RANLIB=ranlib #RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 792a1293a..4b8ecc4b5 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 8d437b999..77e3e5ee0 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -5,7 +5,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 4cab6ea49..211f07456 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.8beta3 +SHLIB_MINOR= 1.2.8beta4 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 28c5253e9..a1a1d1012 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.8beta3 +SHLIB_MINOR= 1.2.8beta4 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 c6eabd37f..bd59bca84 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.8beta3 +SHLIB_MINOR= 1.2.8beta4 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 621bfbfe0..9ac4ad390 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 7e905fed2..4600a8777 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -18,7 +18,7 @@ ZLIBINC=../zlib LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index a34492f67..5c4f61d37 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -5,7 +5,7 @@ LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8beta3 +PNGMIN = 1.2.8beta4 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 af3bee2ed..3b06cd8ec 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index 4e3c6688c..239908336 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.8beta3 +PNGMIN = 1.2.8beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 1925bb0ee..1dd821e1e 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.8beta3 +; Version 1.2.8beta4 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index f2757e9a9..fa2a933a5 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.8beta3 +;Version 1.2.8beta4 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 diff --git a/scripts/pngw32.rc b/scripts/pngw32.rc index e69d732b3..e7fdfa211 100644 --- a/scripts/pngw32.rc +++ b/scripts/pngw32.rc @@ -8,14 +8,21 @@ #define PNG_LIBPNG_DLLFNAME "LIBPNG" -#if defined(DLLFNAME_POSTFIX) && !defined(PRIVATEBUILD) && !defined(SPECIALBUILD) -# error PRIVATEBUILD or SPECIALBUILD must be defined as a string describing the type of change brought to the standard library +#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)... */ #if defined(PNG_USE_PNGVCRD) -# if !defined(SPECIALBUILD) -# define SPECIALBUILD "Use MMX instructions" -# endif /* SPECIALBUILD */ +# 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 */ #endif #if defined(PNG_DEBUG) && (PNG_DEBUG > 0) @@ -33,17 +40,17 @@ # endif /* DLLFNAME_POSTFIX */ #endif /* defined(DEBUG)... */ -#ifdef PRIVATEBUILD +#if (PNG_LIBPNG_BUILD_PRIVATE & PNG_LIBPNG_BUILD_TYPE) # define VS_PRIVATEBUILD VS_FF_PRIVATEBUILD #else # define VS_PRIVATEBUILD 0 -#endif /* PRIVATEBUILD */ +#endif /* PNG_LIBPNG_BUILD_PRIVATE */ -#ifdef SPECIALBUILD +#if (PNG_LIBPNG_BUILD_SPECIAL & PNG_LIBPNG_BUILD_TYPE) # define VS_SPECIALBUILD VS_FF_SPECIALBUILD #else # define VS_SPECIALBUILD 0 -#endif /* SPECIALBUILD */ +#endif /* PNG_LIBPNG_BUILD_SPECIAL */ #if ((PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_TYPEMASK) != \ PNG_LIBPNG_BUILD_STABLE) |