diff --git a/ANNOUNCE b/ANNOUNCE
index 6c33aad..baae703 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.20beta03 - August 21, 2007
+Libpng 1.2.20beta04 - August 21, 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 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.2.20beta03.tar.gz
-   libpng-1.2.20beta03.tar.bz2
+   libpng-1.2.20beta04.tar.gz
+   libpng-1.2.20beta04.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.2.20beta03-no-config.tar.gz
-   libpng-1.2.20beta03-no-config.tar.bz2
+   libpng-1.2.20beta04-no-config.tar.gz
+   libpng-1.2.20beta04-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1220b03.zip
-   lp1220b03.tar.bz2
+   lp1220b04.zip
+   lp1220b04.tar.bz2
 
 Project files
 
-   libpng-1.2.20beta03-project-netware.zip
-   libpng-1.2.20beta03-project-wince.zip
+   libpng-1.2.20beta04-project-netware.zip
+   libpng-1.2.20beta04-project-wince.zip
 
 Other information:
 
-   libpng-1.2.20beta03-README.txt
-   libpng-1.2.20beta03-KNOWNBUGS.txt
-   libpng-1.2.20beta03-LICENSE.txt
-   libpng-1.2.20beta03-Y2K-compliance.txt
+   libpng-1.2.20beta04-README.txt
+   libpng-1.2.20beta04-KNOWNBUGS.txt
+   libpng-1.2.20beta04-LICENSE.txt
+   libpng-1.2.20beta04-Y2K-compliance.txt
 
 Changes since the last public release (1.2.19):
 
@@ -47,10 +47,13 @@
 version 1.2.20beta02 [August 20, 2007]
   Avoid compiling pnggccrd.c on Intel-Apple platforms.
 
-version 1.2.20beta03 [August 21, 2007]
+version 1.2.20beta03 [August 20, 2007]
   Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
     and visualc71.
 
+version 1.2.20beta04 [August 21, 2007]
+  Revised pngvcrd.c for improved efficiency (Steve Snyder).
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 
 (subscription required; visit 
diff --git a/CHANGES b/CHANGES
index 626d2ec..cab8c26 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1904,10 +1904,13 @@
 version 1.2.20beta02 [August 20, 2007]
   Avoid compiling pnggccrd.c on Intel-Apple platforms.
 
-version 1.2.20beta03 [August 21, 2007]
+version 1.2.20beta03 [August 20, 2007]
   Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
     and visualc71.
 
+version 1.2.20beta04 [August 21, 2007]
+  Revised pngvcrd.c for improved efficiency (Steve Snyder).
+
 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 dbd1ced..0d462af 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.20beta03 - August 21, 2007
+Installing libpng version 1.2.20beta04 - August 21, 2007
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -44,7 +44,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.20beta03" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.20beta04" 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 @@
  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.20beta03)
+                       gcc, creates libpng12.so.0.1.2.20beta04)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.20beta03)
+                       (gcc, creates libpng12.so.0.1.2.20beta04)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.20beta03,
+                       (gcc, creates libpng12.so.0.1.2.20beta04,
                        uses assembler code tuned for Intel MMX platform)
  makefile.nommx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.20beta03
+                       (gcc, creates libpng12.so.0.1.2.20beta04
                        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 @@
  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.20beta03)
+                       creates libpng12.so.0.1.2.20beta04)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.20beta03)
+                       creates libpng12.so.0.1.2.20beta04)
  makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.20beta03)
+                       creates libpng12.so.0.1.2.20beta04)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.20beta03)
+                       creates libpng12.so.0.1.2.20beta04)
  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 85220ed..bc82b4c 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.20beta03
+Known bugs in libpng version 1.2.20beta04
 
 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 4265f55..1e65f36 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,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.20beta03, August 21, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.20beta04, August 21, 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
diff --git a/README b/README
index cd0a298..731fc89 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.20beta03 - August 21, 2007 (shared library 12.0)
+README for libpng version 1.2.20beta04 - August 21, 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 @@
        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.20beta03)
+                            gcc, creates libpng12.so.0.1.2.20beta04)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.20beta03)
+                            (gcc, creates libpng12.so.0.1.2.20beta04)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.20beta03,
+                            (gcc, creates libpng12.so.0.1.2.20beta04,
                             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 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng12.so.0.1.2.20beta03)
