diff --git a/ANNOUNCE b/ANNOUNCE index a288e17c..edb5bc95 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.19beta17 - June 20, 2007 +Libpng 1.2.19beta18 - June 23, 2007 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 - libpng-1.2.19beta17.tar.gz - libpng-1.2.19beta17.tar.bz2 + libpng-1.2.19beta18.tar.gz + libpng-1.2.19beta18.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.2.19beta17-no-config.tar.gz - libpng-1.2.19beta17-no-config.tar.bz2 + libpng-1.2.19beta18-no-config.tar.gz + libpng-1.2.19beta18-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1219b17.zip - lp1219b17.tar.bz2 + lp1219b18.zip + lp1219b18.tar.bz2 Project files - libpng-1.2.19beta17-project-netware.zip - libpng-1.2.19beta17-project-wince.zip + libpng-1.2.19beta18-project-netware.zip + libpng-1.2.19beta18-project-wince.zip Other information: - libpng-1.2.19beta17-README.txt - libpng-1.2.19beta17-KNOWNBUGS.txt - libpng-1.2.19beta17-LICENSE.txt - libpng-1.2.19beta17-Y2K-compliance.txt + libpng-1.2.19beta18-README.txt + libpng-1.2.19beta18-KNOWNBUGS.txt + libpng-1.2.19beta18-LICENSE.txt + libpng-1.2.19beta18-Y2K-compliance.txt Changes since the last public release (1.2.18): @@ -103,10 +103,16 @@ version 1.2.19beta16 [June 18, 2007] Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"' in configure.ac -version 1.2.19beta17 [June 20, 2007] +version 1.2.19beta17 [June 19, 2007] Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed and to not use -O3 unless -DPNG_NO_MMX_CODE is also set. +version 1.2.19beta18 [June 23, 2007] + Replaced some C++ style comments with C style comments in pnggccrd.c. + Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency + on pnggccrd.o from many makefiles. + Added sl and dylib to list of extensions be installed by Makefile.am + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index eb66e0e6..e17bb263 100644 --- a/CHANGES +++ b/CHANGES @@ -1796,10 +1796,16 @@ version 1.2.19beta16 [June 18, 2007] Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"' in configure.ac -version 1.2.19beta17 [June 20, 2007] +version 1.2.19beta17 [June 19, 2007] Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed and to not use -O3 unless -DPNG_NO_MMX_CODE is also set. +version 1.2.19beta18 [June 23, 2007] + Replaced some C++ style comments with C style comments in pnggccrd.c. + Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency + on pnggccrd.o from many makefiles. + Added sl and dylib to list of extensions be installed by Makefile.am + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/INSTALL b/INSTALL index c9713750..51a79acf 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.19beta17 - June 20, 2007 +Installing libpng version 1.2.19beta18 - June 23, 2007 On Unix/Linux and similar systems, you can simply type @@ -44,7 +44,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.2.19beta17" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.19beta18" 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: @@ -101,14 +101,14 @@ include CMakeLists.txt => "cmake" script makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng12.so.0.1.2.19beta17) + gcc, creates libpng12.so.0.1.2.19beta18) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.19beta17) + (gcc, creates libpng12.so.0.1.2.19beta18) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.19beta17, + (gcc, creates libpng12.so.0.1.2.19beta18, uses assembler code tuned for Intel MMX platform) makefile.nommx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.19beta17 + (gcc, creates libpng12.so.0.1.2.19beta18 does not use Intel MMX assembler code) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -131,14 +131,14 @@ 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.19beta17) + creates libpng12.so.0.1.2.19beta18) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.19beta17) + creates libpng12.so.0.1.2.19beta18) makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, - creates libpng12.so.0.1.2.19beta17) + creates libpng12.so.0.1.2.19beta18) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.19beta17) + creates libpng12.so.0.1.2.19beta18) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc diff --git a/KNOWNBUG b/KNOWNBUG index 055f9a69..a0749519 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.19beta17 +Known bugs in libpng version 1.2.19beta18 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running diff --git a/LICENSE b/LICENSE index b9681ccc..9dc09d4f 100644 --- a/LICENSE +++ b/LICENSE @@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.2.19beta17, June 20, 2007, are +libpng versions 1.2.6, August 15, 2004, through 1.2.19beta18, June 23, 2007, are Copyright (c) 2004, 2006-2007 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 20, 2007 +June 23, 2007 diff --git a/Makefile.am b/Makefile.am index 371cad17..0da7f982 100644 --- a/Makefile.am +++ b/Makefile.am @@ -123,7 +123,7 @@ install-exec-hook: cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config @set -x;\ cd $(DESTDIR)$(libdir);\ - for ext in a la so; do\ + for ext in a la so sl dylib; do\ rm -f libpng.$$ext;\ if test -f $(PNGLIB_BASENAME).$$ext; then\ $(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\ @@ -137,7 +137,7 @@ uninstall-hook: @if test -n "@compatlib@"; then\ set -x;\ cd $(DESTDIR)$(libdir);\ - for ext in a la so; do\ + for ext in a la so sl dylib; do\ rm -f libpng.$$ext;\ done;\ fi diff --git a/Makefile.in b/Makefile.in index e02bbb66..6641b624 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1273,7 +1273,7 @@ install-exec-hook: cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config @set -x;\ cd $(DESTDIR)$(libdir);\ - for ext in a la so; do\ + for ext in a la so sl dylib; do\ rm -f libpng.$$ext;\ if test -f $(PNGLIB_BASENAME).$$ext; then\ $(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\ @@ -1287,7 +1287,7 @@ uninstall-hook: @if test -n "@compatlib@"; then\ set -x;\ cd $(DESTDIR)$(libdir);\ - for ext in a la so; do\ + for ext in a la so sl dylib; do\ rm -f libpng.$$ext;\ done;\ fi diff --git a/README b/README index b9534c28..d301106a 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.19beta17 - June 20, 2007 (shared library 12.0) +README for libpng version 1.2.19beta18 - June 23, 2007 (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. @@ -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 libpng12.so.0.1.2.19beta17) + gcc, creates libpng12.so.0.1.2.19beta18) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.19beta17) + (gcc, creates libpng12.so.0.1.2.19beta18) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.19beta17, + (gcc, creates libpng12.so.0.1.2.19beta18, 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 libpng12.so.0.1.2.19beta17) + (gcc, creates libpng12.so.0.1.2.19beta18) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.19beta17) + (gcc, creates libpng12.so.0.1.2.19beta18) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.19beta17) + (gcc, creates libpng12.so.0.1.2.19beta18) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc diff --git a/Y2KINFO b/Y2KINFO index 504081e1..afd5357b 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - June 20, 2007 + June 23, 2007 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.19beta17 are Y2K compliant. It is my belief that earlier + upward through 1.2.19beta18 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer diff --git a/configure b/configure index 2215ad71..614cc88f 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for libpng 1.2.19beta17. +# Generated by GNU Autoconf 2.61 for libpng 1.2.19beta18. # # Report bugs to . # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.2.19beta17' -PACKAGE_STRING='libpng 1.2.19beta17' +PACKAGE_VERSION='1.2.19beta18' +PACKAGE_STRING='libpng 1.2.19beta18' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -1405,7 +1405,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.2.19beta17 to adapt to many kinds of systems. +\`configure' configures libpng 1.2.19beta18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1475,7 +1475,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.2.19beta17:";; + short | recursive ) echo "Configuration of libpng 1.2.19beta18:";; esac cat <<\_ACEOF @@ -1585,7 +1585,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.2.19beta17 +libpng configure 1.2.19beta18 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1599,7 +1599,7 @@ cat >config.log <<_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.2.19beta17, which was +It was created by libpng $as_me 1.2.19beta18, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2269,7 +2269,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.2.19beta17' + VERSION='1.2.19beta18' cat >>confdefs.h <<_ACEOF @@ -2440,7 +2440,7 @@ fi -PNGLIB_VERSION=1.2.19beta17 +PNGLIB_VERSION=1.2.19beta18 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=19 @@ -21119,7 +21119,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpng $as_me 1.2.19beta17, which was +This file was extended by libpng $as_me 1.2.19beta18, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21172,7 +21172,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpng config.status 1.2.19beta17 +libpng config.status 1.2.19beta18 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index a375a13c..2af25811 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.2.19beta17], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.2.19beta18], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.2.19beta17 +PNGLIB_VERSION=1.2.19beta18 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=19 diff --git a/libpng-1.2.19beta17.txt b/libpng-1.2.19beta18.txt similarity index 99% rename from libpng-1.2.19beta17.txt rename to libpng-1.2.19beta18.txt index a9e29851..208149b2 100644 --- a/libpng-1.2.19beta17.txt +++ b/libpng-1.2.19beta18.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.19beta17 - June 20, 2007 + libpng version 1.2.19beta18 - June 23, 2007 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2007 Glenn Randers-Pehrson @@ -2921,13 +2921,13 @@ application: IX. Y2K Compliance in libpng -June 20, 2007 +June 23, 2007 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.19beta17 are Y2K compliant. It is my belief that earlier +upward through 1.2.19beta18 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/libpng.3 b/libpng.3 index d0ee6d58..a9ce2182 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "June 20, 2007" +.TH LIBPNG 3 "June 23, 2007" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta17 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta18 .SH SYNOPSIS \fB #include \fP @@ -410,7 +410,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.19beta17 - June 20, 2007 + libpng version 1.2.19beta18 - June 23, 2007 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2007 Glenn Randers-Pehrson @@ -3331,13 +3331,13 @@ application: .SH IX. Y2K Compliance in libpng -June 20, 2007 +June 23, 2007 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.19beta17 are Y2K compliant. It is my belief that earlier +upward through 1.2.19beta18 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 @@ -3526,7 +3526,7 @@ the first widely used release: 1.2.17 13 10217 12.so.0.17[.0] 1.0.26 10 10026 10.so.0.26[.0] 1.2.18 13 10218 12.so.0.18[.0] - 1.2.19beta1-17 13 10219 12.so.0.19[.0] + 1.2.19beta1-18 13 10219 12.so.0.19[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3582,7 +3582,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.19beta17 - June 20, 2007: +Libpng version 1.2.19beta18 - June 23, 2007: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3603,7 +3603,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.2.19beta17, June 20, 2007, are +libpng versions 1.2.6, August 15, 2004, through 1.2.19beta18, June 23, 2007, are Copyright (c) 2004,2006-2007 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 @@ -3702,7 +3702,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 20, 2007 +June 23, 2007 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 0e6a9fcb..005b3c5f 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "June 20, 2007" +.TH LIBPNGPF 3 "June 23, 2007" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta17 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta18 (private functions) .SH SYNOPSIS \fB#include \fP diff --git a/png.5 b/png.5 index 2411bc79..2e8c42bc 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "June 20, 2007" +.TH PNG 5 "June 23, 2007" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index b62329d3..b9d03610 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 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_19beta17 Your_png_h_is_not_version_1_2_19beta17; +typedef version_1_2_19beta18 Your_png_h_is_not_version_1_2_19beta18; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -68,7 +68,7 @@ PNG_CONST int FARDATA png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1}; PNG_CONST int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2}; /* width of interlace block (used in assembler routines only) */ -#ifdef PNG_HAVE_MMX_COMBINE_ROW +#if defined(PNG_HAVE_MMX_COMBINE_ROW) || defined(PNG_OPTIMIZED_CODE_SUPPORTED) PNG_CONST int FARDATA png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; #endif @@ -706,7 +706,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.19beta17 - June 20, 2007\n\ + return ((png_charp) "\n libpng version 1.2.19beta18 - June 23, 2007\n\ Copyright (c) 1998-2007 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); diff --git a/png.h b/png.h index 7ced9e55..65b0f239 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.19beta17 - June 20, 2007 + * libpng version 1.2.19beta18 - June 23, 2007 * Copyright (c) 1998-2007 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.2.19beta17 - June 20, 2007: Glenn + * libpng versions 0.97, January 1998, through 1.2.19beta18 - June 23, 2007: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -150,7 +150,7 @@ * 1.2.17 13 10217 12.so.0.17[.0] * 1.0.26 10 10026 10.so.0.26[.0] * 1.2.18 13 10218 12.so.0.18[.0] - * 1.2.19beta1-17 13 10219 12.so.0.19[.0] + * 1.2.19beta1-18 13 10219 12.so.0.19[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -180,7 +180,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.19beta17, June 20, 2007, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.19beta18, June 23, 2007, are * Copyright (c) 2004, 2006-2007 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: @@ -292,13 +292,13 @@ * Y2K compliance in libpng: * ========================= * - * June 20, 2007 + * June 23, 2007 * * 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.19beta17 are Y2K compliant. It is my belief that earlier + * upward through 1.2.19beta18 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 @@ -354,9 +354,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.19beta17" +#define PNG_LIBPNG_VER_STRING "1.2.19beta18" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.19beta17 - June 20, 2007 (header)\n" + " libpng version 1.2.19beta18 - June 23, 2007 (header)\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -368,7 +368,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 17 +#define PNG_LIBPNG_VER_BUILD 18 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -495,7 +495,7 @@ PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_ystart[7]; PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_yinc[7]; PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_mask[7]; PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_dsp_mask[7]; -#ifdef PNG_USE_PNGGCCRD +#if defined(PNG_HAVE_MMX_COMBINE_ROW) || defined(PNG_OPTIMIZED_CODE_SUPPORTED) PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_width[7]; #endif /* This isn't currently used. If you need it, see png.c for more details. @@ -1353,7 +1353,7 @@ struct png_struct_def png_byte filter_type; #endif -#if defined(PNG_1_0_X) || (defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD)) +#if defined(PNG_1_0_X) || defined(PNG_DEBUG) /* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */ png_uint_32 row_buf_size; #endif @@ -1407,7 +1407,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_19beta17; +typedef png_structp version_1_2_19beta18; typedef png_struct FAR * FAR * png_structpp; diff --git a/pngconf.h b/pngconf.h index a1023096..1d75317d 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.19beta17 - June 20, 2007 + * libpng version 1.2.19beta18 - June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -595,16 +595,16 @@ #endif /* PNG_READ_TRANSFORMS_SUPPORTED */ #if !defined(PNG_NO_PROGRESSIVE_READ) && \ - !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */ -# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ -#endif /* about interlacing capability! You'll */ - /* still have interlacing unless you change the following line: */ + !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */ +# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ +#endif /* about interlacing capability! You'll */ + /* still have interlacing unless you change the following line: */ -#define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */ +#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */ #ifndef PNG_NO_READ_COMPOSITE_NODIV # ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */ -# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ +# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ # endif #endif @@ -724,12 +724,21 @@ /* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0 * even when PNG_USE_PNGVCRD or PNG_USE_PNGGCCRD is not defined. * - * PNG_NO_ASSEMBLER_CODE disables use of all assembler code and optimized C, - * and removes or includes several functions in the API. + * PNG_NO_ASSEMBLER_CODE disables use of all assembler code, + * and removes several functions from the API. * * PNG_NO_MMX_CODE disables the use of MMX code without changing the API. - * When MMX code is off, then optimized C replacement functions are used. + * When MMX code is off, then optimized C replacement functions are used, + * if PNG_NO_OPTIMIZED_CODE is not enabled. This was added in version + * 1.2.19. */ + +#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE) +# ifndef PNG_OPTIMIZED_CODE_SUPPORTED +# define PNG_OPTIMIZED_CODE_SUPPORTED +# endif +#endif + #if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE) # ifndef PNG_ASSEMBLER_CODE_SUPPORTED # define PNG_ASSEMBLER_CODE_SUPPORTED @@ -755,13 +764,13 @@ !defined(PNG_USE_PNGVCRD) # define PNG_USE_PNGGCCRD # endif -#endif /* If you are sure that you don't need thread safety and you are compiling with PNG_USE_PNGCCRD for an MMX application, you can define this for faster execution. See pnggccrd.c. #define PNG_THREAD_UNSAFE_OK */ +#endif #if !defined(PNG_1_0_X) #if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) diff --git a/pngerror.c b/pngerror.c index 0f617087..9f648928 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pnggccrd.c b/pnggccrd.c index 03ced6d7..39b47063 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -3,7 +3,7 @@ * * For Intel x86 CPU (Pentium-MMX or later) and GNU C compiler. * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998 Intel Corporation * Copyright (c) 1999-2002,2007 Greg Roelofs @@ -357,9 +357,11 @@ #if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_USE_PNGGCCRD) -#if defined(__x86_64__) && defined(__PIC__) // optionally comment out __PIC__: -# define PNG_x86_64_USE_GOTPCREL // GOTPCREL => full thread-safety -# define PNG_CLOBBER_x86_64_REGS_SUPPORTED // works as of gcc 3.4.3 ... +#if defined(PNG_MMX_CODE_SUPPORTED) +#if defined(__x86_64__) && defined(__PIC__) /* optionally comment __PIC__: */ +# define PNG_x86_64_USE_GOTPCREL /* GOTPCREL => full thread-safety */ +# define PNG_CLOBBER_x86_64_REGS_SUPPORTED /* works as of gcc 3.4.3 ... */ +#endif #endif int PNGAPI png_mmx_support(void); @@ -718,7 +720,7 @@ static PNG_CONST ull _amask4_2_2 __attribute__((used, aligned(8))) = 0x00000000 -static int _mmx_supported = 2; // 0: no MMX; 1: MMX supported; 2: not tested +static int _mmx_supported = 2; /* 0: no MMX; 1: MMX supported; 2: not tested */ /*===========================================================================*/ /* */ @@ -734,14 +736,14 @@ static int _mmx_supported = 2; // 0: no MMX; 1: MMX supported; 2: not tested * [need to retest with gcc 2.7.2.3] */ -// GRR 20070524: This declaration apparently is compatible with but supersedes -// the one in png.h; in any case, the generated object file is slightly -// smaller. It is unnecessary with gcc 4.1.2, but gcc 2.x apparently -// replicated the ".NOT_SUPPORTED" label in each location the function was -// inlined, leading to compilation errors due to the "multiply defined" -// label. Old workaround was to leave the function at the end of this -// file; new one (still testing) is to use a gcc-specific function attribute -// to prevent inlining. +/* GRR 20070524: This declaration apparently is compatible with but supersedes + * the one in png.h; in any case, the generated object file is slightly + * smaller. It is unnecessary with gcc 4.1.2, but gcc 2.x apparently + * replicated the ".NOT_SUPPORTED" label in each location the function was + * inlined, leading to compilation errors due to the "multiply defined" + * label. Old workaround was to leave the function at the end of this + * file; new one (still testing) is to use a gcc-specific function attribute + * to prevent inlining. */ int PNGAPI png_mmx_support(void) __attribute__((noinline)); @@ -887,7 +889,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) { switch (png_ptr->row_info.pixel_depth) { - // most common case: combining 32-bit RGBA + /* most common case: combining 32-bit RGBA */ case 32: /* png_ptr->row_info.pixel_depth */ { png_bytep srcptr; @@ -2947,15 +2949,15 @@ png_do_read_interlace(png_structp png_ptr) else if (pixel_bytes == 8) { // GRR TEST: should work, but needs testing (special 64-bit version of rpng2?) - // GRR NOTE: no need to combine passes here! + /* GRR NOTE: no need to combine passes here! */ if (((pass == 0) || (pass == 1)) && width) { - int dummy_value_c; // fix 'forbidden register spilled' + int dummy_value_c; /* fix 'forbidden register spilled' */ int dummy_value_S; int dummy_value_D; - // source is 8-byte RRGGBBAA - // dest is 64-byte RRGGBBAA RRGGBBAA RRGGBBAA RRGGBBAA ... + /* source is 8-byte RRGGBBAA */ + /* dest is 64-byte RRGGBBAA RRGGBBAA RRGGBBAA RRGGBBAA */ __asm__ __volatile__ ( "subl $56, %%edi \n\t" // start of last block diff --git a/pngpread.c b/pngpread.c index 746ab2e4..b68244aa 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngread.c b/pngread.c index 864a7153..f5a27051 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index 102caba0..f8dce719 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrutil.c b/pngrutil.c index ab216877..b782530d 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -2264,11 +2264,1043 @@ png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name) a zero indicates the pixel is to be skipped. This is in addition to any alpha or transparency value associated with the pixel. If you want all pixels to be combined, pass 0xff (255) in mask. */ -#ifndef PNG_HAVE_MMX_COMBINE_ROW + +/* Optimized C version of utilities to read a PNG file + * + * Based on code contributed by Nirav Chhatrapati, Intel Corp., 1998. + * Interface to libpng contributed by Gilles Vollant, 1999. + * GNU C port by Greg Roelofs, 1999-2001. + * + */ + +#if !defined(PNG_USE_PNGGCCRD) && !defined(PNG_USE_PNGVCRD) +#if defined(PNG_OPTIMIZED_CODE_SUPPORTED) + +/*===========================================================================*/ +/* */ +/* P N G _ C O M B I N E _ R O W */ +/* */ +/*===========================================================================*/ + + +#define BPP2 2 +#define BPP3 3 /* bytes per pixel (a.k.a. pixel_bytes) */ +#define BPP4 4 +#define BPP6 6 /* (defined only to help avoid cut-and-paste errors) */ +#define BPP8 8 + +/* Combines the row recently read in with the previous row. + This routine takes care of alpha and transparency if requested. + This routine also handles the two methods of progressive display + of interlaced images, depending on the mask value. + The mask value describes which pixels are to be combined with + the row. The pattern always repeats every 8 pixels, so just 8 + bits are needed. A one indicates the pixel is to be combined; a + zero indicates the pixel is to be skipped. This is in addition + to any alpha or transparency value associated with the pixel. + If you want all pixels to be combined, pass 0xff (255) in mask. */ + +/* Use this routine for the x86 platform - it uses a faster MMX routine + if the machine supports MMX. */ + void /* PRIVATE */ png_combine_row(png_structp png_ptr, png_bytep row, int mask) { - png_debug(1,"in png_combine_row\n"); + +#if defined(PNG_USE_LOCAL_ARRAYS) +static PNG_CONST int FARDATA png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0}; +static PNG_CONST int FARDATA png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1}; +static PNG_CONST int FARDATA png_pass_width[7] = {8, 4, 4, 2, 2, 1, 1}; +#endif + + png_debug(1, "in png_combine_row (pngrutil.c OPTIMIZED)\n"); + + if (mask == 0xff) + { + png_debug(2,"mask == 0xff: doing single png_memcpy()\n"); + png_memcpy(row, png_ptr->row_buf + 1, + (png_size_t)PNG_ROWBYTES(png_ptr->row_info.pixel_depth,png_ptr->width)); + } + else /* (png_combine_row() is never called with mask == 0) */ + { + switch (png_ptr->row_info.pixel_depth) + { + /* most common case: combining 32-bit RGBA */ + case 32: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + + { + register png_uint_32 i; + png_uint_32 initial_val = BPP4 * png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = BPP4 * png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = BPP4 * png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = BPP4 * len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff*BPP4; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + } + + break; + } /* end 32 bpp */ + + case 1: /* png_ptr->row_info.pixel_depth */ + { + png_bytep sp; + png_bytep dp; + int s_inc, s_start, s_end; + int m; + int shift; + png_uint_32 i; + + sp = png_ptr->row_buf + 1; + dp = row; + m = 0x80; +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (png_ptr->transformations & PNG_PACKSWAP) + { + s_start = 0; + s_end = 7; + s_inc = 1; + } + else +#endif + { + s_start = 7; + s_end = 0; + s_inc = -1; + } + + shift = s_start; + + for (i = 0; i < png_ptr->width; i++) + { + if (m & mask) + { + int value; + + value = (*sp >> shift) & 0x1; + *dp &= (png_byte)((0x7f7f >> (7 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); + } + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + + if (m == 1) + m = 0x80; + else + m >>= 1; + } + break; + } /* end 1 bpp */ + + case 2: /* png_ptr->row_info.pixel_depth */ + { + png_bytep sp; + png_bytep dp; + int s_start, s_end, s_inc; + int m; + int shift; + png_uint_32 i; + int value; + + sp = png_ptr->row_buf + 1; + dp = row; + m = 0x80; +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (png_ptr->transformations & PNG_PACKSWAP) + { + s_start = 0; + s_end = 6; + s_inc = 2; + } + else +#endif + { + s_start = 6; + s_end = 0; + s_inc = -2; + } + + shift = s_start; + + for (i = 0; i < png_ptr->width; i++) + { + if (m & mask) + { + value = (*sp >> shift) & 0x3; + *dp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); + } + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + if (m == 1) + m = 0x80; + else + m >>= 1; + } + break; + } /* end 2 bpp */ + + case 4: /* png_ptr->row_info.pixel_depth */ + { + png_bytep sp; + png_bytep dp; + int s_start, s_end, s_inc; + int m; + int shift; + png_uint_32 i; + int value; + + sp = png_ptr->row_buf + 1; + dp = row; + m = 0x80; +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (png_ptr->transformations & PNG_PACKSWAP) + { + s_start = 0; + s_end = 4; + s_inc = 4; + } + else +#endif + { + s_start = 4; + s_end = 0; + s_inc = -4; + } + shift = s_start; + + for (i = 0; i < png_ptr->width; i++) + { + if (m & mask) + { + value = (*sp >> shift) & 0xf; + *dp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); + } + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + if (m == 1) + m = 0x80; + else + m >>= 1; + } + break; + } /* end 4 bpp */ + + case 8: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + { + register png_uint_32 i; + png_uint_32 initial_val = png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff /* *BPP1 */ ; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + } + + break; + } /* end 8 bpp */ + + case 16: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + + { + register png_uint_32 i; + png_uint_32 initial_val = BPP2 * png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = BPP2 * png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = BPP2 * png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = BPP2 * len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff*BPP2; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + } /* end of else (_mmx_supported) */ + + break; + } /* end 16 bpp */ + + + case 24: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + + { + register png_uint_32 i; + png_uint_32 initial_val = BPP3 * png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = BPP3 * png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = BPP3 * png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = BPP3 * len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff*BPP3; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + } /* end of else (_mmx_supported) */ + + break; + } /* end 24 bpp */ + + case 48: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + { + register png_uint_32 i; + png_uint_32 initial_val = BPP6 * png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = BPP6 * png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = BPP6 * png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = BPP6 * len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff*BPP6; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + } + break; + } /* end 48 bpp */ + + case 64: /* png_ptr->row_info.pixel_depth */ + { + png_bytep srcptr; + png_bytep dstptr; + register png_uint_32 i; + png_uint_32 initial_val = BPP8 * png_pass_start[png_ptr->pass]; + /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ + register int stride = BPP8 * png_pass_inc[png_ptr->pass]; + /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ + register int rep_bytes = BPP8 * png_pass_width[png_ptr->pass]; + /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ + png_uint_32 len = png_ptr->width &~7; /* reduce to mult of 8 */ + int diff = (int) (png_ptr->width & 7); /* amount lost */ + register png_uint_32 final_val = BPP8 * len; /* GRR bugfix */ + + srcptr = png_ptr->row_buf + 1 + initial_val; + dstptr = row + initial_val; + + for (i = initial_val; i < final_val; i += stride) + { + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + if (diff) /* number of leftover pixels: 3 for pngtest */ + { + final_val += diff*BPP8; + for (; i < final_val; i += stride) + { + if (rep_bytes > (int)(final_val-i)) + rep_bytes = (int)(final_val-i); + png_memcpy(dstptr, srcptr, rep_bytes); + srcptr += stride; + dstptr += stride; + } + } + + break; + } /* end 64 bpp */ + + default: /* png_ptr->row_info.pixel_depth != 1,2,4,8,16,24,32,48,64 */ + { + /* this should never happen */ + png_warning(png_ptr, "Invalid row_info.pixel_depth in pngrutil"); + break; + } + } /* end switch (png_ptr->row_info.pixel_depth) */ + + } /* end if (non-trivial mask) */ + +} /* end png_combine_row() */ + + + +/*===========================================================================*/ +/* */ +/* P N G _ D O _ R E A D _ I N T E R L A C E */ +/* */ +/*===========================================================================*/ + +#if defined(PNG_READ_INTERLACING_SUPPORTED) + +/* png_do_read_interlace() is called after any 16-bit to 8-bit conversion + * has taken place. [GRR: what other steps come before and/or after?] + */ + +void /* PRIVATE */ +png_do_read_interlace(png_structp png_ptr) +{ +#if defined(PNG_USE_LOCAL_ARRAYS) +static PNG_CONST int FARDATA png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1}; +#endif + png_row_infop row_info = &(png_ptr->row_info); + png_bytep row = png_ptr->row_buf + 1; + int pass = png_ptr->pass; +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + png_uint_32 transformations = png_ptr->transformations; +#endif + png_debug(1,"in png_do_read_interlace (pngrutil.c OPTIMIZED)\n"); + + if (row != NULL && row_info != NULL) + { + png_uint_32 final_width; + + final_width = row_info->width * png_pass_inc[pass]; + + switch (row_info->pixel_depth) + { + case 1: + { + png_bytep sp, dp; + int sshift, dshift; + int s_start, s_end, s_inc; + png_byte v; + png_uint_32 i; + int j; + + sp = row + (png_size_t)((row_info->width - 1) >> 3); + dp = row + (png_size_t)((final_width - 1) >> 3); +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (transformations & PNG_PACKSWAP) + { + sshift = (int)((row_info->width + 7) & 7); + dshift = (int)((final_width + 7) & 7); + s_start = 7; + s_end = 0; + s_inc = -1; + } + else +#endif + { + sshift = 7 - (int)((row_info->width + 7) & 7); + dshift = 7 - (int)((final_width + 7) & 7); + s_start = 0; + s_end = 7; + s_inc = 1; + } + + for (i = row_info->width; i; i--) + { + v = (png_byte)((*sp >> sshift) & 0x1); + for (j = 0; j < png_pass_inc[pass]; j++) + { + *dp &= (png_byte)((0x7f7f >> (7 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; + sp--; + } + else + sshift += s_inc; + } + break; + } + + case 2: + { + png_bytep sp, dp; + int sshift, dshift; + int s_start, s_end, s_inc; + png_uint_32 i; + + sp = row + (png_size_t)((row_info->width - 1) >> 2); + dp = row + (png_size_t)((final_width - 1) >> 2); +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (transformations & PNG_PACKSWAP) + { + sshift = (png_size_t)(((row_info->width + 3) & 3) << 1); + dshift = (png_size_t)(((final_width + 3) & 3) << 1); + s_start = 6; + s_end = 0; + s_inc = -2; + } + else +#endif + { + sshift = (png_size_t)((3 - ((row_info->width + 3) & 3)) << 1); + dshift = (png_size_t)((3 - ((final_width + 3) & 3)) << 1); + s_start = 0; + s_end = 6; + s_inc = 2; + } + + for (i = row_info->width; i; i--) + { + png_byte v; + int j; + + v = (png_byte)((*sp >> sshift) & 0x3); + for (j = 0; j < png_pass_inc[pass]; j++) + { + *dp &= (png_byte)((0x3f3f >> (6 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; + sp--; + } + else + sshift += s_inc; + } + break; + } + + case 4: + { + png_bytep sp, dp; + int sshift, dshift; + int s_start, s_end, s_inc; + png_uint_32 i; + + sp = row + (png_size_t)((row_info->width - 1) >> 1); + dp = row + (png_size_t)((final_width - 1) >> 1); +#if defined(PNG_READ_PACKSWAP_SUPPORTED) + if (transformations & PNG_PACKSWAP) + { + sshift = (png_size_t)(((row_info->width + 1) & 1) << 2); + dshift = (png_size_t)(((final_width + 1) & 1) << 2); + s_start = 4; + s_end = 0; + s_inc = -4; + } + else +#endif + { + sshift = (png_size_t)((1 - ((row_info->width + 1) & 1)) << 2); + dshift = (png_size_t)((1 - ((final_width + 1) & 1)) << 2); + s_start = 0; + s_end = 4; + s_inc = 4; + } + + for (i = row_info->width; i; i--) + { + png_byte v; + int j; + + v = (png_byte)((*sp >> sshift) & 0xf); + for (j = 0; j < png_pass_inc[pass]; j++) + { + *dp &= (png_byte)((0xf0f >> (4 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; + sp--; + } + else + sshift += s_inc; + } + break; + } + + /*====================================================================*/ + + default: /* 8-bit or larger (this is where the routine is modified) */ + { + png_bytep sptr, dp; + png_uint_32 i; + png_size_t pixel_bytes; + int width = (int)row_info->width; + + pixel_bytes = (row_info->pixel_depth >> 3); + + /* point sptr at the last pixel in the pre-expanded row: */ + sptr = row + (width - 1) * pixel_bytes; + + /* point dp at the last pixel position in the expanded row: */ + dp = row + (final_width - 1) * pixel_bytes; + + /* MMX not supported: use modified C code - takes advantage + * of inlining of png_memcpy for a constant */ + /* GRR 19991007: does it? or should pixel_bytes in each + * block be replaced with immediate value (e.g., 1)? */ + /* GRR 19991017: replaced with constants in each case */ + { + if (pixel_bytes == 1) + { + for (i = width; i; i--) + { + int j; + for (j = 0; j < png_pass_inc[pass]; j++) + { + *dp-- = *sptr; + } + --sptr; + } + } + else if (pixel_bytes == 3) + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, 3); + for (j = 0; j < png_pass_inc[pass]; j++) + { + png_memcpy(dp, v, 3); + dp -= 3; + } + sptr -= 3; + } + } + else if (pixel_bytes == 2) + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, 2); + for (j = 0; j < png_pass_inc[pass]; j++) + { + png_memcpy(dp, v, 2); + dp -= 2; + } + sptr -= 2; + } + } + else if (pixel_bytes == 4) + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, 4); + for (j = 0; j < png_pass_inc[pass]; j++) + { +#if defined(PNG_DEBUG) + if (dp < row || dp+3 > row+png_ptr->row_buf_size) + { + printf("dp out of bounds: row=%d, dp=%d, rp=%d\n", + row, dp, row+png_ptr->row_buf_size); + printf("row_buf=%d\n",png_ptr->row_buf_size); + } +#endif + png_memcpy(dp, v, 4); + dp -= 4; + } + sptr -= 4; + } + } + else if (pixel_bytes == 6) + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, 6); + for (j = 0; j < png_pass_inc[pass]; j++) + { + png_memcpy(dp, v, 6); + dp -= 6; + } + sptr -= 6; + } + } + else if (pixel_bytes == 8) + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, 8); + for (j = 0; j < png_pass_inc[pass]; j++) + { + png_memcpy(dp, v, 8); + dp -= 8; + } + sptr -= 8; + } + } + else /* GRR: should never be reached */ + { + for (i = width; i; i--) + { + png_byte v[8]; + int j; + png_memcpy(v, sptr, pixel_bytes); + for (j = 0; j < png_pass_inc[pass]; j++) + { + png_memcpy(dp, v, pixel_bytes); + dp -= pixel_bytes; + } + sptr -= pixel_bytes; + } + } + + } + break; + } + } /* end switch (row_info->pixel_depth) */ + + row_info->width = final_width; + + row_info->rowbytes = PNG_ROWBYTES(row_info->pixel_depth,final_width); + } + +} /* end png_do_read_interlace() */ + +#endif /* PNG_READ_INTERLACING_SUPPORTED */ + + + +/*===========================================================================*/ +/* */ +/* P N G _ R E A D _ F I L T E R _ R O W */ +/* */ +/*===========================================================================*/ + + +/* Optimized png_read_filter_row routines */ + +void /* PRIVATE */ +png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep + row, png_bytep prev_row, int filter) +{ +#if defined(PNG_DEBUG) + char filnm[10]; +#endif + + +#if defined(PNG_DEBUG) + png_debug(1, "in png_read_filter_row (pngrutil.c OPTIMIZED)\n"); + switch (filter) + { + case 0: + png_snprintf(filnm, 10, "none"); + break; + + case 1: + png_snprintf(filnm, 10, "sub-%s", + "x86"); + break; + + case 2: + png_snprintf(filnm, 10, "up-%s", + "x86"); + break; + + case 3: + png_snprintf(filnm, 10, "avg-%s", + "x86"); + break; + + case 4: + png_snprintf(filnm, 10, "Paeth-%s", + "x86"); + break; + + default: + png_snprintf(filnm, 10, "unknown"); + break; + } + png_debug2(0, "row_number=%5ld, %10s, ", png_ptr->row_number, filnm); + png_debug1(0, "row=0x%08lx, ", (unsigned long)row); + png_debug2(0, "pixdepth=%2d, bytes=%d, ", (int)row_info->pixel_depth, + (int)((row_info->pixel_depth + 7) >> 3)); + png_debug1(0,"rowbytes=%8ld\n", row_info->rowbytes); +#endif /* PNG_DEBUG */ + + switch (filter) + { + case PNG_FILTER_VALUE_NONE: + break; + + case PNG_FILTER_VALUE_SUB: + { + png_uint_32 i; + png_uint_32 istop = row_info->rowbytes; + png_uint_32 bpp = (row_info->pixel_depth + 7) >> 3; + png_bytep rp = row + bpp; + png_bytep lp = row; + + for (i = bpp; i < istop; i++) + { + *rp = (png_byte)(((int)(*rp) + (int)(*lp++)) & 0xff); + rp++; + } + } + break; + + case PNG_FILTER_VALUE_UP: + { + png_uint_32 i; + png_uint_32 istop = row_info->rowbytes; + png_bytep rp = row; + png_bytep pp = prev_row; + + for (i = 0; i < istop; ++i) + { + *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff); + rp++; + } + } + break; + + case PNG_FILTER_VALUE_AVG: + { + png_uint_32 i; + png_bytep rp = row; + png_bytep pp = prev_row; + png_bytep lp = row; + png_uint_32 bpp = (row_info->pixel_depth + 7) >> 3; + png_uint_32 istop = row_info->rowbytes - bpp; + + for (i = 0; i < bpp; i++) + { + *rp = (png_byte)(((int)(*rp) + + ((int)(*pp++) >> 1)) & 0xff); + rp++; + } + + for (i = 0; i < istop; i++) + { + *rp = (png_byte)(((int)(*rp) + + ((int)(*pp++ + *lp++) >> 1)) & 0xff); + rp++; + } + } + break; + + case PNG_FILTER_VALUE_PAETH: + { + png_uint_32 i; + png_bytep rp = row; + png_bytep pp = prev_row; + png_bytep lp = row; + png_bytep cp = prev_row; + png_uint_32 bpp = (row_info->pixel_depth + 7) >> 3; + png_uint_32 istop = row_info->rowbytes - bpp; + + for (i = 0; i < bpp; i++) + { + *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff); + rp++; + } + + for (i = 0; i < istop; i++) /* use leftover rp,pp */ + { + int a, b, c, pa, pb, pc, p; + + a = *lp++; + b = *pp++; + c = *cp++; + + p = b - c; + pc = a - c; + +#if defined(PNG_USE_ABS) + pa = abs(p); + pb = abs(pc); + pc = abs(p + pc); +#else + pa = p < 0 ? -p : p; + pb = pc < 0 ? -pc : pc; + pc = (p + pc) < 0 ? -(p + pc) : p + pc; +#endif + + /* + if (pa <= pb && pa <= pc) + p = a; + else if (pb <= pc) + p = b; + else + p = c; + */ + + p = (pa <= pb && pa <= pc) ? a : (pb <= pc) ? b : c; + + *rp = (png_byte)(((int)(*rp) + p) & 0xff); + rp++; + } + } + break; + + default: + png_warning(png_ptr, "Ignoring bad row-filter type"); + *row=0; + break; + } +} + +#endif /* PNG_OPTIMIZED_CODE_SUPPORTED */ + +#if !defined(PNG_OPTIMIZED_CODE_SUPPORTED) +/* Use the unoptimized original C code. This might be removed from a future + * version of libpng if testing proves it to be worthless. */ +void /* PRIVATE */ +png_combine_row(png_structp png_ptr, png_bytep row, int mask) +{ + png_debug(1,"in png_combine_row NOT OPTIMIZED\n"); if (mask == 0xff) { png_memcpy(row, png_ptr->row_buf + 1, @@ -2465,10 +3497,8 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) } } } -#endif /* !PNG_HAVE_MMX_COMBINE_ROW */ #ifdef PNG_READ_INTERLACING_SUPPORTED -#ifndef PNG_HAVE_MMX_READ_INTERLACE /* else in pngvcrd.c, pnggccrd.c */ /* OLD pre-1.0.9 interface: void png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass, png_uint_32 transformations) @@ -2486,7 +3516,7 @@ png_do_read_interlace(png_structp png_ptr) PNG_CONST int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1}; #endif - png_debug(1,"in png_do_read_interlace (stock C version)\n"); + png_debug(1,"in png_do_read_interlace (pngrutil.c NOT OPTIMIZED)\n"); if (row != NULL && row_info != NULL) { png_uint_32 final_width; @@ -2693,15 +3723,13 @@ png_do_read_interlace(png_structp png_ptr) transformations = transformations; /* silence compiler warning */ #endif } -#endif /* !PNG_HAVE_MMX_READ_INTERLACE */ #endif /* PNG_READ_INTERLACING_SUPPORTED */ -#ifndef PNG_HAVE_MMX_READ_FILTER_ROW void /* PRIVATE */ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter) { - png_debug(1, "in png_read_filter_row\n"); + png_debug(1, "in png_read_filter_row (NOT OPTIMIZED)\n"); png_debug2(2,"row = %lu, filter = %d\n", png_ptr->row_number, filter); switch (filter) { @@ -2819,7 +3847,8 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row, break; } } -#endif /* !PNG_HAVE_MMX_READ_FILTER_ROW */ +#endif /* !PNG_OPTIMIZED_CODE_SUPPORTED */ +#endif /* !PNG_USE_PNGGCCRD && !PNG_USE_PNGVCRD */ void /* PRIVATE */ png_read_finish_row(png_structp png_ptr) diff --git a/pngtest.c b/pngtest.c index 09efe631..71c6f337 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1553,4 +1553,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_19beta17 your_png_h_is_not_version_1_2_19beta17; +typedef version_1_2_19beta18 your_png_h_is_not_version_1_2_19beta18; diff --git a/pngvcrd.c b/pngvcrd.c index 6fb6a3aa..4b76feae 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -3,7 +3,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation @@ -27,7 +27,7 @@ #define PNG_INTERNAL #include "png.h" -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD) +#if defined(PNG_MMX_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD) static int mmx_supported=2; @@ -3735,7 +3735,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep case PNG_FILTER_VALUE_SUB: { -#if defined(PNG_MMX_CODE_SUPPORTED) #if !defined(PNG_1_0_X) if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_SUB) && (row_info->pixel_depth >= png_ptr->mmx_bitdepth_threshold) && @@ -3747,7 +3746,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep png_read_filter_row_mmx_sub(row_info, row); } else -#endif { png_uint_32 i; png_uint_32 istop = row_info->rowbytes; @@ -3766,7 +3764,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep case PNG_FILTER_VALUE_UP: { -#if defined(PNG_MMX_CODE_SUPPORTED) #if !defined(PNG_1_0_X) if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_UP) && (row_info->pixel_depth >= png_ptr->mmx_bitdepth_threshold) && @@ -3778,7 +3775,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep png_read_filter_row_mmx_up(row_info, row, prev_row); } else -#endif { png_uint_32 i; png_uint_32 istop = row_info->rowbytes; @@ -3796,7 +3792,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep case PNG_FILTER_VALUE_AVG: { -#if defined(PNG_MMX_CODE_SUPPORTED) #if !defined(PNG_1_0_X) if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_AVG) && (row_info->pixel_depth >= png_ptr->mmx_bitdepth_threshold) && @@ -3808,7 +3803,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep png_read_filter_row_mmx_avg(row_info, row, prev_row); } else -#endif { png_uint_32 i; png_bytep rp = row; @@ -3836,7 +3830,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep case PNG_FILTER_VALUE_PAETH: { -#if defined(PNG_MMX_CODE_SUPPORTED) #if !defined(PNG_1_0_X) if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_PAETH) && (row_info->pixel_depth >= png_ptr->mmx_bitdepth_threshold) && @@ -3848,7 +3841,6 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep png_read_filter_row_mmx_paeth(row_info, row, prev_row); } else -#endif { png_uint_32 i; png_bytep rp = row; @@ -3910,4 +3902,4 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep } } -#endif /* PNG_ASSEMBLER_CODE_SUPPORTED && PNG_USE_PNGVCRD */ +#endif /* PNG_MMX_CODE_SUPPORTED && PNG_USE_PNGVCRD */ diff --git a/pngwutil.c b/pngwutil.c index 1605544e..2d56f7fa 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * Last changed in libpng 1.2.19 June 20, 2007 + * Last changed in libpng 1.2.19 June 23, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 667d227b..ca266a5f 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -90,22 +90,21 @@ set(pngtest_sources # SOME NEEDED DEFINITIONS add_definitions(-DZLIB_DLL) -if(MSVC) - add_definitions(-DPNG_NO_MODULEDEF - -D_CRT_SECURE_NO_DEPRECATE) - set(libpng_sources ${libpng_sources} - pngvcrd.c - ) -else(MSVC) - set(libpng_sources ${libpng_sources} - pnggccrd.c - ) -endif(MSVC) - -if(NOT PNG_MMX) +if(PNG_MMX) + if(MSVC) + add_definitions(-DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE) + set(libpng_sources ${libpng_sources} + pngvcrd.c + ) + else(MSVC) + set(libpng_sources ${libpng_sources} + pnggccrd.c + ) + endif(MSVC) +else(PNG_MMX) add_definitions(-DLIBPNG_NO_MMX) add_definitions(-DPNG_NO_MMX_CODE) -endif(NOT PNG_MMX) +endif(PNG_MMX) if(PNG_CONSOLE_IO_SUPPORTED) add_definitions(-DPNG_CONSOLE_IO_SUPPORTED) @@ -170,7 +169,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in # SET UP LINKS set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 0.${PNGLIB_RELEASE}.1.2.19beta17 +# VERSION 0.${PNGLIB_RELEASE}.1.2.19beta18 VERSION 0.${PNGLIB_RELEASE}.0 SOVERSION 0 CLEAN_DIRECT_OUTPUT 1) diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 207f3eeb..0657d73b 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.19beta17 +version=1.2.19beta18 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in index 7f4ed5ea..beb56917 100644 --- a/scripts/libpng.pc-configure.in +++ b/scripts/libpng.pc-configure.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng12 Name: libpng Description: Loads and saves PNG files -Version: 1.2.19beta17 +Version: 1.2.19beta18 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} @LIBPNG_NO_MMX@ diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 47425bdf..dd6fc050 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng12 Name: libpng Description: Loads and saves PNG files -Version: 1.2.19beta17 +Version: 1.2.19beta18 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 6a00d67f..801eaeb9 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index ed74a7f1..f30d886b 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 6de6ea8a..7b85ddd1 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 7207e6cd..fa11ad70 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 1da7b18f..52730d25 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -32,7 +32,7 @@ endif DESTDIR= # To disable assembler optimizations, add '-DPNG_NO_MMX_CODE' to -# $CFLAGS. +# $CFLAGS. To enable, add pnggccrd.o to the dependencies. CC=gcc ifdef MINGW @@ -77,7 +77,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll @@ -112,7 +112,7 @@ DL =$(D)$(LIBPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o # pnggccrd.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -156,19 +156,19 @@ shared: all-shared all-static: $(STATLIB) pngtest-stat$(EXE) all-shared: $(SHAREDLIB) pngtest$(EXE) -pnggccrd.o: pnggccrd.c png.h pngconf.h - @echo "" - @echo ' You can ignore the "control reaches end of non-void function"' - @echo ' warning and " defined but not used" warnings:' - @echo "" - $(CC) -c $(CFLAGS) -o $@ $< +# pnggccrd.o: pnggccrd.c png.h pngconf.h +# @echo "" +# @echo ' You can ignore the "control reaches end of non-void function"' +# @echo ' warning and " defined but not used" warnings:' +# @echo "" +# $(CC) -c $(CFLAGS) -o $@ $< -pnggccrd.pic.o: pnggccrd.c png.h pngconf.h - @echo "" - @echo ' You can ignore the "control reaches end of non-void function"' - @echo ' warning and " defined but not used" warnings:' - @echo "" - $(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $< +# pnggccrd.pic.o: pnggccrd.c png.h pngconf.h +# @echo "" +# @echo ' You can ignore the "control reaches end of non-void function"' +# @echo ' warning and " defined but not used" warnings:' +# @echo "" +# $(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $< $(STATLIB): $(OBJS) ar rc $@ $(OBJS) @@ -297,7 +297,6 @@ pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c pngset.o pngset.pic.o: png.h pngconf.h pngset.c pngget.o pngget.pic.o: png.h pngconf.h pngget.c -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pnggccrd.c pngread.o pngread.pic.o: png.h pngconf.h pngread.c pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c @@ -306,6 +305,7 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c +# pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pnggccrd.c pngtest.o: png.h pngconf.h pngtest.c pngtest-stat.o: png.h pngconf.h pngtest.c diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index dbdafd64..9be15747 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -64,7 +64,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -218,7 +218,6 @@ pngrio.o pngrio.pic.o: png.h pngconf.h pngwio.o pngwio.pic.o: png.h pngconf.h pngmem.o pngmem.pic.o: png.h pngconf.h pngset.o pngset.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngget.o pngget.pic.o: png.h pngconf.h pngread.o pngread.pic.o: png.h pngconf.h pngrtran.o pngrtran.pic.o: png.h pngconf.h diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 3454cd29..b35f463a 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index fd161194..0ea51448 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.freebsd b/scripts/makefile.freebsd index dbaf7fc0..59f36444 100644 --- a/scripts/makefile.freebsd +++ b/scripts/makefile.freebsd @@ -31,7 +31,7 @@ CFLAGS+= -DPNG_NO_MMX_CODE SRCS= 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 pnggccrd.c + pngwtran.c pngmem.c pngerror.c pngpread.c pngtest: pngtest.o libpng.a ${CC} ${CFLAGS} -L. -static -o pngtest pngtest.o -lpng -lz -lm diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 92af3676..76e7b662 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -16,7 +16,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index b0aeb4fb..b1640320 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 0d3a29b6..6ce77f99 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -80,7 +80,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -237,6 +237,5 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpread.o pngpread.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index d3bb7e2b..2a2f6068 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -67,7 +67,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -226,4 +226,3 @@ pngwrite.o: png.h pngconf.h pngwtran.o: png.h pngconf.h pngwutil.o: png.h pngconf.h pngpread.o: png.h pngconf.h -pnggccrd.o: png.h pngconf.h diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 73442884..f830a7fd 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -75,7 +75,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -233,7 +233,6 @@ pngwio.o pngwio.pic.o: png.h pngconf.h pngmem.o pngmem.pic.o: png.h pngconf.h pngset.o pngset.pic.o: png.h pngconf.h pngget.o pngget.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngread.o pngread.pic.o: png.h pngconf.h pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrutil.o pngrutil.pic.o: png.h pngconf.h diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 0337afa4..b7d53dd3 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -41,7 +41,7 @@ MKDIR_P=/bin/mkdir -pv # To disable assembler optimizations, add '-DPNG_NO_MMX_CODE' to -# $CFLAGS. +# $CFLAGS. To enable them, add pnggccrd.o to the dependencies. # Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h ifndef prefix @@ -78,7 +78,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 MINGDLL = 12 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll @@ -109,7 +109,7 @@ DL =$(D)$(LIBPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o # pnggccrd.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -282,7 +282,7 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pnggccrd.c +# pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pnggccrd.c pngtest.o pngtest.pic.o: png.h pngconf.h pngtest.c diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index fe410fde..7a52528c 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.19beta17 +SHLIB_MINOR= 1.2.19beta18 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 7abd03aa..e865035b 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.19beta17 +SHLIB_MINOR= 1.2.19beta18 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.nommx b/scripts/makefile.nommx index 12638fc7..97e6526c 100644 --- a/scripts/makefile.nommx +++ b/scripts/makefile.nommx @@ -7,7 +7,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -76,7 +76,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -243,6 +243,5 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpread.o pngpread.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index a34db003..f0a19d38 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.2.19beta17 +SHLIB_MINOR= 1.2.19beta18 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 f2d983ec..ff509c0c 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -221,6 +221,5 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpread.o pngpread.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index bdc72216..7cff3fc5 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -73,7 +73,7 @@ DI=$(DESTDIR)$(INCPATH) DL=$(DESTDIR)$(LIBPATH) DM=$(DESTDIR)$(MANPATH) -OBJS = pnggccrd.o png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ +OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ pngwtran.o pngmem.o pngerror.o pngpread.o @@ -235,5 +235,4 @@ pngwrite.o: png.h pngconf.h pngwtran.o: png.h pngconf.h pngwutil.o: png.h pngconf.h pngpread.o: png.h pngconf.h -pnggccrd.o: png.h pngconf.h diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index c8b3ecf6..d8e6ce8a 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: @@ -76,7 +76,7 @@ DI=$(DESTDIR)$(INCPATH) DL=$(DESTDIR)$(LIBPATH) DM=$(DESTDIR)$(MANPATH) -OBJS = pnggccrd.o png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ +OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ pngwtran.o pngmem.o pngerror.o pngpread.o @@ -238,5 +238,4 @@ pngwrite.o: png.h pngconf.h pngwtran.o: png.h pngconf.h pngwutil.o: png.h pngconf.h pngpread.o: png.h pngconf.h -pnggccrd.o: png.h pngconf.h diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 644734d3..a2ef5535 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -73,7 +73,7 @@ DM=$(DESTDIR)$(MANPATH) OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ - pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o + pngwtran.o pngmem.o pngerror.o pngpread.o OBJSDLL = $(OBJS:.o=.pic.o) @@ -243,6 +243,5 @@ pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpread.o pngpread.pic.o: png.h pngconf.h -pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index 74dc257f..344bd05c 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86 index b18c5f56..41b23ab4 100644 --- a/scripts/makefile.solaris-x86 +++ b/scripts/makefile.solaris-x86 @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.19beta17 +PNGMIN = 1.2.19beta18 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 3c59af45..acf9fe6c 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.19beta17 +; Version 1.2.19beta18 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 57b679e5..e186f633 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.2.19beta17 +;Version 1.2.19beta18 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3