Imported from libpng-1.4.0beta8.tar

This commit is contained in:
Glenn Randers-Pehrson 2006-06-21 19:40:52 -05:00
parent 6bc53be992
commit d120996a49
45 changed files with 236 additions and 105 deletions

View File

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

View File

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

16
INSTALL
View File

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

View File

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

View File

@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng 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

14
README
View File

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

View File

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

22
configure vendored
View File

@ -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'`\\"

View File

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

View File

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

View File

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

View File

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

2
png.5
View File

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

4
png.c
View File

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

20
png.h
View File

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

View File

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

View File

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

124
pngtest.c
View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -8,7 +8,7 @@
# Modeled after libxml-config.
version=1.4.0beta7
version=1.4.0beta8
prefix=""
libdir=""
libs=""

View File

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

View File

@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

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

View File

@ -5,7 +5,7 @@
# Library name:
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng14

View File

@ -12,7 +12,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@ -16,7 +16,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

@ -6,7 +6,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@ -8,7 +8,7 @@
# Library name:
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng14

View File

@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng14
PNGMAJ = 1
PNGMIN = 1.4.0beta7
PNGMIN = 1.4.0beta8
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

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

View File

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