+                            (gcc, creates libpng12.so.0.1.2.20beta04)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.20beta03)
+                            (gcc, creates libpng12.so.0.1.2.20beta04)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.20beta03)
+                            (gcc, creates libpng12.so.0.1.2.20beta04)
        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 931996e..e50a69c 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -7,7 +7,7 @@
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.2.20beta03 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.20beta04 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 b5896fa..81291a1 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.20beta03.
+# Generated by GNU Autoconf 2.61 for libpng 1.2.20beta04.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -728,8 +728,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.20beta03'
-PACKAGE_STRING='libpng 1.2.20beta03'
+PACKAGE_VERSION='1.2.20beta04'
+PACKAGE_STRING='libpng 1.2.20beta04'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -1405,7 +1405,7 @@
   # 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.20beta03 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.20beta04 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1475,7 +1475,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.20beta03:";;
+     short | recursive ) echo "Configuration of libpng 1.2.20beta04:";;
    esac
   cat <<\_ACEOF
 
@@ -1585,7 +1585,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.20beta03
+libpng configure 1.2.20beta04
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1599,7 +1599,7 @@
 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.20beta03, which was
+It was created by libpng $as_me 1.2.20beta04, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2269,7 +2269,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.20beta03'
+ VERSION='1.2.20beta04'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2440,7 +2440,7 @@
 
 
 
-PNGLIB_VERSION=1.2.20beta03
+PNGLIB_VERSION=1.2.20beta04
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=20
@@ -21282,7 +21282,7 @@
 # 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.20beta03, which was
+This file was extended by libpng $as_me 1.2.20beta04, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21335,7 +21335,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.20beta03
+libpng config.status 1.2.20beta04
 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 89a3f52..a2601f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.20beta03], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.20beta04], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.20beta03
+PNGLIB_VERSION=1.2.20beta04
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=20
diff --git a/libpng-1.2.20beta03.txt b/libpng-1.2.20beta04.txt
similarity index 99%
rename from libpng-1.2.20beta03.txt
rename to libpng-1.2.20beta04.txt
index f301938..fce8d4e 100644
--- a/libpng-1.2.20beta03.txt
+++ b/libpng-1.2.20beta04.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.20beta03 - August 21, 2007
+ libpng version 1.2.20beta04 - August 21, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -2974,7 +2974,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.20beta03 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.20beta04 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 74d965a..866c023 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
 .TH LIBPNG 3 "August 21, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20beta03
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20beta04
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -410,7 +410,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.20beta03 - August 21, 2007
+ libpng version 1.2.20beta04 - August 21, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -3384,7 +3384,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.20beta03 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.20beta04 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
@@ -3578,7 +3578,7 @@
  1.2.19rc1-6         13    10219  12.so.0.19[.0]
  1.0.27              10    10027  10.so.0.27[.0]
  1.2.19              13    10219  12.so.0.19[.0]
- 1.2.20beta01-02     13    10220  12.so.0.20[.0]
+ 1.2.20beta01-04     13    10220  12.so.0.20[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3634,7 +3634,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.20beta03 - August 21, 2007:
+Libpng version 1.2.20beta04 - August 21, 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).
 
@@ -3655,7 +3655,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.20beta03, August 21, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.20beta04, August 21, 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
diff --git a/libpngpf.3 b/libpngpf.3
index 5d995d8..5627330 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
 .TH LIBPNGPF 3 "August 21, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20beta03
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20beta04
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.c b/png.c
index d00eb07..cd29cd1 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 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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_20beta03 Your_png_h_is_not_version_1_2_20beta03;
+typedef version_1_2_20beta04 Your_png_h_is_not_version_1_2_20beta04;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -698,7 +698,7 @@
 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.20beta03 - August 21, 2007\n\
