summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2001-08-25 06:46:06 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2009-04-06 16:06:26 -0500
commit1b8e56723748ac34bcc4ba4800977d6a6b73893b (patch)
tree4054ee84d6353a3affbf530057c5e39eba2078fc
parent1ea0ff34fa27ef60975859a47460d8bbe06995d3 (diff)
downloadlibpng-1.2.0rc1.tar.gz
Imported from libpng-1.2.0rc1.tarv1.2.0rc1
-rw-r--r--ANNOUNCE10
-rw-r--r--CHANGES3
-rw-r--r--INSTALL12
-rw-r--r--LICENSE4
-rw-r--r--README10
-rw-r--r--Y2KINFO4
-rwxr-xr-xconfigure2
-rw-r--r--contrib/gregbook/rpng-x.c8
-rw-r--r--contrib/gregbook/rpng2-x.c8
-rw-r--r--libpng.329
-rw-r--r--libpng.txt19
-rw-r--r--libpngpf.34
-rw-r--r--png.52
-rw-r--r--png.c12
-rw-r--r--png.h24
-rw-r--r--pngasmrd.h2
-rw-r--r--pngconf.h2
-rw-r--r--pngerror.c2
-rw-r--r--pnggccrd.c287
-rw-r--r--pngget.c2
-rw-r--r--pngmem.c2
-rw-r--r--pngpread.c2
-rw-r--r--pngread.c8
-rw-r--r--pngrio.c2
-rw-r--r--pngrtran.c2
-rw-r--r--pngrutil.c5
-rw-r--r--pngset.c2
-rw-r--r--pngtest.c4
-rw-r--r--pngtrans.c2
-rw-r--r--pngvcrd.c2
-rw-r--r--pngwio.c2
-rw-r--r--pngwrite.c2
-rw-r--r--pngwtran.c2
-rw-r--r--pngwutil.c2
-rw-r--r--projects/msvc/README.txt2
-rw-r--r--projects/msvc/png32ms.def2
-rw-r--r--projects/netware.txt4
-rw-r--r--projects/wince.txt4
-rw-r--r--scripts/makefile.aix2
-rw-r--r--scripts/makefile.beos2
-rw-r--r--scripts/makefile.cygwin2
-rw-r--r--scripts/makefile.dec2
-rw-r--r--scripts/makefile.gcmmx2
-rw-r--r--scripts/makefile.hpgcc2
-rw-r--r--scripts/makefile.hpux2
-rw-r--r--scripts/makefile.linux2
-rw-r--r--scripts/makefile.netbsd2
-rw-r--r--scripts/makefile.sco2
-rw-r--r--scripts/makefile.sggcc2
-rw-r--r--scripts/makefile.sgi2
-rw-r--r--scripts/makefile.solaris2
-rw-r--r--scripts/pngdef.pas2
-rw-r--r--scripts/pngos2.def2
53 files changed, 316 insertions, 211 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 7a2cecd9f..ac151fb6d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.2.0beta5 - August 8, 2001
+Libpng 1.2.0rc1 - August 25, 2001
This is a public release of libpng, intended for use in production codes.
@@ -12,19 +12,19 @@ Changes since the last public release (1.0.12):
Enabled user memory function by default.
Increased png_mng_features flag from png_byte to png_uint_32.
Bumped shared-library (so-number) and dll-number to 3.
- Updated contrib/gregbook
- Updated makefile.ibmc
+ Updated makefile.ibmc, makefile.gcmmx
Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes
of png_write_oFFS width and height from png_uint_32 to png_int_32.
Updated example.c
Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c
- Revised makefile.gcmmx
Revised pnggccrd.c to conditionally compile some thread-unsafe code only
when PNG_THREAD_UNSAFE_OK is defined.
Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with
value exceeding 2^bit_depth-1
- Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
Removed restriction that do_invert_mono only operate on 1-bit opaque files
+ Replaced calls to fprintf(stderr,...) with png_warning() or png_debug()
+ in pnggccrd.c
+ Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index caf931033..bae5fe3f2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -977,6 +977,9 @@ version 1.2.0beta5 [August 8, 2001]
Revised makefile.sgi and makefile.sggcc
Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
Removed restriction that do_invert_mono only operate on 1-bit opaque files
+version 1.2.0rc1 [August 25, 2001]
+ Changed a png_warning() to png_debug() in pnggccrd.c
+ Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index d33151b26..d84e73abf 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.2.0beta5 - August 8, 2001
+Installing libpng version 1.2.0rc1 - August 25, 2001
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
@@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the
version of zlib that's installed.
You can rename the directories that you downloaded (they
-might be called "libpng-1.2.0beta5" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.2.0rc1" or "lpng109" and "zlib-1.1.3"
or "zlib113") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -64,8 +64,8 @@ The files that are presently available in the scripts directory
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta5)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta5,
+ makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0rc1)
+ makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0rc1,
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
@@ -82,9 +82,9 @@ include
makefile.macosx => MACOS X Makefile
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta5)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0rc1)
makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.0beta5)
+ makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.0rc1)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
diff --git a/LICENSE b/LICENSE
index 26d2c90ab..81ff14347 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.0.7, July 1, 2000, through 1.2.0beta5, August 8, 2001, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.0rc1, August 25, 2001, are
Copyright (c) 2000 Glenn Randers-Pehrson
and are distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
@@ -99,4 +99,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-August 8, 2001
+August 25, 2001
diff --git a/README b/README
index 4aadc0993..7f09b579e 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.2.0beta5 - August 8, 2001 (shared library 2.1)
+README for libpng 1.2.0rc1 - August 25, 2001 (shared library 2.1)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
@@ -187,9 +187,9 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile
- (gcc, creates libpng.so.2.1.2.0beta5)
+ (gcc, creates libpng.so.2.1.2.0rc1)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
- libpng.so.2.1.2.0beta5, uses assembler code
+ libpng.so.2.1.2.0rc1, 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
@@ -206,10 +206,10 @@ Files in this distribution:
makefile.macosx => MACOS X Makefile
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta5)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0rc1)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng.so.2.1.2.0beta5)
+ (gcc, creates libpng.so.2.1.2.0rc1)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
diff --git a/Y2KINFO b/Y2KINFO
index 573bd5173..f56c8b267 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- August 8, 2001
+ August 25, 2001
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.0beta5 are Y2K compliant. It is my belief that earlier
+ upward through 1.2.0rc1 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 9ef33f16f..a502b9d0b 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
echo "
- There is no \"configure\" script for Libpng-1.2.0beta5. Instead, please
+ There is no \"configure\" script for Libpng-1.2.0rc1. Instead, please
copy the appropriate makefile for your system from the \"scripts\"
directory. Read the INSTALL file for more details.
"
diff --git a/contrib/gregbook/rpng-x.c b/contrib/gregbook/rpng-x.c
index d3dc89ab0..e787ef1d5 100644
--- a/contrib/gregbook/rpng-x.c
+++ b/contrib/gregbook/rpng-x.c
@@ -22,6 +22,7 @@
- 1.11: added extra set of parentheses to png_jmpbuf() macro; fixed
command-line parsing bug
- 1.12: fixed small X memory leak (thanks to Francois Petitjean)
+ - 1.13: fixed XFreeGC() crash bug
---------------------------------------------------------------------------
@@ -52,7 +53,7 @@
#define PROGNAME "rpng-x"
#define LONGNAME "Simple PNG Viewer for X"
-#define VERSION "1.12 of 28 May 2001"
+#define VERSION "1.13 of 16 August 2001"
#include <stdio.h>
#include <stdlib.h>
@@ -118,6 +119,7 @@ static Colormap colormap;
static int have_nondefault_visual = FALSE;
static int have_colormap = FALSE;
static int have_window = FALSE;
+static int have_gc = FALSE;
/*
ulg numcolors=0, pixels[256];
ush reds[256], greens[256], blues[256];
@@ -556,6 +558,7 @@ static int rpng_x_create_window(void)
XMapWindow(display, window);
gc = XCreateGC(display, window, 0, &gcvalues);
+ have_gc = TRUE;
/*---------------------------------------------------------------------------
Fill window with the specified background color.
@@ -825,7 +828,8 @@ static void rpng_x_cleanup(void)
ximage = NULL;
}
- XFreeGC(display, gc);
+ if (have_gc)
+ XFreeGC(display, gc);
if (have_window)
XDestroyWindow(display, window);
diff --git a/contrib/gregbook/rpng2-x.c b/contrib/gregbook/rpng2-x.c
index 80ba760ac..1c61283d1 100644
--- a/contrib/gregbook/rpng2-x.c
+++ b/contrib/gregbook/rpng2-x.c
@@ -27,6 +27,7 @@
- 1.12: added -pause option for demos and testing
- 1.20: added runtime MMX-enabling/disabling and new -mmx* options
- 1.21: fixed small X memory leak (thanks to Francois Petitjean)
+ - 1.22: fixed XFreeGC() crash bug
---------------------------------------------------------------------------
@@ -57,7 +58,7 @@
#define PROGNAME "rpng2-x"
#define LONGNAME "Progressive PNG Viewer for X"
-#define VERSION "1.21 of 30 May 2001"
+#define VERSION "1.22 of 16 August 2001"
#include <stdio.h>
#include <stdlib.h>
@@ -228,6 +229,7 @@ static Colormap colormap;
static int have_nondefault_visual = FALSE;
static int have_colormap = FALSE;
static int have_window = FALSE;
+static int have_gc = FALSE;
@@ -759,6 +761,7 @@ static int rpng2_x_create_window(void)
XMapWindow(display, window);
gc = XCreateGC(display, window, 0, &gcvalues);
+ have_gc = TRUE;
/*---------------------------------------------------------------------------
Allocate memory for the X- and display-specific version of the image.
@@ -1374,7 +1377,8 @@ static void rpng2_x_cleanup(void)
ximage = NULL;
}
- XFreeGC(display, gc);
+ if (have_gc)
+ XFreeGC(display, gc);
if (have_window)
XDestroyWindow(display, window);
diff --git a/libpng.3 b/libpng.3
index 579b46bc5..2db3e25bb 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "August 8, 2001"
+.TH LIBPNG 3 "August 25, 2001"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta5
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0rc1
.SH SYNOPSIS
\fI\fB
@@ -787,7 +787,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.0beta5 - August 8, 2001
+ libpng version 1.2.0rc1 - August 25, 2001
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
@@ -1591,17 +1591,18 @@ changes the storage of the pixels to blue, green, red:
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
png_set_bgr(png_ptr);
-PNG files store RGB pixels packed into 3 bytes. This code expands them
-into 4 bytes for windowing systems that need them in this format:
+PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them
+into 4 or 8 bytes for windowing systems that need them in this format:
- if (bit_depth == 8 && color_type ==
- PNG_COLOR_TYPE_RGB) png_set_filler(png_ptr,
- filler, PNG_FILLER_BEFORE);
+ if (color_type == PNG_COLOR_TYPE_RGB)
+ png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE);
where "filler" is the 8 or 16-bit number to fill with, and the location is
either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether
you want the filler before the RGB or after. This transformation
-does not affect images that already have full alpha channels.
+does not affect images that already have full alpha channels. To add an
+opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which
+will generate RGBA pixels.
If you are reading an image with an alpha channel, and you need the
data as ARGB instead of the normal PNG format RGBA:
@@ -3613,13 +3614,13 @@ application:
.SH IX. Y2K Compliance in libpng
-August 8, 2001
+August 25, 2001
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.0beta5 are Y2K compliant. It is my belief that earlier
+upward through 1.2.0rc1 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
@@ -3794,7 +3795,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.2.0beta5 - August 8, 2001:
+Libpng version 1.2.0rc1 - August 25, 2001:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
@@ -3811,7 +3812,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.0.7, July 1, 2000, through 1.2.0beta5, August 8, 2001, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.0rc1, August 25, 2001, are
Copyright (c) 2000-2001 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
@@ -3903,7 +3904,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-August 8, 2001
+August 25, 2001
.\" end of man page
diff --git a/libpng.txt b/libpng.txt
index 0e27c1701..451400ef0 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
- libpng version 1.2.0beta5 - August 8, 2001
+ libpng version 1.2.0rc1 - August 25, 2001
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
@@ -804,17 +804,18 @@ changes the storage of the pixels to blue, green, red:
color_type == PNG_COLOR_TYPE_RGB_ALPHA)
png_set_bgr(png_ptr);
-PNG files store RGB pixels packed into 3 bytes. This code expands them
-into 4 bytes for windowing systems that need them in this format:
+PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them
+into 4 or 8 bytes for windowing systems that need them in this format:
- if (bit_depth == 8 && color_type ==
- PNG_COLOR_TYPE_RGB) png_set_filler(png_ptr,
- filler, PNG_FILLER_BEFORE);
+ if (color_type == PNG_COLOR_TYPE_RGB)
+ png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE);
where "filler" is the 8 or 16-bit number to fill with, and the location is
either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether
you want the filler before the RGB or after. This transformation
-does not affect images that already have full alpha channels.
+does not affect images that already have full alpha channels. To add an
+opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which
+will generate RGBA pixels.
If you are reading an image with an alpha channel, and you need the
data as ARGB instead of the normal PNG format RGBA:
@@ -2826,13 +2827,13 @@ application:
IX. Y2K Compliance in libpng
-August 8, 2001
+August 25, 2001
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.0beta5 are Y2K compliant. It is my belief that earlier
+upward through 1.2.0rc1 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that
diff --git a/libpngpf.3 b/libpngpf.3
index 34f00ecf5..010852e31 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "August 8, 2001"
+.TH LIBPNGPF 3 "August 25, 2001"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta5
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0rc1
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index cd7faf00c..be751a594 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "August 8, 2001"
+.TH PNG 5 "August 25, 2001"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index e62d9a436..010396c4e 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
- * libpng version 1.2.0beta5 - August 8, 2001
+ * libpng version 1.2.0rc1 - August 25, 2001
* Copyright (c) 1998-2001 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.)
@@ -13,14 +13,14 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_0beta5 Your_png_h_is_not_version_1_2_0beta5;
+typedef version_1_2_0rc1 Your_png_h_is_not_version_1_2_0rc1;
/* Version information for C files. This had better match the version
* string defined in png.h. */
#ifdef PNG_USE_GLOBAL_ARRAYS
/* png_libpng_ver was changed to a function in version 1.0.5c */
-const char png_libpng_ver[18] = "1.2.0beta5";
+const char png_libpng_ver[18] = "1.2.0rc1";
/* png_sig was changed to a function in version 1.0.5c */
/* Place to hold the signature string for a PNG file. */
@@ -646,7 +646,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */
- return ((png_charp) "\n libpng version 1.2.0beta5 - August 8, 2001\n\
+ return ((png_charp) "\n libpng version 1.2.0rc1 - August 25, 2001\n\
Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\
Copyright (c) 1996, 1997 Andreas Dilger\n\
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -664,8 +664,8 @@ png_get_libpng_ver(png_structp png_ptr)
{
/* Version of *.c files used when building libpng */
if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
- return((png_charp) "1.2.0beta5");
- return((png_charp) "1.2.0beta5");
+ return((png_charp) "1.2.0rc1");
+ return((png_charp) "1.2.0rc1");
}
png_charp PNGAPI
diff --git a/png.h b/png.h
index 06a6533fa..3505c2783 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.2.0beta5 - August 8, 2001
+ * libpng version 1.2.0rc1 - August 25, 2001
* Copyright (c) 1998-2001 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.0beta5 - August 8, 2001: Glenn
+ * libpng versions 0.97, January 1998, through 1.2.0rc1 - August 25, 2001: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -105,7 +105,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
- * libpng versions 1.0.7, July 1, 2000, through 1.2.0beta5, August 8, 2001, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.2.0rc1, August 25, 2001, are
* Copyright (c) 2000, 2001 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.0.6
* with the following individuals added to the list of Contributing Authors
@@ -210,13 +210,13 @@
* Y2K compliance in libpng:
* =========================
*
- * August 8, 2001
+ * August 25, 2001
*
* 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.0beta5 are Y2K compliant. It is my belief that earlier
+ * upward through 1.2.0rc1 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
@@ -272,7 +272,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.0beta5"
+#define PNG_LIBPNG_VER_STRING "1.2.0rc1"
#define PNG_LIBPNG_VER_SONUM 3
#define PNG_LIBPNG_VER_DLLNUM %DLLNUM%
@@ -284,7 +284,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 5
+#define PNG_LIBPNG_VER_BUILD 1
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_BUILD_BETA 2
@@ -292,7 +292,7 @@
#define PNG_LIBPNG_BUILD_STABLE 4
#define PNG_LIBPNG_BUILD_TYPEMASK 7
#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with STABLE only */
-#define PNG_LIBPNG_BUILD_TYPE 2
+#define PNG_LIBPNG_BUILD_TYPE 3
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -1208,13 +1208,15 @@ struct png_struct_def
png_free_ptr free_fn; /* function for freeing memory */
#endif
+ png_bytep big_row_buf; /* buffer to save current (unfiltered) row */
+
};
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
- and png.h are both at version 1.2.0beta5
+ and png.h are both at version 1.2.0rc1
*/
-typedef png_structp version_1_2_0beta5;
+typedef png_structp version_1_2_0rc1;
typedef png_struct FAR * FAR * png_structpp;
@@ -2331,7 +2333,7 @@ extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.2.0beta5 - August 8, 2001 (header)\n"
+ " libpng version 1.2.0rc1 - August 25, 2001 (header)\n"
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
/* With these routines we avoid an integer divide, which will be slower on
diff --git a/pngasmrd.h b/pngasmrd.h
index 033e36c39..33b0dc944 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
/* pngasmrd.h - assembler version of utilities to read a PNG file
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 2001 Glenn Randers-Pehrson
*
diff --git a/pngconf.h b/pngconf.h
index a66b49520..36817e026 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngerror.c b/pngerror.c
index 60a6571d7..a0fc5233a 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 0d448f03b..52f9c43c7 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code.
*
- * libpng version 1.2.0beta5 - August 8, 2001
+ * libpng version 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
@@ -2637,12 +2637,12 @@ png_do_read_interlace(png_structp png_ptr)
for (j = 0; j < png_pass_inc[pass]; j++)
{
#ifdef 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);
- }
+ 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;
@@ -2849,53 +2849,76 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"avg_3lp: \n\t"
"movq (%%edi,%%ecx,), %%mm0 \n\t" // load mm0 with Avg(x)
"movq %%mm5, %%mm3 \n\t"
- "psrlq _ShiftRem, %%mm2 \n\t" // correct position Raw(x-bpp) data
+ "psrlq _ShiftRem, %%mm2 \n\t" // correct position Raw(x-bpp)
+ // data
"movq (%%esi,%%ecx,), %%mm1 \n\t" // load mm1 with Prior(x)
"movq %%mm7, %%mm6 \n\t"
"pand %%mm1, %%mm3 \n\t" // get lsb for each prev_row byte
"psrlq $1, %%mm1 \n\t" // divide prev_row bytes by 2
- "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for each byte
+ "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for
+ // each byte
// add 1st active group (Raw(x-bpp)/2) to average with LBCarry
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
// lsb's were == 1 (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 1 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 1
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active
// byte
// add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
- "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover bytes 3-5
+ "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover
+ // bytes 3-5
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
// lsb's were == 1 (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active
// byte
// add 3rd active group (Raw(x-bpp)/2) to average with _LBCarry
- "psllq _ShiftBpp, %%mm6 \n\t" // shift mm6 mask to cover last two
+ "psllq _ShiftBpp, %%mm6 \n\t" // shift mm6 mask to cover last
+ // two
// bytes
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
// Data only needs to be shifted once here to
// get the correct x-bpp offset.
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
// lsb's were == 1 (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
"addl $8, %%ecx \n\t"
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active
// byte
// now ready to write back to memory
"movq %%mm0, -8(%%edi,%%ecx,) \n\t"
@@ -2933,7 +2956,8 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"movq _HBClearMask, %%mm4 \n\t"
// re-init address pointers and offset
- "movl _dif, %%ecx \n\t" // ecx: x = offset to alignment boundary
+ "movl _dif, %%ecx \n\t" // ecx: x = offset to
+ // alignment boundary
// load _ActiveMask and clear all bytes except for 1st active group
"movq _ActiveMask, %%mm7 \n\t"
@@ -2942,7 +2966,8 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
// preload "movl prev_row, %%esi \n\t" // esi: Prior(x)
"movq %%mm7, %%mm6 \n\t"
"movq _LBCarryMask, %%mm5 \n\t"
- "psllq _ShiftBpp, %%mm6 \n\t" // create mask for 2nd active group
+ "psllq _ShiftBpp, %%mm6 \n\t" // create mask for 2nd active
+ // group
// prime the pump: load the first Raw(x-bpp) data set
"movq -8(%%edi,%%ecx,), %%mm2 \n\t" // load previous aligned 8 bytes
@@ -2955,30 +2980,44 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"movq %%mm5, %%mm3 \n\t"
"pand %%mm1, %%mm3 \n\t" // get lsb for each prev_row byte
"psrlq $1, %%mm1 \n\t" // divide prev_row bytes by 2
- "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for each byte
+ "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for
+ // each byte
// add 1st active group (Raw(x-bpp)/2) to average with _LBCarry
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
// lsb's were == 1 (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm7, %%mm2 \n\t" // leave only Active Group 1 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm7, %%mm2 \n\t" // leave only Active Group 1
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg
+ // for each Active
// byte
// add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
"addl $8, %%ecx \n\t"
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
// lsb's were == 1 (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active
// byte
"cmpl _MMXLength, %%ecx \n\t"
// now ready to write back to memory
@@ -3012,7 +3051,8 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
// load _ActiveMask
"movq _ActiveMask, %%mm7 \n\t"
// re-init address pointers and offset
- "movl _dif, %%ecx \n\t" // ecx: x = offset to alignment boundary
+ "movl _dif, %%ecx \n\t" // ecx: x = offset to alignment
+ // boundary
"movq _LBCarryMask, %%mm5 \n\t"
// preload "movl row, %%edi \n\t" // edi: Avg(x)
"movq _HBClearMask, %%mm4 \n\t"
@@ -3029,59 +3069,91 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"movq %%mm5, %%mm3 \n\t"
"pand %%mm1, %%mm3 \n\t" // get lsb for each prev_row byte
"psrlq $1, %%mm1 \n\t" // divide prev_row bytes by 2
- "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each byte
+ "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each
+ // byte
"movq %%mm7, %%mm6 \n\t"
- "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for each byte
+ "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for
+ // each byte
// add 1st active group (Raw(x-bpp)/2) to average with _LBCarry
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
- // lsb's were == 1 (only valid for active group)
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
+ // lsb's were == 1 (only valid
+ // for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 1 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 1
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg
+ // for each Active byte
// add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
- "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover bytes 2 & 3
+ "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover
+ // bytes 2 & 3
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
- // lsb's were == 1 (only valid for active group)
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
+ // lsb's were == 1 (only valid
+ // for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active byte
// add 3rd active group (Raw(x-bpp)/2) to average with _LBCarry
- "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover bytes 4 & 5
+ "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover
+ // bytes 4 & 5
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
- // lsb's were == 1 (only valid for active group)
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both lsb's were == 1
+ // (only valid for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active byte
// add 4th active group (Raw(x-bpp)/2) to average with _LBCarry
- "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover bytes 6 & 7
+ "psllq _ShiftBpp, %%mm6 \n\t" // shift the mm6 mask to cover
+ // bytes 6 & 7
"movq %%mm0, %%mm2 \n\t" // mov updated Raws to mm2
"psllq _ShiftBpp, %%mm2 \n\t" // shift data to pos. correctly
"addl $8, %%ecx \n\t"
- "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting LBCarrys
- "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte where both
- // lsb's were == 1 (only valid for active group)
+ "movq %%mm3, %%mm1 \n\t" // now use mm1 for getting
+ // LBCarrys
+ "pand %%mm2, %%mm1 \n\t" // get LBCarrys for each byte
+ // where both
+ // lsb's were == 1 (only valid
+ // for active group)
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
- "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2 bytes to add to Avg
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm2 \n\t" // add LBCarrys to (Raw(x-bpp)/2)
+ // for each byte
+ "pand %%mm6, %%mm2 \n\t" // leave only Active Group 2
+ // bytes to add to Avg
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) + LBCarrys to
+ // Avg for each Active byte
"cmpl _MMXLength, %%ecx \n\t"
// now ready to write back to memory
@@ -3112,7 +3184,8 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
#ifdef __PIC__
"pushl %%ebx \n\t" // save Global Offset Table index
#endif
- "movl _dif, %%ebx \n\t" // ebx: x = offset to alignment boundary
+ "movl _dif, %%ebx \n\t" // ebx: x = offset to alignment
+ // boundary
// preload "movl row, %%edi \n\t" // edi: Avg(x)
"cmpl _FullLength, %%ebx \n\t" // test if offset at end of array
"jnb avg_1end \n\t"
@@ -3131,7 +3204,8 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"addw %%cx, %%ax \n\t"
"incl %%ebx \n\t"
"shrw %%ax \n\t" // divide by 2
- "addb -1(%%edi,%%ebx,), %%al \n\t" // add Avg(x); -1 to offset inc ebx
+ "addb -1(%%edi,%%ebx,), %%al \n\t" // add Avg(x); -1 to offset
+ // inc ebx
"cmpl _FullLength, %%ebx \n\t" // check if at end of array
"movb %%al, -1(%%edi,%%ebx,) \n\t" // write back Raw(x);
// mov does not affect flags; -1 to offset inc ebx
@@ -3210,15 +3284,18 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
default: // bpp greater than 8 (!= 1,2,3,4,[5],6,[7],8)
{
+#ifdef PNG_DEBUG
// GRR: PRINT ERROR HERE: SHOULD NEVER BE REACHED
- png_warning(png_ptr,
- "Internal logic error in pnggccrd (png_read_filter_row_mmx_avg())");
+ png_debug(1,
+ "Internal logic error in pnggccrd (png_read_filter_row_mmx_avg())\n");
+#endif
#if 0
__asm__ __volatile__ (
"movq _LBCarryMask, %%mm5 \n\t"
// re-init address pointers and offset
- "movl _dif, %%ebx \n\t" // ebx: x = offset to alignment boundary
+ "movl _dif, %%ebx \n\t" // ebx: x = offset to
+ // alignment boundary
"movl row, %%edi \n\t" // edi: Avg(x)
"movq _HBClearMask, %%mm4 \n\t"
"movl %%edi, %%edx \n\t"
@@ -3231,15 +3308,20 @@ png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
"pand %%mm1, %%mm3 \n\t" // get lsb for each prev_row byte
"movq (%%edx,%%ebx,), %%mm2 \n\t"
"psrlq $1, %%mm1 \n\t" // divide prev_row bytes by 2
- "pand %%mm2, %%mm3 \n\t" // get LBCarrys for each byte where both
- // lsb's were == 1
+ "pand %%mm2, %%mm3 \n\t" // get LBCarrys for each byte
+ // where both lsb's were == 1
"psrlq $1, %%mm2 \n\t" // divide raw bytes by 2
- "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm3, %%mm0 \n\t" // add LBCarrys to Avg for each byte
- "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each byte
- "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for each byte
+ "pand %%mm4, %%mm1 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm3, %%mm0 \n\t" // add LBCarrys to Avg for each
+ // byte
+ "pand %%mm4, %%mm2 \n\t" // clear invalid bit 7 of each
+ // byte
+ "paddb %%mm1, %%mm0 \n\t" // add (Prev_row/2) to Avg for
+ // each byte
"addl $8, %%ebx \n\t"
- "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) to Avg for each byte
+ "paddb %%mm2, %%mm0 \n\t" // add (Raw/2) to Avg for each
+ // byte
"cmpl _MMXLength, %%ebx \n\t"
"movq %%mm0, -8(%%edi,%%ebx,) \n\t"
"jb avg_Alp \n\t"
@@ -3358,9 +3440,11 @@ png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
"movl %%edi, _dif \n\t" // take start of row
"addl %%ebx, _dif \n\t" // add bpp
"xorl %%ecx, %%ecx \n\t"
- "addl $0xf, _dif \n\t" // add 7 + 8 to incr past alignment boundary
+ "addl $0xf, _dif \n\t" // add 7 + 8 to incr past alignment
+ // boundary
"andl $0xfffffff8, _dif \n\t" // mask to alignment boundary
- "subl %%edi, _dif \n\t" // subtract from start ==> value ebx at alignment
+ "subl %%edi, _dif \n\t" // subtract from start ==> value ebx
+ // at alignment
"jz paeth_go \n\t"
// fix alignment
@@ -3478,12 +3562,14 @@ png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
// prime the pump: load the first Raw(x-bpp) data set
"movq -8(%%edi,%%ecx,), %%mm1 \n\t"
"paeth_3lp: \n\t"
- "psrlq _ShiftRem, %%mm1 \n\t" // shift last 3 bytes to 1st 3 bytes
+ "psrlq _ShiftRem, %%mm1 \n\t" // shift last 3 bytes to 1st
+ // 3 bytes
"movq (%%esi,%%ecx,), %%mm2 \n\t" // load b=Prior(x)
"punpcklbw %%mm0, %%mm1 \n\t" // unpack High bytes of a
"movq -8(%%esi,%%ecx,), %%mm3 \n\t" // prep c=Prior(x-bpp) bytes
"punpcklbw %%mm0, %%mm2 \n\t" // unpack High bytes of b
- "psrlq _ShiftRem, %%mm3 \n\t" // shift last 3 bytes to 1st 3 bytes
+ "psrlq _ShiftRem, %%mm3 \n\t" // shift last 3 bytes to 1st
+ // 3 bytes
// pav = p - a = (a + b - c) - a = b - c
"movq %%mm2, %%mm4 \n\t"
"punpcklbw %%mm0, %%mm3 \n\t" // unpack High bytes of c
@@ -3538,7 +3624,8 @@ png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
"paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
"punpcklbw %%mm0, %%mm3 \n\t" // unpack High bytes of c
"movq %%mm7, (%%edi,%%ecx,) \n\t" // write back updated value
- "movq %%mm7, %%mm1 \n\t" // now mm1 will be used as Raw(x-bpp)
+ "movq %%mm7, %%mm1 \n\t" // now mm1 will be used as
+ // Raw(x-bpp)
// now do Paeth for 2nd set of bytes (3-5)
"psrlq _ShiftBpp, %%mm2 \n\t" // load b=Prior(x) step 2
"punpcklbw %%mm0, %%mm1 \n\t" // unpack High bytes of a
@@ -3595,7 +3682,8 @@ png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
"movq %%mm2, %%mm3 \n\t" // load c=Prior(x-bpp) step 1
"pand _ActiveMask, %%mm7 \n\t"
"punpckhbw %%mm0, %%mm2 \n\t" // unpack High bytes of b
- "psllq _ShiftBpp, %%mm7 \n\t" // shift bytes to 2nd group of 3 bytes
+ "psllq _ShiftBpp, %%mm7 \n\t" // shift bytes to 2nd group of
+ // 3 bytes
// pav = p - a = (a + b - c) - a = b - c
"movq %%mm2, %%mm4 \n\t"
"paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
@@ -3655,7 +3743,8 @@ png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
// step ecx to next set of 8 bytes and repeat loop til done
"addl $8, %%ecx \n\t"
"pand _ActiveMaskEnd, %%mm1 \n\t"
- "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
+ "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add Paeth predictor with
+ // Raw(x)
"cmpl _MMXLength, %%ecx \n\t"
"pxor %%mm0, %%mm0 \n\t" // pxor does not affect flags
diff --git a/pngget.c b/pngget.c
index 2b535222d..c34eaf715 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 6e6edf514..27832e1ad 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index e57a3579d..b5139c1fb 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 94a1da58d..0daabbae3 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -769,7 +769,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
* not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it.
*
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta5
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0rc1
*/
void PNGAPI
@@ -818,7 +818,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead.
*
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta5
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0rc1
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)
@@ -1133,7 +1133,7 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr
png_info_destroy(png_ptr, end_info_ptr);
png_free(png_ptr, png_ptr->zbuf);
- png_free(png_ptr, png_ptr->row_buf);
+ png_free(png_ptr, png_ptr->big_row_buf);
png_free(png_ptr, png_ptr->prev_row);
#if defined(PNG_READ_DITHER_SUPPORTED)
png_free(png_ptr, png_ptr->palette_lookup);
diff --git a/pngrio.c b/pngrio.c
index 633b6c3dd..64cb5dab9 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 29a534ec2..18e943d07 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index c39c70134..d55fec35f 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -2975,7 +2975,8 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
if (row_bytes > (png_uint_32)65536L)
png_error(png_ptr, "This image requires a row greater than 64KB");
#endif
- png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, row_bytes);
+ png_ptr->big_row_buf = (png_bytep)png_malloc(png_ptr, row_bytes+64);
+ png_ptr->row_buf = png_ptr->big_row_buf+32;
#if defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD)
png_ptr->row_buf_size = row_bytes;
#endif
diff --git a/pngset.c b/pngset.c
index 2aba58e09..090738925 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 46c6c3aaa..c67fb30d4 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1510,4 +1510,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_0beta5 your_png_h_is_not_version_1_2_0beta5;
+typedef version_1_2_0rc1 your_png_h_is_not_version_1_2_0rc1;
diff --git a/pngtrans.c b/pngtrans.c
index 359c98881..e9df79db9 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngvcrd.c b/pngvcrd.c
index 2b6248a1a..c89283e53 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
diff --git a/pngwio.c b/pngwio.c
index 5854b370f..007ac7b3a 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index f248f43ff..d1b341b3c 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwtran.c b/pngwtran.c
index 3227d8f8d..b00d3a5ad 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index 68bb9a41b..13f7dc4f5 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
- * libpng 1.2.0beta5 - August 8, 2001
+ * libpng 1.2.0rc1 - August 25, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt
index b5f402eb0..cb0326952 100644
--- a/projects/msvc/README.txt
+++ b/projects/msvc/README.txt
@@ -1,5 +1,5 @@
Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.2.0beta5 (August 8, 2001) and zlib
+libpng 1.2.0rc1 (August 25, 2001) and zlib
Copyright (C) 2000 Simon-Pierre Cadieux
For conditions of distribution and use, see copyright notice in png.h
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index fcb237abe..101730557 100644
--- a/projects/msvc/png32ms.def
+++ b/projects/msvc/png32ms.def
@@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
-;Version 1.2.0beta5
+;Version 1.2.0rc1
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
diff --git a/projects/netware.txt b/projects/netware.txt
index d3669010a..ddab5f2cc 100644
--- a/projects/netware.txt
+++ b/projects/netware.txt
@@ -1,6 +1,6 @@
A set of project files is available for Netware. Get
-libpng-1.2.0beta5-project-netware.zip from a libpng distribution
+libpng-1.2.0rc1-project-netware.zip from a libpng distribution
site such as http://libpng.sourceforge.net
Put the zip file in this directory (projects) and then run
-"unzip -a libpng-1.2.0beta5-project-netware.zip"
+"unzip -a libpng-1.2.0rc1-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index 145ee1c40..c812b1314 100644
--- a/projects/wince.txt
+++ b/projects/wince.txt
@@ -1,6 +1,6 @@
A set of project files is available for WinCE. Get
-libpng-1.2.0beta5-project-wince.zip from a libpng distribution
+libpng-1.2.0rc1-project-wince.zip from a libpng distribution
site such as http://libpng.sourceforge.net
Put the zip file in this directory (projects) and then run
-"unzip -a libpng-1.2.0beta5-project-wince.zip"
+"unzip -a libpng-1.2.0rc1-project-wince.zip"
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index d15a76ded..a820a4c9a 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -18,7 +18,7 @@ RM = rm -f
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 269f8e3dc..35f5ff0c9 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -13,7 +13,7 @@ ZLIBINC=/usr/local/include
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
ALIGN=
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index b583a9743..bdf2f44f2 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -39,7 +39,7 @@ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
# have to change it.
PNGMAJ = 3
#PNGDLL = $3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGMIN_BASE = 1.2.0
PNGVER = $(PNGMAJ).$(PNGMIN)
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 0ed4c0c1d..50943d581 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -17,7 +17,7 @@ ZLIBINC=../zlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=cc
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 48a552ca0..1df3703ab 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -55,7 +55,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index fad250b16..74eea5689 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 80f2eb7ea..1c9b088df 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -19,7 +19,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a and png.h
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 73f161284..dae1adf3a 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 08b2faddf..8a9aa27de 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -11,7 +11,7 @@ INCSDIR=${LOCALBASE}/include
LIB=png
SHLIB_MAJOR= 3
-SHLIB_MINOR= 1.2.0beta5
+SHLIB_MINOR= 1.2.0rc1
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.sco b/scripts/makefile.sco
index d810e98fa..0129abf46 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -25,7 +25,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index e030915bc..ff1a8a909 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -22,7 +22,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
LDSHARED=CC $(ABI) -shared
-VER=1.2.0beta5
+VER=1.2.0rc1
# See "man dso" for info about shared objects
SONUM=3
LIBS=libpng.so.$(SONUM).$(VER)
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 2fc40bd0b..959c06078 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -27,7 +27,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
LDSHARED=cc $(ABI) -shared
-VER=1.2.0beta5
+VER=1.2.0rc1
# See "man dso" for info about shared objects
SONUM=3
SHAREDLIB=libpng.so
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 9fa92709d..8fa57b195 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -31,7 +31,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
-PNGMIN = 1.2.0beta5
+PNGMIN = 1.2.0rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 7f9c59eb1..239fc7f75 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@ unit pngdef;
interface
const
- PNG_LIBPNG_VER_STRING = '1.2.0beta5';
+ PNG_LIBPNG_VER_STRING = '1.2.0rc1';
PNG_LIBPNG_VER = 10200;
type
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 8602581e8..6b849bc83 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
-; Version 1.2.0beta5
+; Version 1.2.0rc1
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"