summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>1998-06-14 14:43:31 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2009-04-06 16:04:28 -0500
commit345bc27e70dc807a157d3aad099b94b974c1df26 (patch)
tree84e4a954c6f4793a626f0af58c370a2c1fae3d70
parentf7d1a1703354aeded87bc39a2736c2ab7a755406 (diff)
downloadlibpng-345bc27e70dc807a157d3aad099b94b974c1df26.tar.gz
Imported from libpng-1.0.2.tarv1.0.2
-rw-r--r--ANNOUNCE25
-rw-r--r--CHANGES4
-rw-r--r--INSTALL5
-rw-r--r--KNOWNBUG195
-rw-r--r--README3
-rw-r--r--libpng.312
-rw-r--r--libpng.txt6
-rw-r--r--libpngpf.34
-rw-r--r--png.52
-rw-r--r--png.c4
-rw-r--r--png.h4
-rw-r--r--pngconf.h2
-rw-r--r--pngerror.c4
-rw-r--r--pngget.c2
-rw-r--r--pngmem.c8
-rw-r--r--pngpread.c9
-rw-r--r--pngread.c10
-rw-r--r--pngrio.c2
-rw-r--r--pngrtran.c6
-rw-r--r--pngrutil.c10
-rw-r--r--pngset.c2
-rw-r--r--pngtest.c6
-rw-r--r--pngtrans.c4
-rw-r--r--pngwio.c4
-rw-r--r--pngwrite.c4
-rw-r--r--pngwtran.c4
-rw-r--r--pngwutil.c6
-rw-r--r--scripts/makefile.lnx2
-rw-r--r--scripts/makefile.s2x2
-rw-r--r--scripts/makefile.sco2
-rw-r--r--scripts/makefile.w3285
-rw-r--r--scripts/pngdef.pas2
32 files changed, 174 insertions, 266 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 8448585a2..2862fd7be 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,12 +1,10 @@
-Libpng 1.0.1e - June 6, 1998
+Libpng 1.0.2 - June 14, 1998
-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.
+This is a public release of libpng, intended for use in production codes.
-Changes since the last public release:
+Changes since the previous public release (1.0.1):
-version 1.0.1a [April 21, 1998]
Optimized Paeth calculations by replacing abs() function calls with intrinsics
plus other loop optimizations. Improves avg decoding speed by about 20%.
Commented out i386istic "align" compiler flags in makefile.lnx.
@@ -21,20 +19,13 @@ version 1.0.1a [April 21, 1998]
than num_palette entries -- test was done before num_palette was defined.
Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins).
Changed compiler flags in makefile.wat for better optimization (Pawel Mrochen).
-version 1.0.1b [May 2, 1998]
Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg).
Relocated the png_composite macros from pngrtran.c to png.h (Greg).
Added makefile.sco (contributed by Mike Hopkirk).
- Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
Fixed a bug in pngrtran.c that would set channels=5 under some circumstances.
- More work on the Paeth-filtering, achieving imperceptible speedup (A Kleinert).
- More work on loop optimization which may help when compiled with C++ compilers.
Added warnings when people try to use transforms they've defined out.
Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran.
Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg)
-version 1.0.1c [May 11, 1998]
- Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
- filler bytes should have been 0xff instead of 0xf.
Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images.
Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED
out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h
@@ -44,9 +35,6 @@ version 1.0.1c [May 11, 1998]
to make it easier to remove unwanted capabilities via the compile line
Made some corrections to grammar (which, it's) in documentation (Greg).
Corrected example.c, use of row_pointers in png_write_image().
-version 1.0.1d [May 24, 1998]
- Corrected several statements that used side effects illegally in pngrutil.c
- and pngtrans.c, that were introduced in version 1.0.1b
Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
More corrections to example.c, use of row_pointers in png_write_image()
and png_read_rows().
@@ -54,7 +42,6 @@ version 1.0.1d [May 24, 1998]
Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
Changed several loops from count-down to count-up, for consistency.
-version 1.0.1e [June 5, 1998]
Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
added warnings when people try to set png_read_fn and png_write_fn in
the same structure.
@@ -69,8 +56,12 @@ version 1.0.1e [June 5, 1998]
Added capability for user-provided malloc_fn() and free_fn() functions,
and revised pngtest.c to demonstrate their use, replacing the
PNGTEST_DEBUG_MEM feature.
+ Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
+ Fixed two bugs in makefile.bor
Send comments/corrections/commendations to
png-implement@dworkin.wustl.edu or to randeg@alumni.rpi.edu
-Glenn R-P
+Glenn Randers-Pehrson
+libpng maintainer
+PNG Development Group
diff --git a/CHANGES b/CHANGES
index 458cb1f28..6243b1a62 100644
--- a/CHANGES
+++ b/CHANGES
@@ -334,7 +334,7 @@ version 1.0.1d [May 24, 1998]
Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
Changed several loops from count-down to count-up, for consistency.
-version 1.0.1e [June 6, 1998]
+version 1.0.2 [June 14, 1998]
Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
added warnings when people try to set png_read_fn and png_write_fn in
the same structure.
@@ -349,3 +349,5 @@ version 1.0.1e [June 6, 1998]
Added capability for user-provided malloc_fn() and free_fn() functions,
and revised pngtest.c to demonstrate their use, replacing the
PNGTEST_DEBUG_MEM feature.
+ Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
+ Fixed two bugs in makefile.bor
diff --git a/INSTALL b/INSTALL
index 3141d2ef8..74b546b10 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.0.1e - June 6, 1998
+Installing libpng version 1.0.2 - June 14, 1998
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.0.1e" or "lpng102" and "zlib-1.1.2"
+might be called "libpng-1.0.2" or "lpng102" and "zlib-1.1.2"
or "zlib112") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -56,6 +56,7 @@ include
build.bat => MS-DOS batch file for Borland compiler
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
+ makefile.w32 => makefile for Microsoft Visual C++ 4.0 and later
makefile.tc3 => Turbo C 3.0 makefile
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
pngos2.def => OS/2 module definition file used by makefile.os2
diff --git a/KNOWNBUG b/KNOWNBUG
index 0ad64324c..2ff29e699 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,196 +1,19 @@
-Known bugs and suggested enhancements in libpng-1.0.1
+Known bugs and suggested enhancements in libpng-1.0.2
-1. March 13, 1998 -- BUG -- pngtrans.c:
- row_info->channels should be updated --
- row_info->color_type should be updated --
-
- STATUS: I think this is all fixed in libpng-1.0.1a but needs
- to be tested.
-
-2. March 14, 1998 -- ENHANCEMENT -- Glenn
-
- We should add the G>GA, G>GX, G>AG, and G>XG transformations
- in png_do_read_filler()
-
- STATUS: Implemented in libpng-1.0.1a
-
-3. March 14, 1998 -- BUG? -- Greg Roelofs
-
- pngrtran.c: if-test for channels/FILLER may be incorrect
-
- STATUS: Under investigation. Appears to be working correctly
- in libpng-1.0.1c.
-
-4. March 15, 1998 -- BUG -- Kevin Bracey
-
- pngwtran.c:
- line 306: loop should count to row_info->width, not to
- row_info->width*row_info->channnels
-
- STATUS: Fixed in libpng-1.0.1a
-
-5. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
+1. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
Loops need to be optimized everywhere
- a. Make them count down instead of up -- Kevin Bracey
+ Make them count down instead of up -- Kevin Bracey
- Optimizing compilers don't need this, and making
- the change would be error prone -- Tom Lane, Glenn R-P
-
- Question whether i-- or --i is better.
-
- STATUS: Under investigation. About 150 loops turned around
- in libpng-1.0.1d, for testing. Object files and executables
- are about 20k smaller in SGI and gcc-compiled codes.
-
- b. Remove products and structure members from loop tests -- Glenn R-P
-
- Can be accomplished without messing with loop guts. This
- was shown to be effective on optimized SGI compiler:
-
- replace
- png_uint_32 i;
- for(i=0; i < s->a*s->b; i++)
- with
- png_uint_32 i, istop;
- istop = s->a*s->b;
- for(i=0; i<istop; i++)
-
- STATUS: Mostly done in libpng-1.0.1a, done for all important loops.
- More done in libpng-1.0.1b.
-
- c. Replace abs() with intrinsic ternary operations in Paeth
- filtering -- Glenn R-P
-
- STATUS: Done in libpng-1.0.1a
- (can be restored to original behavior with #define PNG_USE_ABS)
-
- d. In pngwutil.c, make separate simple loops to use when filter
- heuristic sums aren't needed. -- Glenn R-P
-
- STATUS: Done in libpng-1.0.1a
-
-6. April 6, 1998 -- BUG -- bug in pngset.c (rowbytes too large) -- Bob Dellaca
-
- pngset.c has a bug, introduced in version 0.99c, that sets rowbytes
- too large when writing an image with bit_depth < 8
-
- STATUS: Fixed in libpng-1.0.1a
-
-7. April 10, 1998 -- BUG -- pngwutil weighted filtering bugs -- Glenn R-P
-
- pngwutil.c has some bugs in the experimental weighted filter
- algorithm (PNG_FILTER_XXX should be PNG_FILTER_VALUE_XXX in
- several places)
-
- STATUS: Andreas concurs. Fixed in libpng-1.0.1a
-
-8. April 10, 1998 -- ENHANCEMENT -- run-time selection of malloc function
- -- Bob Dellaca
-
- pngmem.c currently provides a compile-time option to replace
- png_malloc() and png_free(). It's been requested that these
- be made possible at run time, via calls to new png_set_malloc_fn()
- and png_set_free_fn() functions.
-
- STATUS: Under consideration
-
-9. April 11, 1998 -- BUG -- incorrect truncation of tRNS data in
- illegal PNG file where tRNS precedes PLTE -- Larry Reeve
-
- There is a misplaced pngrutil code block that truncates tRNS if it has
- more than num_palette entries -- test was done before num_palette was
- defined. Although the PNG file is illegal, it shouldn't crash apps.
- There is a simple fix; just moving the test to the point after
- num_palette has been defined.
-
- STATUS: Fixed in libpng-1.0.1a
-
-10. April 16, 1998 -- BUG -- incorrect operation of png_convert_to_rfc1123
- with 31st day of the month -- Steve Eddins
-
- The "ptime->date % 31" is wrong, should be "ptime->date % 32".
-
- STATUS: Fixed in libpng-1.0.1a
-
-11. April 21, 1998 -- ENHANCEMENT -- relocation of composite macros
-
- png_composite() and png_composite_16() relocated to png.h
-
- STATUS: Done in libpng-1.0.1b
-
-12. April 22, 1998 -- ENHANCEMENT -- makefile.sco
-
- Mike Hopkirk contributed a makefile for SCO osr5 and sco UW7
-
- STATUS: Added to libpng-1.0.1b distribution
-
-13: April 30, 1998 -- ENHANCEMENT -- warnings
-
- When people define out some of the read transformations and then
- try to use them, the request is silently ignored. It was suggested
- that a warning be issued in such cases.
-
- STATUS: Done in libpng-1.0.1b
-
-14. May 2, 1998 -- BUG -- incorrect mask for filler bytes
-
- In pngrtran.c, png_do_filler(), the masks for hi_filler and low_filler
- should be 0xff instead of 0xf
-
- STATUS: Fixed in libpng-1.0.1c
-
-15. May 3, 1998 -- BUG -- buffer overflow in png_do_read_filler()
-
- In pngrutil.c, max_pixel_depth needs to be set to 32 when using
- png_do_read_filler with palette images.
-
- STATUS: Fixed in libpng-1.0.1c (see also items 1 and 3 above).
-
-16. May 3, 1998 -- BUG -- type definitions wrong on error functions -- Tom Lane
-
- In png_create_xxx_struct(), the error functions should have typedef
- png_voidp instead of (void *). Needs to be corrected in the functions,
- the prototypes in png.h, the example.c file, and libpng.txt and libpng.3
-
-
- STATUS: Fixed in libpng-1.0.1c
-
-17. May 10, 1998 -- DOCUMENTATION -- Greg
-
- There are a number of incorrect usages of "which" and "it's" in the
- comments.
-
- STATUS:
-
- Fixed in libpng-1.0.1c
-
-18. May 20, 1998 -- BUG -- illegal use of side effects -- Magnus Holmgren
-
- In libpng-1.0.1b several illegal uses of side effects were
- introduced while tuning loops in pngrutil.c; also one in pngtrans.c.
-
- STATUS:
-
- Fixed in libpng-1.0.1d
-
-19. May 20, 1998 -- ENHANCEMENT -- script for making DLL -- Bob Dellaca
-
- Bob Dellaca contributed script for making PNG DLL on Borland C++ 4.5
-
- STATUS:
-
- Added to distribution in libpng-1.0.1d
-
-20. May 26, 1998 -- BUG -- png_do_gamma is skipped -- Magnus Holmgren
+ Optimizing compilers don't need this, and making
+ the change would be error prone -- Tom Lane, Glenn R-P
- When a background color is defined for a truecolor image, but no
- transparent color is defined, gamma correction is not done.
- The test in pngrtran should include " && !png_ptr->trans_values"
+ Question whether i-- or --i is better.
- STATUS:
+ STATUS: Under investigation, postponed until after
+ libpng-1.0.2. About 160 loops turned around
+ in libpng-1.0.2a, for testing.
- Fixed in libpng-1.0.1e
diff --git a/README b/README
index b913b23e0..b5ece1d95 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.1e - June 6, 1998 (shared library 2.1)
+README for libpng 1.0.2 - June 14, 1998 (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.
@@ -173,6 +173,7 @@ Files in this distribution:
build.bat => MS-DOS batch file for Borland compiler
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
+ makefile.w32 => makefile for Microsoft Visual C++ 4.0 and later
makefile.tc3 => Turbo C 3.0 makefile
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
makefile.wat => Watcom 10a+ Makefile, 32-bit flat memory model
diff --git a/libpng.3 b/libpng.3
index 4e5836ed3..955a85c4a 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "June 6, 1998"
+.TH LIBPNG 3 "June 14, 1998"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.1e - June 6, 1998
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2 - June 14, 1998
.SH SYNOPSIS
#include <png.h>
@@ -414,7 +414,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.0.1e - June 6, 1998
+ libpng version 1.0.2 - June 14, 1998
Updated and distributed by Glenn Randers-Pehrson
<randeg@alumni.rpi.edu>
Copyright (c) 1998, Glenn Randers-Pehrson
@@ -1417,8 +1417,8 @@ png_infop info_ptr;
new_row);
/* where old_row is what was displayed for
- previous rows. Note that the first pass
- (pass == 0, really) will completely cover
+ previously for the row. Note that the first
+ pass (pass == 0, really) will completely cover
the old row, so the rows do not have to be
initialized. After the first pass (and only
for interlaced images), you will have to pass
@@ -2413,7 +2413,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.0.1e - June 6, 1998:
+Libpng version 1.0.2 - June 14, 1998:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alumni.rpi.edu).
diff --git a/libpng.txt b/libpng.txt
index 7fb5a6828..eac50e21c 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.0.1e - June 6, 1998
+ libpng version 1.0.2 - June 14, 1998
Updated and distributed by Glenn Randers-Pehrson
<randeg@alumni.rpi.edu>
Copyright (c) 1998, Glenn Randers-Pehrson
@@ -1003,8 +1003,8 @@ png_infop info_ptr;
new_row);
/* where old_row is what was displayed for
- previous rows. Note that the first pass
- (pass == 0, really) will completely cover
+ previously for the row. Note that the first
+ pass (pass == 0, really) will completely cover
the old row, so the rows do not have to be
initialized. After the first pass (and only
for interlaced images), you will have to pass
diff --git a/libpngpf.3 b/libpngpf.3
index bd0be6b34..0b21c3ace 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "June 6, 1998"
+.TH LIBPNGPF 3 "June 14, 1998"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.1e - June 6, 1998
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2 - June 14, 1998
(private functions)
.SH SYNOPSIS
#include <png.h>
diff --git a/png.5 b/png.5
index a5f90b6c0..c3aabb629 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "June 6, 1998"
+.TH PNG 5 "June 14, 1998"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index a4f3352d5..4601de0d5 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -15,7 +15,7 @@
/* Version information for C files. This had better match the version
* string defined in png.h.
*/
-char png_libpng_ver[12] = "1.0.1e";
+char png_libpng_ver[12] = "1.0.2";
/* Place to hold the signature string for a PNG file. */
png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
diff --git a/png.h b/png.h
index 6fe00e86c..0183b49f5 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see the COPYRIGHT NOTICE below.
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -117,7 +117,7 @@ extern "C" {
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.1e"
+#define PNG_LIBPNG_VER_STRING "1.0.2"
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
diff --git a/pngconf.h b/pngconf.h
index 0973f0f34..e18ba1911 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngerror.c b/pngerror.c
index e9a24e768..e3772ca39 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -130,7 +130,7 @@ png_default_error(png_structp png_ptr, png_const_charp message)
/* This function is called when there is a warning, but the library thinks
* it can continue anyway. Replacement functions don't have to do anything
- * here if you don't want to. In the default configuration, png_ptr is
+ * here if you don't want them to. In the default configuration, png_ptr is
* not used, but it is passed in case it may be useful.
*/
static void
diff --git a/pngget.c b/pngget.c
index 9d0331494..c6aef6fef 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngmem.c b/pngmem.c
index 0b98055a0..0aeab68ef 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,15 +1,17 @@
/* pngmem.c - stub functions for memory allocation
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
*
* This file provides a location for all memory allocation. Users who
- * need special memory handling are expected to modify the code in this file
- * to meet their needs. See the instructions at each function.
+ * need special memory handling are expected to supply replacement
+ * functions for png_malloc() and png_free(), and to use
+ * png_create_read_struct_2() and png_create_write_struct_2() to
+ * identify the replacement functions.
*/
#define PNG_INTERNAL
diff --git a/pngpread.c b/pngpread.c
index 5386060ff..dad6499ca 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -77,8 +77,9 @@ png_process_some_data(png_structp png_ptr, png_infop info_ptr)
/* Read any remaining signature bytes from the stream and compare them with
* the correct PNG signature. It is possible that this routine is called
- * with bytes already read from the signature, whether because they have been
- * checked by the calling application, or from multiple calls to this routine.
+ * with bytes already read from the signature, either because they have been
+ * checked by the calling application, or because of multiple calls to this
+ * routine.
*/
void
png_push_read_sig(png_structp png_ptr, png_infop info_ptr)
@@ -1116,7 +1117,7 @@ void
png_progressive_combine_row (png_structp png_ptr,
png_bytep old_row, png_bytep new_row)
{
- if (new_row != NULL)
+ if (new_row != NULL) /* new_row must == png_ptr->row_buf here. */
png_combine_row(png_ptr, old_row, png_pass_dsp_mask[png_ptr->pass]);
}
diff --git a/pngread.c b/pngread.c
index 8af9e5b31..f3097f477 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -281,7 +281,7 @@ png_read_update_info(png_structp png_ptr, png_infop info_ptr)
/* Initialize palette, background, etc, after transformations
* are set, but before any reading takes place. This allows
- * the user to obtail a gamma corrected palette, for example.
+ * the user to obtain a gamma-corrected palette, for example.
* If the user doesn't call this, we will do it ourselves.
*/
void
@@ -530,7 +530,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.0.1e.
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.2.
*/
void
@@ -570,7 +570,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
}
/* Read the entire image. If the image has an alpha channel or a tRNS
- * chunk, and you have called png_handle_alpha(), you will need to
+ * chunk, and you have called png_handle_alpha()[*], you will need to
* initialize the image to the current image that PNG will be overlaying.
* We set the num_rows again here, in case it was incorrectly set in
* png_read_start_row() by a call to png_read_update_info() or
@@ -578,6 +578,8 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* prior to either of these functions like it should have been. You can
* 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.0.2.
*/
void
png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index b57b56370..b9a364572 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngrtran.c b/pngrtran.c
index a5542f42f..f426c9263 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -523,7 +523,7 @@ png_set_gamma(png_structp png_ptr, double scrn_gamma, double file_gamma)
#if defined(PNG_READ_EXPAND_SUPPORTED)
/* Expand paletted images to rgb, expand grayscale images of
- * less then 8 bit depth to 8 bit depth, and expand tRNS chunks
+ * less than 8 bit depth to 8 bit depth, and expand tRNS chunks
* to alpha channels.
*/
void
@@ -2819,7 +2819,7 @@ png_do_background(png_row_infop row_info, png_bytep row,
#if defined(PNG_READ_GAMMA_SUPPORTED)
/* Gamma correct the image, avoiding the alpha channel. Make sure
- * you do this after you deal with the trasparency issue on grayscale
+ * you do this after you deal with the transparency issue on grayscale
* or rgb images. If your bit depth is 8, use gamma_table, if it
* is 16, use gamma_16_table and gamma_shift. Build these with
* build_gamma_table().
diff --git a/pngrutil.c b/pngrutil.c
index a45c0084e..a4ca3ab5c 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -1466,13 +1466,13 @@ png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name)
}
}
-/* Combines the row recently read in with the previous row.
- This routine takes care of alpha and transparency if requested.
+/* Combines the row recently read in with the existing pixels in the
+ row. This routine takes care of alpha and transparency if requested.
This routine also handles the two methods of progressive display
of interlaced images, depending on the mask value.
The mask value describes which pixels are to be combined with
the row. The pattern always repeats every 8 pixels, so just 8
- bits are needed. A one indicates the pixels is to be combined,
+ bits are needed. A one indicates the pixel is to be combined,
a zero indicates the pixel is to be skipped. This is in addition
to any alpha or transparency value associated with the pixel. If
you want all pixels to be combined, pass 0xff (255) in mask. */
@@ -2156,7 +2156,7 @@ png_read_finish_row(png_structp png_ptr)
if (!(png_ptr->num_rows))
continue;
}
- if (png_ptr->transformations & PNG_INTERLACE)
+ else /* if (png_ptr->transformations & PNG_INTERLACE) */
break;
} while (png_ptr->iwidth == 0);
diff --git a/pngset.c b/pngset.c
index 293f02365..89b727b65 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngtest.c b/pngtest.c
index 84e84c36b..9685474c6 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
- * libpng 1.0.1e -June 6, 1998
+ * libpng 1.0.2 -June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -13,7 +13,7 @@
* properly. It does not currently test all of the transforms, although
* it probably should.
*
- * The program will fail in certain legitimate cases:
+ * The program will report "FAIL" in certain legitimate cases:
* 1) when the compression level or filter selection method is changed.
* 2) when the chunk size is not 8K.
* 3) unknown ancillary chunks exist in the input file.
@@ -39,7 +39,7 @@
#if defined(PNG_TIME_RFC1123_SUPPORTED)
static int tIME_chunk_present=0;
-static png_charp tIME_string = "no tIME chunk present in file";
+static char tIME_string[30] = "no tIME chunk present in file";
#endif /* PNG_TIME_RFC1123_SUPPORTED */
int test_one_file PNGARG((PNG_CONST char *inname, PNG_CONST char *outname));
diff --git a/pngtrans.c b/pngtrans.c
index 9b1149a7f..3b23dfa9b 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.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -130,7 +130,7 @@ png_set_invert_mono(png_structp png_ptr)
png_ptr->transformations |= PNG_INVERT_MONO;
}
-/* invert monocrome grayscale data */
+/* invert monochrome grayscale data */
void
png_do_invert(png_row_infop row_info, png_bytep row)
{
diff --git a/pngwio.c b/pngwio.c
index f1826dd11..5e470993d 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -22,7 +22,7 @@
writes to a file pointer. Note that this routine sometimes gets called
with very small lengths, so you should implement some kind of simple
buffering if you are using unbuffered writes. This should never be asked
- to write more then 64K on a 16 bit machine. */
+ to write more than 64K on a 16 bit machine. */
void
png_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
diff --git a/pngwrite.c b/pngwrite.c
index 4190efb2d..a47b5a682 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -15,7 +15,7 @@
/* Writes all the PNG information. This is the suggested way to use the
* library. If you have a new chunk to add, make a function to write it,
* and put it in the correct location here. If you want the chunk written
- * after the image data, put it in png_write_end(). I strongly encurage
+ * after the image data, put it in png_write_end(). I strongly encourage
* you to supply a PNG_INFO_ flag, and check info_ptr->valid before writing
* the chunk, as that will keep the code from breaking if you want to just
* write a plain PNG file. If you have long comments, I suggest writing
diff --git a/pngwtran.c b/pngwtran.c
index 9b02ebaf8..896d324b9 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -11,7 +11,7 @@
#define PNG_INTERNAL
#include "png.h"
-/* Transform the data according to the users wishes. The order of
+/* Transform the data according to the user's wishes. The order of
* transformations is significant.
*/
void
diff --git a/pngwutil.c b/pngwutil.c
index 969386e82..8d0c6ee37 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
- * libpng 1.0.1e - June 6, 1998
+ * libpng 1.0.2 - June 14, 1998
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
@@ -273,7 +273,7 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
}
/* write the palette. We are careful not to trust png_color to be in the
- * correct order for PNG, so people can redefine it to any convient
+ * correct order for PNG, so people can redefine it to any convenient
* structure.
*/
void
@@ -835,7 +835,7 @@ png_write_zTXt(png_structp png_ptr, png_charp key, png_charp text,
png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
png_ptr->zstream.next_out = png_ptr->zbuf;
}
- /* continue until we don't have anymore to compress */
+ /* continue until we don't have any more to compress */
} while (png_ptr->zstream.avail_in);
/* finish the compression */
diff --git a/scripts/makefile.lnx b/scripts/makefile.lnx
index 9ea04db57..1049de9db 100644
--- a/scripts/makefile.lnx
+++ b/scripts/makefile.lnx
@@ -29,7 +29,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.1e
+PNGMIN = 1.0.2
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.s2x b/scripts/makefile.s2x
index 9d19e73b8..c54c021d2 100644
--- a/scripts/makefile.s2x
+++ b/scripts/makefile.s2x
@@ -29,7 +29,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.1e
+PNGMIN = 1.0.2
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index a88772af5..323e37864 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -22,7 +22,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.1e
+PNGMIN = 1.0.2
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.w32 b/scripts/makefile.w32
new file mode 100644
index 000000000..389360083
--- /dev/null
+++ b/scripts/makefile.w32
@@ -0,0 +1,85 @@
+# makefile for libpng
+# Copyright (C) 1998 Tim Wegner
+# For conditions of distribution and use, see copyright notice in png.h
+# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
+# To use, do "nmake /f scripts\makefile.w32"
+
+# ------------- Microsoft Visual C++ 4.0 and later -------------
+MODEL=-
+CFLAGS=-Ox -GA3s -nologo -W3 -I..\zlib
+
+CC=cl
+LD=link
+LDFLAGS=
+O=.obj
+
+#uncomment next to put error messages in a file
+ERRFILE= >> pngerrs
+
+# variables
+OBJS1 = png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
+OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
+OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
+
+all: libpng.lib
+
+png$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngset$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngget$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngread$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngpread$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrtran$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrutil$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngerror$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngmem$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngrio$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwio$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtest$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngtrans$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwrite$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwtran$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+pngwutil$(O): png.h pngconf.h
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+
+libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
+ del libpng.lib
+ lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3)
+
+pngtest.exe: pngtest.obj libpng.lib
+ $(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE
+
+test: pngtest.exe
+ pngtest
+
+# End of makefile for libpng
+
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 0739c4200..d948aae4a 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -3,7 +3,7 @@ unit pngdef;
interface
const
- PNG_LIBPNG_VER_STRING = '1.0.1e';
+ PNG_LIBPNG_VER_STRING = '1.0.2';
PNG_LIBPNG_VER = 10001;
type