+   return ((png_charp) "\n libpng version 1.2.20beta04 - August 21, 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 7074262..b9f6b71 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.20beta03 - August 21, 2007
+ * libpng version 1.2.20beta04 - August 21, 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.20beta03 - August 21, 2007: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.20beta04 - August 21, 2007: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -155,7 +155,7 @@
  *    1.2.19rc1-6             13    10219  12.so.0.19[.0]
  *    1.0.27                  10    10027  10.so.0.27[.0]
  *    1.2.19                  13    10219  12.so.0.19[.0]
- *    1.2.20beta01-02         13    10220  12.so.0.20[.0]
+ *    1.2.20beta01-04         13    10220  12.so.0.20[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -185,7 +185,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.20beta03, August 21, 2007, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.20beta04, August 21, 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:
@@ -303,7 +303,7 @@
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.2.20beta03 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.20beta04 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
@@ -359,9 +359,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.20beta03"
+#define PNG_LIBPNG_VER_STRING "1.2.20beta04"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.20beta03 - August 21, 2007\n"
+   " libpng version 1.2.20beta04 - August 21, 2007\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -373,7 +373,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  03
+#define PNG_LIBPNG_VER_BUILD  04
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1412,7 +1412,7 @@
 /* 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_20beta03;
+typedef png_structp version_1_2_20beta04;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 7d32a8f..d09d52b 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.20beta03 - August 21, 2007
+ * libpng version 1.2.20beta04 - August 21, 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/pngerror.c b/pngerror.c
index 39d2376..be6d4f2 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 August 21, 2007
+ * Last changed in libpng 1.2.20 August 21, 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 b2f59ff..56a96ab 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -3,7 +3,7 @@
  *
  * For Intel/AMD x86 or x86-64 CPU (Pentium-MMX or later) and GNU C compiler.
  *
- * Last changed in libpng 1.2.19 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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
diff --git a/pngpread.c b/pngpread.c
index dfaef63..610a7da 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 August 21, 2007
+ * Last changed in libpng 1.2.20 August 21, 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 a536a95..c26ce61 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.2.19 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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 663dfd8..97f12e6 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 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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 81631b9..c216ca7 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 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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/pngtest.c b/pngtest.c
index 866e8ee..2b69332 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1548,4 +1548,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_20beta03 your_png_h_is_not_version_1_2_20beta03;
+typedef version_1_2_20beta04 your_png_h_is_not_version_1_2_20beta04;
diff --git a/pngvcrd.c b/pngvcrd.c
index 3482ce9..3990b72 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 August 21, 2007
+ * Last changed in libpng 1.2.20 August 21, 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,6 +27,8 @@
  *
  * [move instances of uAll union into local, except for two constant
  * instances, GR-P 20070805]
+ *
+ * [revised handling of static constants for efficiency, Steve Snyder 20070821]
  */
 
 #define PNG_INTERNAL
@@ -34,6 +36,9 @@
 
 #if defined(PNG_MMX_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD)
 
+#ifdef PNG_USE_LOCAL_ARRAYS
+static PNG_CONST int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
+#endif
 
 static int mmx_supported=2;
 
@@ -114,9 +119,7 @@
 void /* PRIVATE */
 png_combine_row(png_structp png_ptr, png_bytep row, int mask)
 {
-#ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-#endif
+   static PNG_CONST int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
    png_debug(1,"in png_combine_row_asm\n");
 
@@ -147,9 +150,9 @@
             png_uint_32 len;
             int unmask, diff;
 
-            __int64 mask2=0x0101010202020404,  //24bpp
-                    mask1=0x0408080810101020,
-                    mask0=0x2020404040808080;
+            static PNG_CONST __int64 bpp24_mask2=0x0101010202020404,  //24bpp
+                                     bpp24_mask1=0x0408080810101020,
+                                     bpp24_mask0=0x2020404040808080;
 
             srcptr = png_ptr->row_buf + 1;
             dstptr = row;
@@ -173,9 +176,9 @@
                   punpcklwd  mm7,mm7
                   punpckldq  mm7,mm7           //fill register with 8 masks
 
-                  movq       mm0,mask0
-                  movq       mm1,mask1
-                  movq       mm2,mask2
+                  movq       mm0,bpp24_mask0
+                  movq       mm1,bpp24_mask1
+                  movq       mm2,bpp24_mask2
 
                   pand       mm0,mm7
                   pand       mm1,mm7
@@ -255,7 +258,6 @@
                png_size_t pixel_bytes;
                png_uint_32 i;
                register int disp = png_pass_inc[png_ptr->pass];
-               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
                pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
                srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
@@ -282,10 +284,10 @@
             png_uint_32 len;
             int unmask, diff;
 
-            __int64 mask3=0x0101010102020202,  //32bpp
-                    mask2=0x0404040408080808,
-                    mask1=0x1010101020202020,
-                    mask0=0x4040404080808080;
+            static PNG_CONST __int64 bpp32_mask3=0x0101010102020202,  //32bpp
+                                     bpp32_mask2=0x0404040408080808,
+                                     bpp32_mask1=0x1010101020202020,
+                                     bpp32_mask0=0x4040404080808080;
 
             srcptr = png_ptr->row_buf + 1;
             dstptr = row;
@@ -309,10 +311,10 @@
                   punpcklwd  mm7,mm7
                   punpckldq  mm7,mm7           //fill register with 8 masks
 
-                  movq       mm0,mask0
-                  movq       mm1,mask1
-                  movq       mm2,mask2
-                  movq       mm3,mask3
+                  movq       mm0,bpp32_mask0
+                  movq       mm1,bpp32_mask1
+                  movq       mm2,bpp32_mask2
+                  movq       mm3,bpp32_mask3
 
                   pand       mm0,mm7
                   pand       mm1,mm7
@@ -399,7 +401,6 @@
                png_size_t pixel_bytes;
                png_uint_32 i;
                register int disp = png_pass_inc[png_ptr->pass];
-               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
                pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
                srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
@@ -427,7 +428,7 @@
             int m;
             int diff, unmask;
 
-            __int64 mask0=0x0102040810204080;
+            static PNG_CONST __int64 bpp08_mask0=0x0102040810204080;
 
 #if !defined(PNG_1_0_X)
             if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW)
@@ -451,7 +452,7 @@
                   punpcklwd  mm7,mm7
                   punpckldq  mm7,mm7       //fill register with 8 masks
 
-                  movq       mm0,mask0
+                  movq       mm0,bpp08_mask0
 
                   pand       mm0,mm7       //nonzero if keep byte
                   pcmpeqb    mm0,mm6       //zeros->1s, v versa
@@ -505,7 +506,6 @@
                png_size_t pixel_bytes;
                png_uint_32 i;
                register int disp = png_pass_inc[png_ptr->pass];
-               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
                pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
                srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
@@ -697,8 +697,8 @@
             png_bytep dstptr;
             png_uint_32 len;
             int unmask, diff;
-            __int64 mask1=0x0101020204040808,
-                    mask0=0x1010202040408080;
+            static PNG_CONST __int64 bpp16_mask1=0x0101020204040808,
+                                     bpp16_mask0=0x1010202040408080;
 
 #if !defined(PNG_1_0_X)
             if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW)
@@ -721,8 +721,8 @@
                   punpcklwd  mm7,mm7
                   punpckldq  mm7,mm7           //fill register with 8 masks
 
-                  movq       mm0,mask0
-                  movq       mm1,mask1
+                  movq       mm0,bpp16_mask0
+                  movq       mm1,bpp16_mask1
 
                   pand       mm0,mm7
                   pand       mm1,mm7
@@ -787,7 +787,6 @@
                png_size_t pixel_bytes;
                png_uint_32 i;
                register int disp = png_pass_inc[png_ptr->pass];
-               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
                pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
                srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
@@ -814,12 +813,12 @@
             png_uint_32 len;
             int unmask, diff;
 
-            __int64 mask5=0x0101010101010202,
-                    mask4=0x0202020204040404,
-                    mask3=0x0404080808080808,
-                    mask2=0x1010101010102020,
-                    mask1=0x2020202040404040,
-                    mask0=0x4040808080808080;
+            static PNG_CONST __int64 bpp48_mask5=0x0101010101010202,
+                                     bpp48_mask4=0x0202020204040404,
+                                     bpp48_mask3=0x0404080808080808,
+                                     bpp48_mask2=0x1010101010102020,
+                                     bpp48_mask1=0x2020202040404040,
+                                     bpp48_mask0=0x4040808080808080;
 
 #if !defined(PNG_1_0_X)
             if ((png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW)
@@ -842,12 +841,12 @@
                   punpcklwd  mm7,mm7
                   punpckldq  mm7,mm7           //fill register with 8 masks
 
-                  movq       mm0,mask0
-                  movq       mm1,mask1
-                  movq       mm2,mask2
-                  movq       mm3,mask3
-                  movq       mm4,mask4
-                  movq       mm5,mask5
+                  movq       mm0,bpp48_mask0
+                  movq       mm1,bpp48_mask1
+                  movq       mm2,bpp48_mask2
+                  movq       mm3,bpp48_mask3
+                  movq       mm4,bpp48_mask4
+                  movq       mm5,bpp48_mask5
 
                   pand       mm0,mm7
                   pand       mm1,mm7
@@ -951,7 +950,6 @@
                png_size_t pixel_bytes;
                png_uint_32 i;
                register int disp = png_pass_inc[png_ptr->pass];
-               int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
 
                pixel_bytes = (png_ptr->row_info.pixel_depth >> 3);
                srcptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]*
@@ -976,7 +974,6 @@
             png_bytep sptr;
             png_bytep dp;
             png_size_t pixel_bytes;
-            int offset_table[7] = {0, 4, 0, 2, 0, 1, 0};
             unsigned int i;
             register int disp = png_pass_inc[png_ptr->pass];  // get the offset
             register unsigned int incr1, initial_val, final_val;
@@ -1011,9 +1008,6 @@
    png_bytep row = png_ptr->row_buf + 1;
    int pass = png_ptr->pass;
    png_uint_32 transformations = png_ptr->transformations;
-#ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-#endif
 
    png_debug(1,"in png_do_read_interlace\n");
 
@@ -1205,9 +1199,9 @@
 
          default:         // This is the place where the routine is modified
          {
-            __int64 const4 = 0x0000000000FFFFFF;
-            // __int64 const5 = 0x000000FFFFFF0000;  // unused...
-            __int64 const6 = 0x00000000000000FF;
+            static PNG_CONST __int64 const4 = 0x0000000000FFFFFF;
+            // static PNG_CONST __int64 const5 = 0x000000FFFFFF0000;  // unused...
+            static PNG_CONST __int64 const6 = 0x00000000000000FF;
             png_bytep sptr, dp;
             png_uint_32 i;
             png_size_t pixel_bytes;
diff --git a/pngwutil.c b/pngwutil.c
index 486abcf..0864dbc 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 August 21, 2007
+ * Last changed in libpng 1.2.19 August 19, 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 053e172..19c806b 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -180,7 +180,7 @@
 
 # SET UP LINKS
 set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#    VERSION 0.${PNGLIB_RELEASE}.1.2.20beta03
+#    VERSION 0.${PNGLIB_RELEASE}.1.2.20beta04
      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 9c7c7f9..47bb1f7 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.20beta03
+version=1.2.20beta04
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index 88b7829..3cedd7c 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.2.20beta03
+Version: 1.2.20beta04
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 044c399..a3a0acf 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.2.20beta03
+Version: 1.2.20beta04
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index c7b1e8d..4b8bd51 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index ec66fb0..23be2cd 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 487e550..ad93f2d 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index c110def..582df24 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 7f4e9bf..d28cee2 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -77,7 +77,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 712015e..6a5a27a 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 7b7ba52..38a956b 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 9934e17..a269ecd 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index b9e66a4..fa8a229 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 1b5e09d..e1e5283 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 38790a8..ff5cd2f 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 3629d00..0ec6635 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 369c84f..bf21d6f 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 455d69a..96de7a1 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -78,7 +78,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index f53a9a6..71fba69 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.20beta03
+SHLIB_MINOR=	1.2.20beta04
 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 bf92203..80ae886 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.20beta03
+SHLIB_MINOR=	1.2.20beta04
 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 c9dcc68..f37daec 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 4116c39..47cb0ef 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.20beta03
+SHLIB_MINOR=	1.2.20beta04
 
 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 cbe4438..1f8c0a7 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index e8a801a..927a4fa 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index a78461d..0613fde 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index eb4ff34..e7f71a8 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 27d5d32..caa386e 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index da44073..d69a40c 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.20beta03
+PNGMIN = 1.2.20beta04
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index caab7d2..9361356 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.20beta03
+; Version 1.2.20beta04
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 02e5d63..a642d83 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.20beta03
+;Version 1.2.20beta04
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
