diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2006-06-21 19:40:52 -0500 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2009-04-06 16:09:27 -0500 |
commit | d120996a49fdc135e0b92236474ececeb57f1eef (patch) | |
tree | fa8070983fbeafc413782873897238f2ec4dcbab | |
parent | 6bc53be992d6adbd7bcc94947c3096d4860e3a35 (diff) | |
download | libpng-1.4.0beta8.tar.gz |
Imported from libpng-1.4.0beta8.tarv1.4.0beta8
45 files changed, 236 insertions, 105 deletions
@@ -1,5 +1,5 @@ -Libpng 1.4.0beta7 - June 16, 2006 +Libpng 1.4.0beta8 - June 22, 2006 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. @@ -9,32 +9,32 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.4.0beta7.tar.gz - 1.4.0beta7.tar.bz2 + 1.4.0beta8.tar.gz + 1.4.0beta8.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - 1.4.0beta7-no-config.tar.gz - 1.4.0beta7-no-config.tar.bz2 + 1.4.0beta8-no-config.tar.gz + 1.4.0beta8-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp140b07.zip - lp140b07.tar.bz2 + lp140b08.zip + lp140b08.tar.bz2 Project files - 1.4.0beta7-project-netware.zip - 1.4.0beta7-project-wince.zip + 1.4.0beta8-project-netware.zip + 1.4.0beta8-project-wince.zip Other information: - 1.4.0beta7-README.txt - 1.4.0beta7-KNOWNBUGS.txt - 1.4.0beta7-LICENSE.txt - 1.4.0beta7-Y2K-compliance.txt + 1.4.0beta8-README.txt + 1.4.0beta8-KNOWNBUGS.txt + 1.4.0beta8-LICENSE.txt + 1.4.0beta8-Y2K-compliance.txt Changes since the last public release (1.2.10): @@ -111,7 +111,7 @@ version 1.4.0beta4 [May 11, 2006] Revised configure.ac, Makefile.am, and many of the makefiles to write their defines in pngconf.h. -version 1.4.0beta5 [June 16, 2006] +version 1.4.0beta5 [June 22, 2006] Added a missing semicolon in Makefile.am and Makefile.in Deleted extraneous square brackets from configure.ac @@ -141,11 +141,11 @@ version 1.2.11rc2 [June 14, 2006] Revised INSTALL and autogen.sh Fixed typo in several makefiles (-W1 should be -Wl) -version 1.2.11rc3 [June 16, 2006] +version 1.2.11rc3 [June 22, 2006] Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid reading out of bounds. -version 1.4.0beta7 [June 16, 2006] +version 1.4.0beta7 [June 22, 2006] Exported png_write_sig (Cosmin). Optimized buffer in png_handle_cHRM() (Cosmin). Set pHYs = 2835 x 2835 pixels per meter, and added @@ -153,6 +153,10 @@ version 1.4.0beta7 [June 16, 2006] Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error(). Added typedef for png_int_32 and png_uint_32 on 64-bit systems. +version 1.4.0beta8 [June 22, 2006] + Added demonstration of user chunk support in pngtest.c, to support the + public sTER chunk and a private vpAg chunk. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement @@ -1647,6 +1647,10 @@ version 1.4.0beta7 [June 16, 2006] Added typedef for png_int_32 and png_uint_32 on 64-bit systems. Added "(unsigned long)" typecast on png_uint_32 variables in printf lists. +version 1.4.0beta8 [June 22, 2006] + Added demonstration of user chunk support in pngtest.c, to support the + public sTER chunk and a private vpAg chunk. + version 1.4.0betaN [future] Cleaned up error and warning messages. Implemented sTER chunk. @@ -1,5 +1,5 @@ -Installing libpng version 1.4.0beta7 - June 16, 2006 +Installing libpng version 1.4.0beta8 - June 22, 2006 On Unix/Linux and similar systems, you can simply type @@ -37,7 +37,7 @@ to have access to the 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.4.0beta7" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.4.0beta8" 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: @@ -93,11 +93,11 @@ include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng14.so.1.1.4.0beta7) + gcc, creates libpng14.so.1.1.4.0beta8) makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.1.1.4.0beta7) + (gcc, creates libpng14.so.1.1.4.0beta8) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng14.so.1.1.4.0beta7, + (gcc, creates libpng14.so.1.1.4.0beta8, 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 @@ -120,12 +120,12 @@ include makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.sggcc => Silicon Graphics (gcc, - creates libpng14.so.1.1.4.0beta7) + creates libpng14.so.1.1.4.0beta8) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng14.so.1.1.4.0beta7) + creates libpng14.so.1.1.4.0beta8) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng14.so.1.1.4.0beta7) + creates libpng14.so.1.1.4.0beta8) 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.4.0beta7 +Known bugs in libpng version 1.4.0beta8 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 versions 1.2.6, August 15, 2004, through 1.4.0beta7, June 16, 2006, are +libpng versions 1.2.6, August 15, 2004, through 1.4.0beta8, June 22, 2006, are Copyright (c) 2004, 2006 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 @@ -106,4 +106,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 16, 2006 +June 22, 2006 @@ -1,4 +1,4 @@ -README for libpng version 1.4.0beta7 - June 16, 2006 (shared library 14.0) +README for libpng version 1.4.0beta8 - June 22, 2006 (shared library 14.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -190,11 +190,11 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng14.so.1.1.4.0beta7) + gcc, creates libpng14.so.1.1.4.0beta8) makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.1.1.4.0beta7) + (gcc, creates libpng14.so.1.1.4.0beta8) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng14.so.1.1.4.0beta7, + (gcc, creates libpng14.so.1.1.4.0beta8, 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 @@ -216,12 +216,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng14.so.1.1.4.0beta7) + (gcc, creates libpng14.so.1.1.4.0beta8) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng14.so.1.1.4.0beta7) + (gcc, creates libpng14.so.1.1.4.0beta8) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng14.so.1.1.4.0beta7) + (gcc, creates libpng14.so.1.1.4.0beta8) 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: ========================= - June 16, 2006 + June 22, 2006 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.4.0beta7 are Y2K compliant. It is my belief that earlier + upward through 1.4.0beta8 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,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for libpng 1.4.0beta7. +# Generated by GNU Autoconf 2.59 for libpng 1.4.0beta8. # # Report bugs to <png-mng-implement@lists.sourceforge.net>. # @@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.4.0beta7' -PACKAGE_STRING='libpng 1.4.0beta7' +PACKAGE_VERSION='1.4.0beta8' +PACKAGE_STRING='libpng 1.4.0beta8' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -954,7 +954,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libpng 1.4.0beta7 to adapt to many kinds of systems. +\`configure' configures libpng 1.4.0beta8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1020,7 +1020,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.4.0beta7:";; + short | recursive ) echo "Configuration of libpng 1.4.0beta8:";; esac cat <<\_ACEOF @@ -1167,7 +1167,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.4.0beta7 +libpng configure 1.4.0beta8 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1181,7 +1181,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpng $as_me 1.4.0beta7, which was +It was created by libpng $as_me 1.4.0beta8, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1824,7 +1824,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.4.0beta7' + VERSION='1.4.0beta8' cat >>confdefs.h <<_ACEOF @@ -1979,7 +1979,7 @@ fi -PNGLIB_VERSION=1.4.0beta7 +PNGLIB_VERSION=1.4.0beta8 PNGLIB_MAJOR=14 PNGLIB_MINOR=0 @@ -20683,7 +20683,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by libpng $as_me 1.4.0beta7, which was +This file was extended by libpng $as_me 1.4.0beta8, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20746,7 +20746,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpng config.status 1.4.0beta7 +libpng config.status 1.4.0beta8 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index efa47aa57..9d92dd9c0 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.4.0beta7], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.4.0beta8], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.4.0beta7 +PNGLIB_VERSION=1.4.0beta8 PNGLIB_MAJOR=14 PNGLIB_MINOR=0 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "June 16, 2006" +.TH LIBPNG 3 "June 22, 2006" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta7 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta8 .SH SYNOPSIS \fI\fB @@ -833,7 +833,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.4.0beta7 - June 16, 2006 + libpng version 1.4.0beta8 - June 22, 2006 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -3748,13 +3748,13 @@ application: .SH IX. Y2K Compliance in libpng -June 16, 2006 +June 22, 2006 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.4.0beta7 are Y2K compliant. It is my belief that earlier +upward through 1.4.0beta8 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 @@ -3916,7 +3916,7 @@ the first widely used release: 1.2.10 13 10210 12.so.0.10[.0] 1.4.0beta1-6 14 10400 14.so.0.0[.0] 1.2.11beta1-4 13 10210 12.so.0.10[.0] - 1.4.0beta7 14 10400 14.so.0.0[.0] + 1.4.0beta7-8 14 10400 14.so.0.0[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3972,7 +3972,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.4.0beta7 - June 16, 2006: +Libpng version 1.4.0beta8 - June 22, 2006: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3993,7 +3993,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.4.0beta7, June 16, 2006, are +libpng versions 1.2.6, August 15, 2004, through 1.4.0beta8, June 22, 2006, are Copyright (c) 2004-2006 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 @@ -4092,7 +4092,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 16, 2006 +June 22, 2006 .\" end of man page diff --git a/libpng.txt b/libpng.txt index 814217041..9a9f92876 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.4.0beta7 - June 16, 2006 + libpng version 1.4.0beta8 - June 22, 2006 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -2915,13 +2915,13 @@ application: IX. Y2K Compliance in libpng -June 16, 2006 +June 22, 2006 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.4.0beta7 are Y2K compliant. It is my belief that earlier +upward through 1.4.0beta8 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 4585911a5..f22288d91 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "June 16, 2006" +.TH LIBPNGPF 3 "June 22, 2006" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta7 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta8 (private functions) .SH SYNOPSIS \fB#include <png.h>\fP @@ -1,4 +1,4 @@ -.TH PNG 5 "June 16, 2006" +.TH PNG 5 "June 22, 2006" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION @@ -13,7 +13,7 @@ #include "pngintrn.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_0beta7 Your_png_h_is_not_version_1_4_0beta7; +typedef version_1_4_0beta8 Your_png_h_is_not_version_1_4_0beta8; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -637,7 +637,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.4.0beta7 - June 16, 2006\n\ + return ((png_charp) "\n libpng version 1.4.0beta8 - June 22, 2006\n\ Copyright (c) 1998-2006 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.4.0beta7 - June 16, 2006 + * libpng version 1.4.0beta8 - June 22, 2006 * Copyright (c) 1998-2006 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.) @@ -9,7 +9,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.4.0beta7 - June 16, 2006: Glenn + * libpng versions 0.97, January 1998, through 1.4.0beta8 - June 22, 2006: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -121,7 +121,7 @@ * 1.2.10 13 10210 12.so.0.10[.0] * 1.4.0beta1-5 14 10400 14.so.0.0[.0] * 1.2.11beta1-4 13 10210 12.so.0.10[.0] - * 1.4.0beta7 14 10400 14.so.0.0[.0] + * 1.4.0beta7-8 14 10400 14.so.0.0[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -151,7 +151,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta7, June 16, 2006, are + * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta8, June 22, 2006, are * Copyright (c) 2004, 2006 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: @@ -263,13 +263,13 @@ * Y2K compliance in libpng: * ========================= * - * June 16, 2006 + * June 22, 2006 * * 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.4.0beta7 are Y2K compliant. It is my belief that earlier + * upward through 1.4.0beta8 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 @@ -325,9 +325,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.4.0beta7" +#define PNG_LIBPNG_VER_STRING "1.4.0beta8" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.4.0beta7 - June 16, 2006 (header)\n" + " libpng version 1.4.0beta8 - June 22, 2006 (header)\n" #define PNG_LIBPNG_VER_SONUM 1 #define PNG_LIBPNG_VER_DLLNUM 14 @@ -339,7 +339,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 7 +#define PNG_LIBPNG_VER_BUILD 8 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1363,7 +1363,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_4_0beta7; +typedef png_structp version_1_4_0beta8; typedef png_struct FAR * FAR * png_structpp; @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.4.0beta7 - June 16, 2006 + * libpng version 1.4.0beta8 - June 22, 2006 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2006 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngintrn.h b/pngintrn.h index 044329a66..9c5fedc9d 100644 --- a/pngintrn.h +++ b/pngintrn.h @@ -1,7 +1,7 @@ /* pngintrn.h - internal header file for libpng * - * libpng version 1.4.0beta7 - June 16, 2006 + * libpng version 1.4.0beta8 - June 22, 2006 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2006 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -256,6 +256,7 @@ #define PNG_sBIT const png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'} #define PNG_sPLT const png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'} #define PNG_sRGB const png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'} +#define PNG_sTER const png_byte png_sTER[5] = {115, 84, 69, 82, '\0'} #define PNG_tEXt const png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'} #define PNG_tIME const png_byte png_tIME[5] = {116, 73, 77, 69, '\0'} #define PNG_tRNS const png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'} @@ -550,6 +550,77 @@ png_debug_free(png_structp png_ptr, png_voidp ptr) #endif /* PNG_USER_MEM_SUPPORTED && PNG_DEBUG */ /* END of code to test memory allocation/deallocation */ + + + +/* Demonstration of user chunk support of the sTER and vpAg chunks */ +#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) + +/* (sTER is a public chunk not yet understood by libpng. vpAg is a private +chunk used in ImageMagick to store "virtual page" size). */ + +static png_uint_32 user_chunk_data[4]; + + /* 0: stereo mode + 1 + * 1: vpag width + * 2: vpag height + * 3: vpag units + */ + +static int read_user_chunk_callback(png_struct *png_ptr, + png_unknown_chunkp chunk) +{ + png_uint_32 + *user_chunk_data; + + /* Return one of the following: */ + /* return (-n); chunk had an error */ + /* return (0); did not recognize */ + /* return (n); success */ + + /* The unknown chunk structure contains the chunk data: + * png_byte name[5]; + * png_byte *data; + * png_size_t size; + * + * Note that libpng has already taken care of the CRC handling. + */ + + if (chunk->name[0] == 115 && chunk->name[1] == 84 && /* s T */ + chunk->name[2] == 69 && chunk-> name[3] == 82) /* E R */ + { + /* Found sTER chunk */ + if (chunk->size != 1) + return (-1); /* Error return */ + if (chunk->data[0] != 0 && chunk->data[0] != 1) + return (-1); /* Invalid mode */ + user_chunk_data=(png_uint_32 *) png_get_user_chunk_ptr(png_ptr); + user_chunk_data[0]=chunk->data[0]+1; + return (1); + } + if (chunk->name[0] != 118 || chunk->name[1] != 112 || /* v p */ + chunk->name[2] != 65 || chunk->name[3] != 103) /* A g */ + return (0); /* Did not recognize */ + + /* Found ImageMagick vpAg chunk */ + + if (chunk->size != 9) + return (-1); /* Error return */ + + user_chunk_data=(png_uint_32 *) png_get_user_chunk_ptr(png_ptr); + + user_chunk_data[1]=(unsigned long) ((chunk->data[0] << 24) | + (chunk->data[1] << 16) | (chunk->data[2] << 8) | chunk->data[3]); + user_chunk_data[2]=(unsigned long) ((chunk->data[4] << 24) | + (chunk->data[5] << 16) | (chunk->data[6] << 8) | chunk->data[7]); + user_chunk_data[3]=(unsigned long) chunk->data[8]; + + return (1); + +} +#endif +/* END of code to demonstrate user chunk support */ + /* Test one file */ int test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) @@ -608,6 +679,16 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) png_set_error_fn(read_ptr, (png_voidp)inname, pngtest_error, pngtest_warning); #endif + +#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) + user_chunk_data[0]=0; + user_chunk_data[1]=0; + user_chunk_data[2]=0; + user_chunk_data[3]=0; + png_set_read_user_chunk_fn(read_ptr, user_chunk_data, + read_user_chunk_callback); +#endif + #ifdef PNG_WRITE_SUPPORTED #if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG write_ptr = png_create_write_struct_2(PNG_LIBPNG_VER_STRING, png_voidp_NULL, @@ -976,6 +1057,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) } } #endif + #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED) { png_unknown_chunkp unknowns; @@ -1003,6 +1085,46 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) png_write_info_before_PLTE(write_ptr, write_info_ptr); */ png_write_info(write_ptr, write_info_ptr); + +#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) + if (user_chunk_data[0] != 0) + { + png_byte png_sTER[5] = {115, 84, 69, 82, '\0'}; + + unsigned char + ster_chunk_data[1]; + + if(verbose) + fprintf(STDERR, "stereo mode = %lu\n", + (unsigned long)(user_chunk_data[0]-1)); + ster_chunk_data[0]=(unsigned char)(user_chunk_data[0]-1); + png_write_chunk(write_ptr,png_sTER,ster_chunk_data,1); + } + if (user_chunk_data[1] != 0 || user_chunk_data[2] != 0) + { + png_byte png_vpAg[5] = {118, 112, 65, 103, '\0'}; + + unsigned char + vpag_chunk_data[9]; + + if(verbose) + fprintf(STDERR, "vpAg = %lu x %lu, units=%lu\n", + (unsigned long)user_chunk_data[1], + (unsigned long)user_chunk_data[2], + (unsigned long)user_chunk_data[3]); + vpag_chunk_data[0]=(user_chunk_data[1]>>24) & 0xff; + vpag_chunk_data[1]=(user_chunk_data[1]>>16) & 0xff; + vpag_chunk_data[2]=(user_chunk_data[1]>>8 ) & 0xff; + vpag_chunk_data[3]=(user_chunk_data[1] ) & 0xff; + vpag_chunk_data[4]=(user_chunk_data[2]>>24) & 0xff; + vpag_chunk_data[5]=(user_chunk_data[2]>>16) & 0xff; + vpag_chunk_data[6]=(user_chunk_data[2]>>8 ) & 0xff; + vpag_chunk_data[7]=(user_chunk_data[2] ) & 0xff; + vpag_chunk_data[8]=(user_chunk_data[3] ) & 0xff; + png_write_chunk(write_ptr, png_vpAg,vpag_chunk_data,9); + } + +#endif #endif #ifdef SINGLE_ROWBUF_ALLOC @@ -1489,4 +1611,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_0beta7 your_png_h_is_not_version_1_4_0beta7; +typedef version_1_4_0beta8 your_png_h_is_not_version_1_4_0beta8; diff --git a/pngtest.png b/pngtest.png Binary files differindex 3776e6c1e..cfdd36f28 100644 --- a/pngtest.png +++ b/pngtest.png diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index fcd982568..25d884be5 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.4.0beta7 +version=1.4.0beta8 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 07838aff3..8e299938c 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng14 Name: libpng Description: Loads and saves PNG files -Version: 1.4.0beta7 +Version: 1.4.0beta8 Libs: -L${libdir} -lpng14 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 6169e710c..a8d885521 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index b47e8fea9..8482a3c2f 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 3280e6728..d5350c033 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 4eeb8b7b9..9f5ec4f5c 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index ed7055113..173975d4a 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -65,7 +65,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng14 PNGMAJ = 1 CYGDLL = 14 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 21e97c585..5bb4b9d4d 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index e0595a4c3..d007c9163 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng14 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index 26ad8ce90..7a1721d57 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index df6d6b14a..4811c6769 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -16,7 +16,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index cfda34135..20ba2160e 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 4c9a18700..1f2ea254b 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 2f82a3714..2ec5e1422 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 25c329246..e115b9d55 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 8b8af77b3..d99fea193 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -66,7 +66,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng14 PNGMAJ = 1 MINGDLL = 14 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 5a327db8b..d85332022 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng14 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.0beta7 +SHLIB_MINOR= 1.4.0beta8 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 c0c5e947a..658e85077 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.4.0beta7 +SHLIB_MINOR= 1.4.0beta8 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 bd8f419ca..138e05538 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.0beta7 +SHLIB_MINOR= 1.4.0beta8 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 0302f43e3..64d753f80 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index f1853e3a1..aeda081ff 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index d45ce075b..3a8d28732 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 278015207..430690615 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng14 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index b165121a0..7a1f5cfda 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 1 -PNGMIN = 1.4.0beta7 +PNGMIN = 1.4.0beta8 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index b3f4106c3..2ae709d93 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.4.0beta7 +; Version 1.4.0beta8 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 1fc8f645e..f1f488bc1 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.4.0beta7 +;Version 1.4.0beta8 png_build_grayscale_palette @1 png_chunk_error @3 png_chunk_warning @4 |