[libpng10] Imported from libpng-1.0.17.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index dd85cbc..b317fd6 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,116 +1,27 @@
-Libpng 1.0.16 - August 15, 2004
+Libpng 1.0.17 - September 12, 2004
This is a public release of libpng, intended for use in production codes.
-Changes since the last public release (1.0.15):
+Changes since the last public release (1.0.16):
- Commented out warning about uninitialized mmx_support in pnggccrd.c.
- Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h.
- Relocated two more misplaced PNGAPI lines in pngtest.c
- Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
- introduced in version 1.0.2.
- Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
- Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu.
- Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
- Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
- Added "#!/bin/sh" at the top of configure, for recognition of the
- 'x' flag under Cygwin (Cosmin).
- Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin).
- Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin).
- Fixed the special memory handler for Borland C under DOS, in pngmem.c
- (Cosmin).
- Removed some spurious assignments in pngrutil.c (Cosmin).
- Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings
- on 16-bit platforms (Cosmin).
- Enclosed shift op expressions in parentheses, to silence warnings (Cosmin).
- Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
- in png_handle_sRGB() (Cosmin).
- Added compression_type to png_struct, and optimized the window size
- inside the deflate stream (Cosmin).
- Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin).
- Fixed handling of unknown chunks that come after IDAT (Cosmin).
- Allowed png_error() and png_warning() to work even if png_ptr == NULL
- (Cosmin).
- Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
- (Cosmin).
- Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
- Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded
- values in png.c (Simon-Pierre, Cosmin).
- Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
- Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc
- (Simon-Pierre).
- Moved the definition of PNG_HEADER_VERSION_STRING near the definitions
- of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin).
- Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
- Updated scripts/makefile.vc(a)win32 (Cosmin).
- Updated the MSVC project (Simon-Pierre, Cosmin).
- Updated the Borland C++ Builder project (Cosmin).
- Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
- Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
- Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
- Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
- (Cosmin).
- Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to
- projects/cbuilder5/ (Cosmin).
- Moved projects/visualc6/png32ms.def to scripts/pngw32.def,
- and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin).
- Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin).
- Updated contrib/visupng/VisualPng.dsp (Cosmin).
- Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin).
- Added a separate distribution with "configure" and supporting files (Junichi).
- Added user ability to change png_size_t via a PNG_SIZE_T macro.
- Added png_sizeof() and png_convert_size() functions.
- Added PNG_SIZE_MAX (maximum value of a png_size_t variable.
- Added check in png_malloc_default() for (size_t)size != (png_uint_32)size
- which would indicate an overflow.
- Changed sPLT failure action from png_error to png_warning and abandon chunk.
- Changed sCAL and iCCP failures from png_error to png_warning and abandon.
- Added png_get_uint_31(png_ptr, buf) function.
- Added PNG_UINT_32_MAX macro.
- Renamed PNG_MAX_UINT to PNG_UINT_31_MAX.
- Made png_zalloc() issue a png_warning and return NULL on potential
- overflow.
- Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x
- Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
- Revised Borland portion of png_malloc() to return NULL or issue
- png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
- Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
- sequential read support.
- Added some "#if PNG_WRITE_SUPPORTED" blocks.
- #ifdef'ed out some redundancy in png_malloc_default().
- Use png_malloc instead of png_zalloc to allocate the pallete.
- Rearranged order of processing of color types in png_handle_tRNS().
- Added PNG_ROWBYTES macro to calculate rowbytes without integer overflow.
- Updated makefile.darwin and removed makefile.macosx from scripts directory.
- Imposed default one million column, one-million row limits on the image
- dimensions, and added png_set_user_limits() function and
- PNG_SET_USER_LIMITS_SUPPORTED macro to override them.
- Fixed wrong cast of returns from png_get_user_width|height_max().
- Fixed buffer overflow vulnerability in png_handle_tRNS()
- Fixed integer arithmetic overflow vulnerability in png_read_png().
- Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
- duplicate chunk types to go undetected.
- Changed some "keep the compiler happy" from empty statements to returns,
- Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
- Revised pngtest's png_debug_malloc() to use png_malloc() instead of
- png_malloc_default() which is not supposed to be exported.
- Fixed old bug in RGB to Gray transformation.
- Fixed problem with 64-bit compilers by casting arguments to abs()
- to png_int_32.
- Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
- Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
- Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
- Added code to update the row_info->colortype in png_do_read_filler() (MSB).
- Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
- trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
- Revised documentation of png_set_keep_unknown_chunks().
- Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
- Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
- Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
+ Removed unused pngasmrd.h file.
+ Removed references to uu.net for archived files. Added references to
+ PNG Spec (second edition) and the PNG ISO/IEC Standard.
+ Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
+ Fixed bug with "optimized window size" in the IDAT datastream, that
+ causes libpng to write PNG files with incorrect zlib header bytes.
+ Fixed bug with sCAL chunk and big-endian machines (David Munro).
+ Undid new code added in 1.2.6 to update the color_type in
+ png_set_filler().
+ Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
+ Added makefile.hp64
+ Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
Send comments/corrections/commendations to
-png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net
+png-implement@ccrc.wustl.edu (subscription required; write to
+majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message)
+or to glennrp@users.sourceforge.net
Glenn R-P
diff --git a/CHANGES b/CHANGES
index 980538c..109583e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,7 @@
version 0.2
added reader into png.h
fixed small problems in stub file
+
version 0.3
added pull reader
split up pngwrite.c to several files
@@ -14,6 +15,7 @@
interfaced with zlib 0.5
added K&R support
added check for 64 KB blocks for 16 bit machines
+
version 0.4
cleaned up code and commented code
simplified time handling into png_time
@@ -24,23 +26,28 @@
interfaced with zlib 0.71
cleaned up zTXt reader and writer (using zlib's Reset functions)
split transformations into pngrtran.c and pngwtran.c
+
version 0.5
interfaced with zlib 0.8
fixed many reading and writing bugs
saved using 3 spaces instead of tabs
+
version 0.6
added png_large_malloc() and png_large_free()
added png_size_t
cleaned up some compiler warnings
added png_start_read_image()
+
version 0.7
cleaned up lots of bugs
finished dithering and other stuff
added test program
changed name from pnglib to libpng
+
version 0.71 [June, 1995]
changed pngtest.png for zlib 0.93
fixed error in libpng.txt and example.c
+
version 0.8
cleaned up some bugs
added png_set_filler()
@@ -57,27 +64,34 @@
enabled png_set_shift to work with paletted images on read
added png_read_update_info() - updates info structure with
transformations
+
version 0.81 [August, 1995]
incorporated Tim Wegner's medium model code (thanks, Tim)
+
version 0.82 [September, 1995]
[unspecified changes]
+
version 0.85 [December, 1995]
added more medium model code (almost everything's a far)
added i/o, error, and memory callback functions
fixed some bugs (16 bit, 4 bit interlaced, etc.)
added first run progressive reader (barely tested)
+
version 0.86 [January, 1996]
fixed bugs
improved documentation
+
version 0.87 [January, 1996]
fixed medium model bugs
fixed other bugs introduced in 0.85 and 0.86
added some minor documentation
+
version 0.88 [January, 1996]
fixed progressive bugs
replaced tabs with spaces
cleaned up documentation
added callbacks for read/write and warning/error functions
+
version 0.89 [July, 1996]
added new initialization API to make libpng work better with shared libs
we now have png_create_read_struct(), png_create_write_struct(),
@@ -104,6 +118,7 @@
into a binary when only reading or writing functionality is used
new pngtest image also has interlacing and zTXt
updated documentation to reflect new API
+
version 0.90 [January, 1997]
made CRC errors/warnings on critical and ancillary chunks configurable
libpng will use the zlib CRC routines by (compile-time) default
@@ -125,6 +140,7 @@
be able to handle all chunks via a callback mechanism
try to fix Linux "setjmp" buffer size problems
removed png_large_malloc, png_large_free, and png_realloc functions.
+
version 0.95 [March, 1997]
fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never
fixed bug in PNG file signature compares when start != 0
@@ -159,6 +175,7 @@
functions in pngget.c to get infomation in info_ptr. This isolates
the application from the internal organization of png_info_struct
(good for shared library implementations).
+
version 0.96 [May, 1997]
fixed serious bug with < 8bpp images introduced in 0.95
fixed 256-color transparency bug (Greg Roelofs)
@@ -169,6 +186,7 @@
added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul)
added typecasts to quiet compiler errors
added more debugging info
+
version 0.97 [January, 1998]
removed PNG_USE_OWN_CRC capability
relocated png_set_crc_action from pngrutil.c to pngrtran.c
@@ -191,6 +209,7 @@
added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
regularized version numbering scheme and bumped shared-library major
version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs)
+
version 0.98 [January, 1998]
cleaned up some typos in libpng.txt and in code documentation
fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
@@ -202,6 +221,7 @@
PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED
added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
changed srgb_intent from png_byte to int to avoid compiler bugs
+
version 0.99 [January 30, 1998]
free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
fixed a longstanding "packswap" bug in pngtrans.c
@@ -262,6 +282,7 @@
Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED
and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro
Added user transform capability
+
version 1.00 [March 7, 1998]
Changed several typedefs in pngrutil.c
Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik)
@@ -271,6 +292,7 @@
changed some typedefs (s_start, etc.) in pngrutil.c
fixed dimensions of "short_months" array in pngwrite.c
Replaced ansi2knr.c with the one from jpeg-v6
+
version 1.0.0 [March 8, 1998]
Changed name from 1.00 to 1.0.0 (Adam Costello)
Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
@@ -285,6 +307,7 @@
Quieted compiler complaints about two empty "for" loops in pngrutil.c
Minor changes to makefile.s2x
Removed #ifdef/#endif around a png_free() in pngread.c
+
version 1.0.1 [March 14, 1998]
Changed makefile.s2x to reduce security risk of using a relative pathname
Fixed some typos in the documentation (Greg).
@@ -353,6 +376,7 @@
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).
+
version 1.0.2 [June 14, 1998]
Fixed two bugs in makefile.bor .
version 1.0.2a [December 30, 1998]
@@ -387,6 +411,7 @@
Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
which is obsolete.
+
version 1.0.3 [January 14, 1999]
Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice)
Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO.
@@ -439,6 +464,7 @@
Fixed type casting of igamma in pngrutil.c
Added new png_expand functions to scripts/pngdef.pas and pngos2.def
Added a demo read_user_transform_fn that examines the row filters in pngtest.c
+
version 1.0.4 [September 24, 1999]
Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
@@ -477,6 +503,7 @@
Added type casting mostly in pngrtran.c and pngwtran.c
Removed some pointless "ptr = NULL" in pngmem.c
Added a "contrib" directory containing the source code from Greg's book.
+
version 1.0.5 [October 15, 1999]
Minor editing of the INSTALL and README files.
version 1.0.5a [October 23, 1999]
@@ -660,6 +687,7 @@
Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt.
Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3,
revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin)
+
version 1.0.6 [March 20, 2000]
Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
Added makefile.sggcc (SGI IRIX with gcc)
@@ -798,6 +826,7 @@
version 1.0.7rc2 [June 28, 2000]
Updated license to include disclaimers required by UCITA.
Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
+
version 1.0.7 [July 1, 2000]
Revised the definition of "trans_values" in libpng.3/libpng.txt
version 1.0.8beta1 [July 8, 2000]
@@ -822,6 +851,7 @@
Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
version 1.0.8rc1 [July 16, 2000]
Revised png_debug() macros and statements to eliminate compiler warnings.
+
version 1.0.8 [July 24, 2000]
Added png_flush() in pngwrite.c, after png_write_IEND().
Updated makefile.hpux to build a shared library.
@@ -892,6 +922,7 @@
be re-enabled in version 1.2.0.
version 1.0.9rc2 [January 22, 2001]
Revised cygwin support.
+
version 1.0.9 [January 31, 2001]
Added check of cygwin's ALL_STATIC in pngconf.h
Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
@@ -913,6 +944,7 @@
and png_strlen.
Revised png_mmx_supported() function in pnggccrd.c to return proper value.
Fixed bug in progressive reading (pngpread.c) with small images (height < 8).
+
version 1.0.10 [March 30, 2001]
Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin
Added beos project files (Chris Herborth)
@@ -930,6 +962,7 @@
from user's malloc_fn().
Removed some useless type casts of the NULL pointer.
Added makefile.netbsd
+
version 1.0.11 [April 27, 2001]
Revised makefile.netbsd
version 1.0.12beta1 [May 14, 2001]
@@ -944,21 +977,15 @@
Bumped DLLNUM to 2.
Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
by default.
- Added runtime selection of MMX features.
- Added png_set_strip_error_numbers function and related macros.
version 1.2.0beta2 [May 7, 2001]
Finished merging 1.2.0beta1 with version 1.0.11
Added a check for attempts to read or write PLTE in grayscale PNG datastreams.
version 1.2.0beta3 [May 17, 2001]
- Enabled user memory function by default.
Modified png_create_struct so it passes user mem_ptr to user memory allocator.
Increased png_mng_features flag from png_byte to png_uint_32.
- Bumped shared-library (so-number) and dll-number to 3.
version 1.2.0beta4 [June 23, 2001]
Check for missing profile length field in iCCP chunk and free chunk_data
in case of truncated iCCP chunk.
- Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
- Bumped dll-number from 2 to 3 in makefile.cygwin
Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
if user attempts to run it on an 8-bit display.
Updated contrib/gregbook
@@ -978,6 +1005,7 @@
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.0 [September 1, 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().
@@ -1011,6 +1039,7 @@
Always allocate 256-entry internal palette, hist, and trans arrays, to
avoid out-of-bounds memory reference caused by invalid PNG datastreams.
Added a check for prefix_length > data_length in iCCP chunk handler.
+
version 1.2.1 [December 7, 2001]
None.
version 1.2.2beta1 [February 22, 2002]
@@ -1035,7 +1064,6 @@
Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown
Removed unused png_write_destroy_info prototype from png.h
- Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case
Added install-shared target to all makefiles that make shared libraries.
Stopped a double free of palette, hist, and trans when not using free_me.
Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64.
@@ -1064,6 +1092,7 @@
Save the ebx register in pnggccrd.c (Sami Farin)
Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
Updated makefiles to put headers in include/libpng and remove old include/*.h.
+
version 1.2.2 [April 15, 2002]
version 1.0.13 [April 15, 2002]
Revised description of png_set_filter() in libpng.3/libpng.txt.
@@ -1118,6 +1147,7 @@
Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
Removed leftover libpng-config "sed" script from four makefiles.
Revised libpng-config creating script in 16 makefiles.
+
version 1.2.3 [May 22, 2002]
Revised libpng-config target in makefile.cygwin.
Removed description of png_set_mem_fn() from documentation.
@@ -1147,6 +1177,7 @@
version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
Added "test-installed" target to makefile.cygwin and makefile.sco.
Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
+
version 1.2.4 and 1.0.14 [July 8, 2002]
Changed png_warning() to png_error() when width is too large to process.
version 1.2.4patch01 [July 20, 2002]
@@ -1173,6 +1204,7 @@
Added missing "; fi" to makefile.32sunu.
version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
Revised libpng-config script.
+
version 1.2.5 and 1.0.15 [October 3, 2002]
Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
and makefile.aix.
@@ -1226,8 +1258,6 @@
Updated scripts/makefile.vc(a)win32 (Cosmin).
Updated the MSVC project (Simon-Pierre, Cosmin).
Updated the Borland C++ Builder project (Cosmin).
- Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
- Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
(Cosmin).
@@ -1263,7 +1293,7 @@
Added some "#if PNG_WRITE_SUPPORTED" blocks.
#ifdef'ed out some redundancy in png_malloc_default().
Use png_malloc instead of png_zalloc to allocate the pallete.
-version 1.2.6rc1 [August 4, 2004]
+version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
Fixed buffer overflow vulnerability in png_handle_tRNS()
Fixed integer arithmetic overflow vulnerability in png_read_png().
Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
@@ -1277,7 +1307,8 @@
Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
Fixed wrong cast of returns from png_get_user_width|height_max().
Changed some "keep the compiler happy" from empty statements to returns,
-version 1.2.6rc2 [August 7, 2004]
+ Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
+version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
Revised pngtest's png_debug_malloc() to use png_malloc() instead of
png_malloc_default() which is not supposed to be exported.
@@ -1291,23 +1322,42 @@
Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
Added code to update the row_info->colortype in png_do_read_filler() (MSB).
-version 1.2.6rc3 [August 9, 2004]
+version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004]
Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
Revised documentation of png_set_keep_unknown_chunks().
Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
-version 1.2.6rc4 [August 10, 2004]
+version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004]
Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
"pinfo" was out of place).
-version 1.2.6rc5 [August 10, 2004]
+version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004]
Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
section of png.h where they were inadvertently placed in version rc3.
-version 1.2.6rc6 [August 15, 2004]
+
+version 1.0.16 and 1.2.6 [August 15, 2004]
Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
+version 1.2.7beta1 [August 26, 2004]
+ Removed unused pngasmrd.h file.
+ Removed references to uu.net for archived files. Added references to
+ PNG Spec (second edition) and the PNG ISO/IEC Standard.
+ Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
+ Fixed bug with "optimized window size" in the IDAT datastream, that
+ causes libpng to write PNG files with incorrect zlib header bytes.
+version 1.2.7beta2 [August 28, 2004]
+ Fixed bug with sCAL chunk and big-endian machines (David Munro).
+ Undid new code added in 1.2.6rc2 to update the color_type in
+ png_set_filler().
+version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004]
+ Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
+version 1.0.17 and 1.2.7 [September 12, 2004]
+ Added makefile.hp64
+ Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
Send comments/corrections/commendations to
-png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net
+png-implement@ccrc.wustl.edu (subscription required; write to
+majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message)
+or to glennrp@users.sourceforge.net
Glenn R-P
diff --git a/INSTALL b/INSTALL
index 02895f8..d55c83a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.0.16 - August 15, 2004
+Installing libpng version 1.0.17 - September 12, 2004
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
@@ -10,8 +10,8 @@
version of zlib that's installed.
You can rename the directories that you downloaded (they
-might be called "libpng-1.0.16" or "lpng109" and "zlib-1.1.3"
-or "zlib113") so that you have directories called "zlib" and "libpng".
+might be called "libpng-1.0.17" or "lpng109" and "zlib-1.2.1"
+or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -23,14 +23,13 @@
*.c
contrib
gregbook
- msvctest
pngminus
pngsuite
visupng
projects
beos
- borland
- msvc
+ c5builder (Borland)
+ visualc6 (msvc)
netware.txt
wince.txt
scripts
@@ -48,13 +47,16 @@
distribution of libpng. It is available in both tar.gz (UNIX style line
endings) and zip (DOS style line endings) formats.
-If you are building libpng with MSVC, you can enter the libpng\msvc directory
-and follow the instructions in msvc\README.txt.
-You can build libpng for WindowsCE by entering the downloading and installing
-the libpng\wince directory as instructed in the projects\wince.txt file, and
+If you are building libpng with MSVC, you can enter the
+libpng projects\visualc6 directory and follow the instructions in
+projects\visualc6\README.txt.
+
+You can build libpng for WindowsCE by downloading and installing
+the projects\wince directory as instructed in the projects\wince.txt file, and
then following the instructions in the README* files. Similarly, you can
-build libpng for Netware as instructed in projects\netware.txt.
+build libpng for Netware or Beos as instructed in projects\netware.txt
+or projects\beos.
Else enter the zlib directory and follow the instructions in zlib/README,
then come back here and choose the appropriate makefile.sys in the scripts
@@ -64,8 +66,10 @@
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux => Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.16)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.16,
+ makefile.linux => Linux/ELF makefile
+ (gcc, creates libpng10.so.0.1.0.17)
+ makefile.gcmmx => Linux/ELF makefile
+ (gcc, creates libpng10.so.0.1.0.17,
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
@@ -75,20 +79,25 @@
makefile.cygwin => Cygwin/gcc makefile
makefile.darwin => Darwin makefile, can use on MacosX
makefile.dec => DEC Alpha UNIX makefile
- makefile.hpgcc => FreeBSD makefile
+ makefile.freebsd => FreeBSD makefile
makefile.hpgcc => HPUX makefile using gcc
makefile.hpux => HPUX (10.20 and 11.00) makefile
+ makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit
makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
makefile.intel => Intel C/C++ version 4.0 and later
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
- makefile.ne0bsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so
+ makefile.ne10bsd => NetBSD/cc makefile, uses PNGGCCRD,
+ makes libpng10.so
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng10.so.0.1.0.16)
+ makefile.sggcc => Silicon Graphics (gcc,
+ creates libpng10.so.0.1.0.17)
makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile (gcc, creates libpng10.so.0.1.0.16)
- makefile.so9 => Solaris 9 makefile (gcc, creates libpng10.so.0.1.0.16)
+ makefile.solaris => Solaris 2.X makefile (gcc,
+ creates libpng10.so.0.1.0.17)
+ makefile.so9 => Solaris 9 makefile (gcc,
+ creates libpng10.so.0.1.0.17)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
@@ -101,7 +110,6 @@
makefile.beos => BEOS makefile for X86
makefile.bor => Borland makefile (uses bcc)
makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
- makefile.bd32 => To make a png32bd.dll with Borland C++ 4.5
makefile.tc3 => Turbo C 3.0 makefile
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
@@ -114,7 +122,6 @@
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
makevms.com => VMS build script
descrip.mms => VMS makefile for MMS or MMK
- pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
SCOPTIONS.ppc => Used with smakefile.ppc
Copy the file (or files) that you need from the
@@ -129,13 +136,13 @@
Then read pngconf.h to see if you want to make any configuration
changes.
-Then just run "make test" which will create the libpng library in
-this directory and run a quick test that reads the "pngtest.png"
-file and writes a "pngout.png" file that should be identical to it.
-Look for "9782 zero samples" in the output of the test. For more
-confidence, you can run another test by typing "pngtest pngnow.png"
-and looking for "289 zero samples" in the output. Also, you can
-run "pngtest -m *.png" in the "contrib/pngsuite" directory and compare
+Then just run "make" which will create the libpng library in
+this directory and "make test" which will run a quick test that reads
+the "pngtest.png" file and writes a "pngout.png" file that should be
+identical to it. Look for "9782 zero samples" in the output of the
+test. For more confidence, you can run another test by typing
+"pngtest pngnow.png" and looking for "289 zero samples" in the output.
+Also, you can run "pngtest -m contrib/pngsuite/*.png" and compare
your output with the result shown in contrib/pngsuite/README.
Most of the makefiles will allow you to run "make install" to
diff --git a/KNOWNBUG b/KNOWNBUG
index 9a2778d..9232aa5 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
-Known bugs in libpng version 1.0.16
+Known bugs in libpng version 1.0.17
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled but running
diff --git a/LICENSE b/LICENSE
index 65c9d46..3e5a36a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng version 1.2.6, August 15, 2004, is
+libpng version 1.2.6, September 12, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@
Glenn Randers-Pehrson
glennrp@users.sourceforge.net
-August 15, 2004
+September 12, 2004
diff --git a/README b/README
index 32e4100..af74e71 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.0.16 - August 15, 2004 (shared library 12.0)
+README for libpng version 1.0.17 - September 12, 2004 (shared library 10.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
@@ -54,7 +54,7 @@
critical or an ancillary chunk.
The changes made to the library, and bugs fixed are based on discussions
-on the PNG implementation mailing list <png-implement@ccrc.wustl.edu>
+on the PNG-implement mailing list
and not on material submitted privately to Guy, Andreas, or Glenn. They will
forward any good suggestions to the list.
@@ -77,16 +77,15 @@
You can use zlib as a drop-in replacement for fread() and fwrite() if
you are so inclined.
-zlib should be available at the same place that libpng is.
-If not, it should be at ftp.uu.net in /graphics/png
-Eventually, it will be at ftp.uu.net in /pub/archiving/zip/zlib
+zlib should be available at the same place that libpng is, or at.
+ftp://ftp.info-zip.org/pub/infozip/zlib
You may also want a copy of the PNG specification. It is available
-as an RFC and a W3C Recommendation. Failing
-these resources you can try ftp.uu.net in the /graphics/png directory.
+as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
+these at http://www.libpng.org/pub/png/documents/
-This code is currently being archived at ftp.uu.net in the
-/graphics/png directory, and on CompuServe, Lib 20 (PNG SUPPORT)
+This code is currently being archived at libpng.sf.net in the
+[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
at GO GRAPHSUP. If you can't find it in any of those places,
e-mail me, and I'll help you find it.
@@ -105,16 +104,19 @@
based in a large way on Guy's and Andreas' earlier work), and the PNG group.
glennrp@users.sourceforge.net
-png-implement@ccrc.wustl.edu
+png-implement@ccrc.wustl.edu (subscription required; write to
+majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message).
You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will read mail
addressed to the png-implement list, however.
Please do not send general questions about PNG. Send them to
-the address in the specification (png-group@w3.org). At the same
-time, please do not send libpng questions to that address, send them to me
-or to png-implement@ccrc.wustl.edu. I'll
+the (png-list@ccrc.wustl.edu, subscription required, write to
+majordomo@ccrc.wustl.edu with "subscribe png-list" in your message).
+On the other hand,
+please do not send libpng questions to that address, send them to me
+or to the png-implement list. I'll
get them in the end anyway. If you have a question about something
in the PNG specification that is related to using libpng, send it
to me. Send me any questions that start with "I was using libpng,
@@ -122,10 +124,10 @@
to others, if necessary.
Please do not send suggestions on how to change PNG. We have
-been discussing PNG for three years now, and it is official and
+been discussing PNG for nine years now, and it is official and
finished. If you have suggestions for libpng, however, I'll
-gladly listen. Even if your suggestion is not used for version
-1.0, it may be used later.
+gladly listen. Even if your suggestion is not used immediately,
+it may be used later.
Files in this distribution:
@@ -173,9 +175,9 @@
visupng => Contains a MSVC workspace for VisualPng
projects => Contains project files and workspaces for building DLL
beos => Contains a Beos workspace for building libpng
- borland => Contains a Borland workspace for building libpng
+ c5builder => Contains a Borland workspace for building libpng
and zlib
- msvc => Contains a Microsoft Visual C++ (MSVC) workspace
+ visualc6 => Contains a Microsoft Visual C++ (MSVC) workspace
for building libpng and zlib
netware.txt => Contains instructions for downloading a set of
project files for building libpng and zlib on
@@ -187,10 +189,10 @@
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 libpng12.so.0.1.2.5)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates
- libpng12.so.0.1.2.5, uses assembler code
- tuned for Intel MMX platform)
+ (gcc, creates libpng10.so.0.1.0.17)
+ makefile.gcmmx => Linux/ELF makefile
+ (gcc, creates libpng10.so.0.1.0.17,
+ 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
ansi2knr (Requires ansi2knr.c from
@@ -202,20 +204,21 @@
makefile.freebsd => FreeBSD makefile
makefile.hpgcc => HPUX makefile using gcc
makefile.hpux => HPUX (10.20 and 11.00) makefile
+ makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64 bit
makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
makefile.intel => Intel C/C++ version 4.0 and later
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
- makefile.macosx => MACOS X Makefile
makefile.netbsd => NetBSD/cc makefile, PNGGCCRD, makes libpng.so.
- makefile.ne0bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng0.so
+ makefile.ne10bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng10.so
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.5)
+ makefile.sggcc => Silicon Graphics
+ (gcc, creates libpng10.so.0.1.0.17)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng12.so.0.1.2.5)
+ (gcc, creates libpng10.so.0.1.0.17)
makefile.so9 => Solaris 9 makefile
- (gcc, creates libpng12.so.0.1.2.5)
+ (gcc, creates libpng10.so.0.1.0.17)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
@@ -229,11 +232,10 @@
makefile.beos => BEOS makefile for X86
makefile.bor => Borland makefile (uses bcc)
makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
- makefile.bd32 => To make a png32bd.dll with Borland C++ 4.5
makefile.tc3 => Turbo C 3.0 makefile
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
- makefile.vcawin32 => makefile for Microsoft Visual C++ 5.0 and
+ makefile.vcawin32=> makefile for Microsoft Visual C++ 5.0 and
later (uses assembler code tuned for Intel MMX
platform)
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and
@@ -242,28 +244,17 @@
pngos2.def => OS/2 module definition file used by makefile.os2
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
makevms.com => VMS build script
- pngdef.pas => Defines for a png32bd.dll with Borland C++ 4.5
SCOPTIONS.ppc => Used with smakefile.ppc
- mangle => Directory containing scripts to build libpng12m.so:
- mangle.in => Function-decoration macros added to png.h by the
- makefiles.
- makefile.linux => Linux/ELF makefile
- (gcc, creates libpng12m.so.0.1.2.5)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates
- libpng12.so.0m.1.2.5, uses assembler code
- tuned for Intel MMX platform)
- makefile.sgi => Silicon Graphics (cc, creates libpng12m.so)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng12m.so)
Good luck, and happy coding.
--Glenn Randers-Pehrson
- Internet: randeg@alum.rpi.edu
+-Glenn Randers-Pehrson (current maintainer)
+ Internet: glennrp@users.sourceforge.net
--Andreas Eric Dilger
+-Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger@enel.ucalgary.ca
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
--Guy Eric Schalnat
+-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc)
Internet: gschal@infinet.com
diff --git a/Y2KINFO b/Y2KINFO
index 2d38f31..40338b0 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- August 15, 2004
+ September 12, 2004
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.0.16 are Y2K compliant. It is my belief that earlier
+ upward through 1.0.17 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 5925b6e..a505f46 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,13 @@
#!/bin/sh
echo "
There is no \"configure\" script in this distribution of
- libpng-1.0.16.
+ libpng-1.0.17.
Instead, please copy the appropriate makefile for your system from the
\"scripts\" directory. Read the INSTALL file for more details.
Update, July 2004: you can get a "configure" based distribution
from the libpng distribution sites. Download the file
- libpng-1.0.16-config.tar.gz
+ libpng-1.0.17-config.tar.gz
"
diff --git a/example.c b/example.c
index fb1f5ed..ba0ecc5 100644
--- a/example.c
+++ b/example.c
@@ -742,6 +742,9 @@
png_byte image[height][width*bytes_per_pixel];
png_bytep row_pointers[height];
+ if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
+ png_error (png_ptr, "Image is too tall to process in memory");
+
for (k = 0; k < height; k++)
row_pointers[k] = image + k*width*bytes_per_pixel;
diff --git a/libpng.3 b/libpng.3
index a27be76..b8d798c 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "August 15, 2004"
+.TH LIBPNG 3 "September 12, 2004"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.16
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.17
.SH SYNOPSIS
\fI\fB
@@ -402,6 +402,14 @@
\fI\fB
+\fB#if \fI!defined(PNG_1_0_X)
+
+\fBvoid png_set_add_alpha (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fP\fIfiller\fP\fB, int \fIflags\fP\fB);\fP
+
+\fI\fB#endif
+
+\fI\fB
+
\fBvoid png_set_background (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIbackground_color\fP\fB, int \fP\fIbackground_gamma_code\fP\fB, int \fP\fIneed_expand\fP\fB, double \fIbackground_gamma\fP\fB);\fP
\fI\fB
@@ -773,7 +781,7 @@
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
- libpng version 1.0.16 - August 15, 2004
+ libpng version 1.0.17 - September 12, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
@@ -810,19 +818,23 @@
of reducing the amount of time and effort it takes to support the PNG
file format in application programs.
-The PNG-1.2 specification is available at <http://www.libpng.org/pub/png>
-and at <ftp://ftp.uu.net/graphics/png/documents/>.
+The PNG specification (second edition), November 2003, is available as
+a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2003 (E)) at
+<http://www.w3.org/TR/2003/REC-PNG-20031110/
+The W3C and ISO documents have identical technical content.
+
+The PNG-1.2 specification is available at
+<http://www.libpng.org/pub/png/documents/>
The PNG-1.0 specification is available
-as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/> and as a
+as RFC 2083 <http://www.libpng.org/pub/png/documents/> and as a
W3C Recommendation <http://www.w3.org/TR/REC.png.html>. Some
additional chunks are described in the special-purpose public chunks
-documents at <ftp://ftp.uu.net/graphics/png/documents/>.
+documents at <http://www.libpng.org/pub/png/documents/>.
Other information
about PNG, and the latest version of libpng, can be found at the PNG home
-page, <http://www.libpng.org/pub/png/>
-and at <ftp://ftp.uu.net/graphics/png/>.
+page, <http://www.libpng.org/pub/png/>.
Most users will not have to modify the library significantly; advanced
users may want to modify it more. All attempts were made to make it as
@@ -855,7 +867,6 @@
by use of some of the MMX assembler code in pnggccrd.c, which is only
compiled when the user defines PNG_THREAD_UNSAFE_OK.
-
.SH II. Structures
There are two main structures that are important to libpng, png_struct
@@ -1073,28 +1084,6 @@
png_set_read_status_fn(png_ptr, read_row_callback);
-%-%.SS Width and height limits
-%-%
-%-%The PNG specification allows the width and height of an image to be as
-%-%large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
-%-%Since very few applications really need to process such large images,
-%-%we have imposed an arbitrary 1-million limit on rows and columns.
-%-%Larger images will be rejected immediately with a png_error() call. If
-%-%you wish to override this limit, you can use
-%-%
-%-% png_set_user_limits(png_ptr, width_max, height_max);
-%-%
-%-%to set your own limits, or use width_max = height_max = 0x7fffffffL
-%-%to allow all valid dimensions (libpng may reject some very large images
-%-%anyway because of potential buffer overflow conditions).
-%-%
-%-%You should put this statement after you create the PNG structure and
-%-%before calling png_read_info(), png_read_png(), or png_process_data().
-%-%If you need to retrieve the limits that are being applied, use
-%-%
-%-% width_max = png_get_user_width_max(png_ptr);
-%-% height_max = png_get_user_height_max(png_ptr);
-%-%
.SS Unknown-chunk handling
Now you get to set the way the library processes unknown chunks in the
@@ -1170,6 +1159,9 @@
(The final parameter of this call is not yet used. Someday it might point
to transformation parameters required by some future input transform.)
+You must use png_transforms and not call any png_set_transform() functions
+when you use png_read_png().
+
After you have called png_read_png(), you can retrieve the image data
with
@@ -1534,14 +1526,14 @@
For example, 4 bit/pixel paletted or grayscale data will be returned
2 pixels/byte with the leftmost pixel in the high-order bits of the
byte, unless png_set_packing() is called. 8-bit RGB data will be stored
-in RGB RGB RGB format unless png_set_filler() is called to insert filler
-bytes, either before or after each RGB triplet. 16-bit RGB data will
-be returned RRGGBB RRGGBB, with the most significant byte of the color
-value first, unless png_set_strip_16() is called to transform it to
-regular RGB RGB triplets, or png_set_filler() is called to insert
-filler bytes, either before or after each RRGGBB triplet. Similarly,
-8-bit or 16-bit grayscale data can be modified with png_set_filler()
-or png_set_strip_16().
+in RGB RGB RGB format unless png_set_filler()
+is called to insert filler bytes, either before or after each RGB triplet.
+16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant
+byte of the color value first, unless png_set_strip_16() is called to
+transform it to regular RGB RGB triplets, or png_set_filler|add alpha()
+is called to insert filler bytes, either before or after each RRGGBB
+triplet. Similarly, 8-bit or 16-bit grayscale data can be modified with
+png_set_filler() or png_set_strip_16().
The following code transforms grayscale images of less than 8 to 8 bits,
changes paletted images to RGB, and adds a full alpha channel if there is
@@ -1626,6 +1618,7 @@
opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which
will generate RGBA pixels.
+ color_type == PNG_COLOR_TYPE_GRAY)
If you are reading an image with an alpha channel, and you need the
data as ARGB instead of the normal PNG format RGBA:
@@ -2770,6 +2763,9 @@
(The final parameter of this call is not yet used. Someday it might point
to transformation parameters required by some future output transform.)
+You must use png_transforms and not call any png_set_transform() functions
+when you use png_write_png().
+
.SS The low-level write interface
If you are going the low-level route instead, you are now ready to
@@ -3462,125 +3458,6 @@
having level = 0 will be printed. There aren't any such statements in
this version of libpng, but if you insert some they will be printed.
-%-%.SH VI. Runtime optimization
-%-%
-%-%A new feature in libpng 1.2.0 is the ability to dynamically switch between
-%-%standard and optimized versions of some routines. Currently these are
-%-%limited to three computationally intensive tasks when reading PNG files:
-%-%decoding row filters, expanding interlacing, and combining interlaced or
-%-%transparent row data with previous row data. Currently the optimized
-%-%versions are available only for x86 (Intel, AMD, etc.) platforms with
-%-%MMX support, though this may change in future versions. (For example,
-%-%the non-MMX assembler optimizations for zlib might become similarly
-%-%runtime-selectable in future releases, in which case libpng could be
-%-%extended to support them. Alternatively, the compile-time choice of
-%-%floating-point versus integer routines for gamma correction might become
-%-%runtime-selectable.)
-%-%
-%-%Because such optimizations tend to be very platform- and compiler-dependent,
-%-%both in how they are written and in how they perform, the new runtime code
-%-%in libpng has been written to allow programs to query, enable, and disable
-%-%either specific optimizations or all such optimizations. For example, to
-%-%enable all possible optimizations (bearing in mind that some "optimizations"
-%-%may actually run more slowly in rare cases):
-%-%
-%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
-%-% png_uint_32 mask, flags;
-%-%
-%-% flags = png_get_asm_flags(png_ptr);
-%-% mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
-%-% png_set_asm_flags(png_ptr, flags | mask);
-%-% #endif
-%-%
-%-%To enable only optimizations relevant to reading PNGs, use PNG_SELECT_READ
-%-%by itself when calling png_get_asm_flagmask(); similarly for optimizing
-%-%only writing. To disable all optimizations:
-%-%
-%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
-%-% flags = png_get_asm_flags(png_ptr);
-%-% mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
-%-% png_set_asm_flags(png_ptr, flags & ~mask);
-%-% #endif
-%-%
-%-%To enable or disable only MMX-related features, use png_get_mmx_flagmask()
-%-%in place of png_get_asm_flagmask(). The mmx version takes one additional
-%-%parameter:
-%-%
-%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
-%-% int selection = PNG_SELECT_READ | PNG_SELECT_WRITE;
-%-% int compilerID;
-%-%
-%-% mask = png_get_mmx_flagmask(selection, &compilerID);
-%-% #endif
-%-%
-%-%On return, compilerID will indicate which version of the MMX assembler
-%-%optimizations was compiled. Currently two flavors exist: Microsoft
-%-%Visual C++ (compilerID == 1) and GNU C (a.k.a. gcc/gas, compilerID == 2).
-%-%On non-x86 platforms or on systems compiled without MMX optimizations, a
-%-%value of -1 is used.
-%-%
-%-%Note that both png_get_asm_flagmask() and png_get_mmx_flagmask() return
-%-%all valid, settable optimization bits for the version of the library that's
-%-%currently in use. In the case of shared (dynamically linked) libraries,
-%-%this may include optimizations that did not exist at the time the code was
-%-%written and compiled. It is also possible, of course, to enable only known,
-%-%specific optimizations; for example:
-%-%
-%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
-%-% flags = PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
-%-% | PNG_ASM_FLAG_MMX_READ_INTERLACE \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_UP \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ;
-%-% png_set_asm_flags(png_ptr, flags);
-%-% #endif
-%-%
-%-%This method would enable only the MMX read-optimizations available at the
-%-%time of libpng 1.2.0's release, regardless of whether a later version of
-%-%the DLL were actually being used. (Also note that these functions did not
-%-%exist in versions older than 1.2.0, so any attempt to run a dynamically
-%-%linked app on such an older version would fail.)
-%-%
-%-%To determine whether the processor supports MMX instructions at all, use
-%-%the png_mmx_support() function:
-%-%
-%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
-%-% mmxsupport = png_mmx_support();
-%-% #endif
-%-%
-%-%It returns -1 if MMX support is not compiled into libpng, 0 if MMX code
-%-%is compiled but MMX is not supported by the processor, or 1 if MMX support
-%-%is fully available. Note that png_mmx_support(), png_get_mmx_flagmask(),
-%-%and png_get_asm_flagmask() all may be called without allocating and ini-
-%-%tializing any PNG structures (for example, as part of a usage screen or
-%-%"about" box).
-%-%
-%-%The following code can be used to prevent an application from using the
-%-%thread_unsafe features, even if libpng was built with PNG_THREAD_UNSAFE_OK
-%-%defined:
-%-%
-%-%#if defined(PNG_USE_PNGGCCRD) && defined(PNG_ASSEMBLER_CODE_SUPPORTED) \
-%-% && defined(PNG_THREAD_UNSAFE_OK)
-%-% /* Disable thread-unsafe features of pnggccrd */
-%-% if (png_access_version() >= 10200)
-%-% {
-%-% png_uint_32 mmx_disable_mask = 0;
-%-% png_uint_32 asm_flags;
-%-%
-%-% mmx_disable_mask |= ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
-%-% | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
-%-% asm_flags = png_get_asm_flags(png_ptr);
-%-% png_set_asm_flags(png_ptr, asm_flags & ~mmx_disable_mask);
-%-% }
-%-%#endif
-%-%
-%-%For more extensive examples of runtime querying, enabling and disabling
-%-%of optimized features, see contrib/gregbook/readpng2.c in the libpng
-%-%source-code distribution.
-%-%
.SH VI. MNG support
The MNG specification (available at http://www.libpng.org/pub/mng) allows
@@ -3655,15 +3532,15 @@
png_uint_32 application_vn = PNG_LIBPNG_VER;
-.SH VII. Y2K Compliance in libpng
+.SH VIII. Y2K Compliance in libpng
-August 15, 2004
+September 12, 2004
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.0.16 are Y2K compliant. It is my belief that earlier
+upward through 1.0.17 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
@@ -3806,6 +3683,11 @@
1.2.6rc1-5 13 10206 12.so.0.1.2.6rc1-5
1.0.16 10 10016 10.so.0.1.0.16
1.2.6 13 10206 12.so.0.1.2.6
+ 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
+ 1.0.17rc1 10 10017 12.so.0.1.0.17rc1
+ 1.2.7rc1 13 10207 12.so.0.1.2.7rc1
+ 1.0.17 10 10017 12.so.0.1.0.17
+ 1.2.7 13 10207 12.so.0.1.2.7
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@@ -3822,7 +3704,7 @@
.LP
.IR libpng :
.IP
-ftp://ftp.uu.net/graphics/png
+http://libpng.sourceforge.net (follow the [DOWNLOAD] link)
http://www.libpng.org/pub/png
.LP
@@ -3832,8 +3714,6 @@
.I libpng
or at
.br
-ftp://ftp.uu.net/pub/archiving/zip/zlib
-.br
ftp://ftp.info-zip.org/pub/infozip/zlib
.LP
@@ -3863,13 +3743,14 @@
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.0.16 - August 15, 2004:
+Libpng version 1.0.17 - September 12, 2004:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp@users.sourceforge.net).
Supported by the PNG development group
.br
-(png-implement@ccrc.wustl.edu).
+png-implement@ccrc.wustl.edu (subscription required; write to
+majordomo@ccrc.wustl.edu with "subscribe png-implement" in the message).
.SH COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
@@ -3880,7 +3761,7 @@
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng version 1.2.6, August 15, 2004, is
+libpng version 1.2.6, September 12, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -3979,7 +3860,7 @@
Glenn Randers-Pehrson
glennrp@users.sourceforge.net
-August 15, 2004
+September 12, 2004
.\" end of man page
diff --git a/libpng.txt b/libpng.txt
index d1d3742..6029929 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.16 - August 15, 2004
+ libpng version 1.0.17 - September 12, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
@@ -37,19 +37,23 @@
of reducing the amount of time and effort it takes to support the PNG
file format in application programs.
-The PNG-1.2 specification is available at <http://www.libpng.org/pub/png>
-and at <ftp://ftp.uu.net/graphics/png/documents/>.
+The PNG specification (second edition), November 2003, is available as
+a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2003 (E)) at
+<http://www.w3.org/TR/2003/REC-PNG-20031110/
+The W3C and ISO documents have identical technical content.
+
+The PNG-1.2 specification is available at
+<http://www.libpng.org/pub/png/documents/>
The PNG-1.0 specification is available
-as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/> and as a
+as RFC 2083 <http://www.libpng.org/pub/png/documents/> and as a
W3C Recommendation <http://www.w3.org/TR/REC.png.html>. Some
additional chunks are described in the special-purpose public chunks
-documents at <ftp://ftp.uu.net/graphics/png/documents/>.
+documents at <http://www.libpng.org/pub/png/documents/>.
Other information
about PNG, and the latest version of libpng, can be found at the PNG home
-page, <http://www.libpng.org/pub/png/>
-and at <ftp://ftp.uu.net/graphics/png/>.
+page, <http://www.libpng.org/pub/png/>.
Most users will not have to modify the library significantly; advanced
users may want to modify it more. All attempts were made to make it as
@@ -82,7 +86,6 @@
by use of some of the MMX assembler code in pnggccrd.c, which is only
compiled when the user defines PNG_THREAD_UNSAFE_OK.
-
II. Structures
There are two main structures that are important to libpng, png_struct
@@ -375,6 +378,9 @@
(The final parameter of this call is not yet used. Someday it might point
to transformation parameters required by some future input transform.)
+You must use png_transforms and not call any png_set_transform() functions
+when you use png_read_png().
+
After you have called png_read_png(), you can retrieve the image data
with
@@ -739,14 +745,14 @@
For example, 4 bit/pixel paletted or grayscale data will be returned
2 pixels/byte with the leftmost pixel in the high-order bits of the
byte, unless png_set_packing() is called. 8-bit RGB data will be stored
-in RGB RGB RGB format unless png_set_filler() is called to insert filler
-bytes, either before or after each RGB triplet. 16-bit RGB data will
-be returned RRGGBB RRGGBB, with the most significant byte of the color
-value first, unless png_set_strip_16() is called to transform it to
-regular RGB RGB triplets, or png_set_filler() is called to insert
-filler bytes, either before or after each RRGGBB triplet. Similarly,
-8-bit or 16-bit grayscale data can be modified with png_set_filler()
-or png_set_strip_16().
+in RGB RGB RGB format unless png_set_filler()
+is called to insert filler bytes, either before or after each RGB triplet.
+16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant
+byte of the color value first, unless png_set_strip_16() is called to
+transform it to regular RGB RGB triplets, or png_set_filler|add alpha()
+is called to insert filler bytes, either before or after each RRGGBB
+triplet. Similarly, 8-bit or 16-bit grayscale data can be modified with
+png_set_filler() or png_set_strip_16().
The following code transforms grayscale images of less than 8 to 8 bits,
changes paletted images to RGB, and adds a full alpha channel if there is
@@ -831,6 +837,7 @@
opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which
will generate RGBA pixels.
+ color_type == PNG_COLOR_TYPE_GRAY)
If you are reading an image with an alpha channel, and you need the
data as ARGB instead of the normal PNG format RGBA:
@@ -1975,6 +1982,9 @@
(The final parameter of this call is not yet used. Someday it might point
to transformation parameters required by some future output transform.)
+You must use png_transforms and not call any png_set_transform() functions
+when you use png_write_png().
+
The low-level write interface
If you are going the low-level route instead, you are now ready to
@@ -2741,15 +2751,15 @@
png_uint_32 application_vn = PNG_LIBPNG_VER;
-VII. Y2K Compliance in libpng
+VIII. Y2K Compliance in libpng
-August 15, 2004
+September 12, 2004
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.0.16 are Y2K compliant. It is my belief that earlier
+upward through 1.0.17 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 6ca45c5..f0eaad4 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "August 15, 2004"
+.TH LIBPNGPF 3 "September 12, 2004"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.16
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.17
(private functions)
.SH SYNOPSIS
\fB\fB#include <png.h>\fP\fP
diff --git a/png.5 b/png.5
index e9e9bc7..1cc5ef4 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "August 15, 2004"
+.TH PNG 5 "September 12, 2004"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
@@ -20,12 +20,14 @@
.SH "SEE ALSO"
.IR libpng(3), zlib(3), deflate(5), and zlib(5)
.LP
+PNG specification (second edition), November 2003:
+.IP
+.br
+ <http://www.w3.org/TR/2003/REC-PNG-20031110/
PNG 1.2 specification, July 1999:
.IP
.br
http://www.libpng.org/pub/png
-.br
-or ftp://ftp.uu.net/graphics/png/documents
.LP
PNG 1.0 specification, October 1996:
.IP
@@ -41,15 +43,27 @@
.SH AUTHORS
This man page: Glenn Randers-Pehrson
.LP
+Portable Network Graphics (PNG) Specification (Second Edition)
+Information technology - Computer graphics and image processing -
+Portable Network Graphics (PNG): Functional specification.
+ISO/IEC 15948:2003 (E) (November 10, 2003): David Duce and others.
+.LP
Portable Network Graphics (PNG) Specification Version 1.2 (July 8, 1999):
-Glenn Randers-Pehrson and others (png-list@ccrc.wustl.edu).
+Glenn Randers-Pehrson and others (png-list).
.LP
Portable Network Graphics (PNG) Specification Version 1.0 (October 1, 1996):
-Thomas Boutell and others (png-list@ccrc.wustl.edu).
+Thomas Boutell and others (png-list).
.LP
.SH COPYRIGHT NOTICE
+.LP
+This man page is Copyright (c) 1998-2004 Glenn Randers-Pehrson. See png.h
+for conditions of use and distribution.
+.LP
+The PNG Specification (Second Edition) is
+Copyright (c) 2003 W3C. (MIT, ERCIM, Keio), All Rights Reserved.
+.LP
The PNG-1.2 specification is copyright (c) 1999 Glenn Randers-Pehrson.
See the specification for conditions of use and distribution.
.LP
diff --git a/png.c b/png.c
index 1404181..3a9cae3 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -13,7 +13,7 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_16 Your_png_h_is_not_version_1_0_16;
+typedef version_1_0_17 Your_png_h_is_not_version_1_0_17;
/* Version information for C files. This had better match the version
* string defined in png.h. */
@@ -678,7 +678,7 @@
png_get_copyright(png_structp png_ptr)
{
if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */
- return ((png_charp) "\n libpng version 1.0.16 - August 15, 2004\n\
+ return ((png_charp) "\n libpng version 1.0.17 - September 12, 2004\n\
Copyright (c) 1998-2004 Glenn Randers-Pehrson\n\
Copyright (c) 1996-1997 Andreas Dilger\n\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
diff --git a/png.h b/png.h
index 648aa7e..322aef6 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* Copyright (c) 1998-2004 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.)
@@ -8,7 +8,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.0.16 - August 15, 2004: Glenn
+ * libpng versions 0.97, January 1998, through 1.0.17 - September 12, 2004: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -101,6 +101,11 @@
* 1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4
* 1.0.16 10 10016 10.so.0.1.0.16
* 1.2.6 13 10206 12.so.0.1.2.6
+ * 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
+ * 1.0.17rc1 10 10017 12.so.0.1.0.17rc1
+ * 1.2.7rc1 13 10207 12.so.0.1.2.7rc1
+ * 1.0.17 10 10017 12.so.0.1.0.17
+ * 1.2.7 13 10207 12.so.0.1.2.7
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -120,8 +125,8 @@
* in binary compatibility (e.g., when a new feature is added).
*
* See libpng.txt or libpng.3 for more information. The PNG specification
- * is available as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/>
- * and as a W3C Recommendation <http://www.w3.org/TR/REC.png.html>
+ * is available as a W3C Recommendation and as an ISO Specification,
+ * <http://www.w3.org/TR/2003/REC-PNG-20031110/
*/
/*
@@ -130,17 +135,17 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
- * libpng version 1.2.6, August 15, 2004, is
- * Copyright (c) 2004 Glenn Randers-Pehrson, and is
+ * libpng versions 1.2.6, August 15, 2004, through 1.0.17, September 12, 2004, are
+ * Copyright (c) 2004 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
- * with the following individual added to the list of Contributing Authors
+ * with the following individual added to the list of Contributing Authors:
*
* Cosmin Truta
*
- * libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
* Copyright (c) 2000-2002 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
+ * with the following individuals added to the list of Contributing Authors:
*
* Simon-Pierre Cadieux
* Eric S. Raymond
@@ -156,8 +161,8 @@
* the user.
*
* libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
- * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
- * Distributed according to the same disclaimer and license as libpng-0.96,
+ * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
+ * distributed according to the same disclaimer and license as libpng-0.96,
* with the following individuals added to the list of Contributing Authors:
*
* Tom Lane
@@ -242,13 +247,13 @@
* Y2K compliance in libpng:
* =========================
*
- * August 15, 2004
+ * September 12, 2004
*
* 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.0.16 are Y2K compliant. It is my belief that earlier
+ * upward through 1.0.17 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
@@ -304,9 +309,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.16"
+#define PNG_LIBPNG_VER_STRING "1.0.17"
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.0.16 - August 15, 2004 (header)\n"
+ " libpng version 1.0.17 - September 12, 2004 (header)\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM %DLLNUM%
@@ -314,7 +319,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 0
-#define PNG_LIBPNG_VER_RELEASE 16
+#define PNG_LIBPNG_VER_RELEASE 17
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
@@ -333,7 +338,7 @@
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
-#define PNG_LIBPNG_VER 10016 /* 1.0.16 */
+#define PNG_LIBPNG_VER 10017 /* 1.0.17 */
#ifndef PNG_VERSION_INFO_ONLY
@@ -1310,7 +1315,7 @@
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef png_structp version_1_0_16;
+typedef png_structp version_1_0_17;
typedef png_struct FAR * FAR * png_structpp;
@@ -1482,12 +1487,17 @@
#endif
#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
-/* Add a filler byte to 24-bit RGB images. */
+/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */
extern PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr,
png_uint_32 filler, int flags));
/* The values of the PNG_FILLER_ defines should NOT be changed */
#define PNG_FILLER_BEFORE 0
#define PNG_FILLER_AFTER 1
+/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */
+#if !defined(PNG_1_0_X)
+extern PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr,
+ png_uint_32 filler, int flags));
+#endif
#endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */
#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED)
@@ -2571,6 +2581,7 @@
#define PNG_RGB_TO_GRAY_ERR 0x200000L
#define PNG_RGB_TO_GRAY_WARN 0x400000L
#define PNG_RGB_TO_GRAY 0x600000L /* two bits, RGB_TO_GRAY_ERR|WARN */
+#define PNG_ADD_ALPHA 0x1000000L /* Added to libpng-1.2.7 */
/* flags for png_create_struct */
#define PNG_STRUCT_PNG 0x0001
diff --git a/pngasmrd.h b/pngasmrd.h
deleted file mode 100644
index 335a682..0000000
--- a/pngasmrd.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* pngasmrd.h - assembler version of utilities to read a PNG file
- *
- * libpng 1.0.16 - August 15, 2004
- * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 2002-2004 Glenn Randers-Pehrson
- *
- */
-
-/* This file is obsolete in libpng-1.0.9 and later; its contents now appear
- * at the end of pngconf.h.
- */
diff --git a/pngconf.h b/pngconf.h
index c81b87c..33154f3 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -17,9 +17,7 @@
#ifndef PNGCONF_H
#define PNGCONF_H
-#ifdef PNG_USER_CONFIG
-#include "pngusr.h"
-#endif
+#define PNG_1_0_X
/* This is the size of the compression buffer, and thus the size of
* an IDAT chunk. Make this whatever size you feel is best for your
@@ -589,13 +587,6 @@
# endif
#endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
- defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
-# ifndef PNG_NO_USER_TRANSFORM_PTR
-# define PNG_USER_TRANSFORM_PTR_SUPPORTED
-# endif
-#endif
-
#define PNG_WRITE_INTERLACING_SUPPORTED /* not required for PNG-compliant
encoders, but can cause trouble
if left undefined */
@@ -605,12 +596,6 @@
# define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#endif
-#ifndef PNG_1_0_X
-#ifndef PNG_NO_ERROR_NUMBERS
-#define PNG_ERROR_NUMBERS_SUPPORTED
-#endif
-#endif /* PNG_1_0_X */
-
#ifndef PNG_NO_WRITE_FLUSH
# define PNG_WRITE_FLUSH_SUPPORTED
#endif
@@ -622,6 +607,19 @@
#endif /* PNG_WRITE_SUPPORTED */
+#ifndef PNG_1_0_X
+# ifndef PNG_NO_ERROR_NUMBERS
+# define PNG_ERROR_NUMBERS_SUPPORTED
+# endif
+#endif /* PNG_1_0_X */
+
+#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
+ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
+# ifndef PNG_NO_USER_TRANSFORM_PTR
+# define PNG_USER_TRANSFORM_PTR_SUPPORTED
+# endif
+#endif
+
#ifndef PNG_NO_STDIO
# define PNG_TIME_RFC1123_SUPPORTED
#endif
diff --git a/pngerror.c b/pngerror.c
index da7453a..2e2a378 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 2edf06a..4cfe070 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.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
diff --git a/pngget.c b/pngget.c
index db937f8..33dd04e 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 1be5157..ba50105 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngnow.png b/pngnow.png
index 174b5fa..82793eb 100644
--- a/pngnow.png
+++ b/pngnow.png
Binary files differ
diff --git a/pngpread.c b/pngpread.c
index 923df63..627da75 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 123bfce..69337bd 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -803,7 +803,7 @@
* 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.16
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.17
*/
void PNGAPI
@@ -853,7 +853,7 @@
* 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.16
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.17
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 7669ac2..b689410 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 7894e39..d6c483f 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1135,8 +1135,10 @@
(info_ptr->color_type == PNG_COLOR_TYPE_GRAY)))
{
info_ptr->channels++;
-#if 0 /* if adding a true alpha channel not just filler */
- info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
+ /* if adding a true alpha channel not just filler */
+#if !defined(PNG_1_0_X)
+ if (png_ptr->transformations & PNG_ADD_ALPHA)
+ info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
#endif
}
#endif
@@ -1927,7 +1929,6 @@
row_info->rowbytes = row_width * 4;
}
}
- row_info->color_type |= PNG_COLOR_MASK_ALPHA;
} /* COLOR_TYPE == GRAY */
else if (row_info->color_type == PNG_COLOR_TYPE_RGB)
{
@@ -2012,7 +2013,6 @@
row_info->rowbytes = row_width * 8;
}
}
- row_info->color_type |= PNG_COLOR_MASK_ALPHA;
} /* COLOR_TYPE == RGB */
}
#endif
diff --git a/pngrutil.c b/pngrutil.c
index 158f17a..f22cab6 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,6 +1,6 @@
/* pngrutil.c - utilities to read a PNG file
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngset.c b/pngset.c
index 5927edb..b571cdd 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index ab08605..b705d49 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1551,4 +1551,4 @@
}
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_16 your_png_h_is_not_version_1_0_16;
+typedef version_1_0_17 your_png_h_is_not_version_1_0_17;
diff --git a/pngtest.png b/pngtest.png
index ebea081..f3a6df4 100644
--- a/pngtest.png
+++ b/pngtest.png
Binary files differ
diff --git a/pngtrans.c b/pngtrans.c
index 7c5ba4f..1c6e876 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.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -100,7 +100,7 @@
else
png_ptr->flags &= ~PNG_FLAG_FILLER_AFTER;
- /* This should probably go in the "do_filler" routine.
+ /* This should probably go in the "do_read_filler" routine.
* I attempted to do that in libpng-1.0.1a but that caused problems
* so I restored it in libpng-1.0.2a
*/
@@ -118,6 +118,18 @@
png_ptr->usr_channels = 2;
}
}
+
+#if !defined(PNG_1_0_X)
+/* Added to libpng-1.2.7 */
+void PNGAPI
+png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int filler_loc)
+{
+ png_debug(1, "in png_set_add_alpha\n");
+ png_set_filler(png_ptr, filler, filler_loc);
+ png_ptr->transformations |= PNG_ADD_ALPHA;
+}
+#endif
+
#endif
#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \
@@ -375,16 +387,13 @@
if (row != NULL && row_info != NULL)
#endif
{
-/*
- if (row_info->color_type == PNG_COLOR_TYPE_RGB ||
- row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-*/
png_bytep sp=row;
png_bytep dp=row;
png_uint_32 row_width=row_info->width;
png_uint_32 i;
- if (row_info->channels == 4)
+ if (row_info->color_type == PNG_COLOR_TYPE_RGB &&
+ row_info->channels == 4)
{
if (row_info->bit_depth == 8)
{
@@ -461,13 +470,9 @@
row_info->rowbytes = row_width * 6;
}
row_info->channels = 3;
- row_info->color_type &= ~PNG_COLOR_MASK_ALPHA;
}
-/*
- else if (row_info->color_type == PNG_COLOR_TYPE_GRAY ||
- row_info->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-*/
- else if (row_info->channels == 2)
+ else if (row_info->color_type == PNG_COLOR_TYPE_GRAY &&
+ row_info->channels == 2)
{
if (row_info->bit_depth == 8)
{
@@ -519,7 +524,6 @@
row_info->rowbytes = row_width * 2;
}
row_info->channels = 1;
- row_info->color_type &= ~PNG_COLOR_MASK_ALPHA;
}
}
}
diff --git a/pngvcrd.c b/pngvcrd.c
index 4818667..d709f1d 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
diff --git a/pngwio.c b/pngwio.c
index 77daa88..cbb6aae 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index 5cbd151..1e00dcf 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
- * libpng 1.0.16 - August 15, 2004
+ * libpng 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwtran.c b/pngwtran.c
index a7031e8..b20a0be 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index 00dbb01..edf972e 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
- * libpng version 1.0.16 - August 15, 2004
+ * libpng version 1.0.17 - September 12, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -617,8 +617,8 @@
png_ptr->height < 16384 && png_ptr->width < 16384)
{
png_uint_32 uncompressed_idat_size = png_ptr->height *
- (PNG_ROWBYTES(png_ptr->channels*png_ptr->bit_depth,
- png_ptr->channels * png_ptr->bit_depth + 15) >> 3);
+ ((png_ptr->width *
+ png_ptr->channels * png_ptr->bit_depth + 15) >> 3);
unsigned int z_cinfo = z_cmf >> 4;
unsigned int half_z_window_size = 1 << (z_cinfo + 7);
while (uncompressed_idat_size <= half_z_window_size &&
@@ -1556,6 +1556,7 @@
#endif
png_size_t total_len;
char wbuf[32], hbuf[32];
+ png_byte bunit = unit;
png_debug(1, "in png_write_sCAL\n");
@@ -1576,7 +1577,7 @@
png_debug1(3, "sCAL total length = %d\n", (int)total_len);
png_write_chunk_start(png_ptr, (png_bytep)png_sCAL, (png_uint_32)total_len);
- png_write_chunk_data(png_ptr, (png_bytep)&unit, 1);
+ png_write_chunk_data(png_ptr, (png_bytep)&bunit, 1);
png_write_chunk_data(png_ptr, (png_bytep)wbuf, png_strlen(wbuf)+1);
png_write_chunk_data(png_ptr, (png_bytep)hbuf, png_strlen(hbuf));
@@ -1593,6 +1594,7 @@
#endif
png_size_t total_len;
char wbuf[32], hbuf[32];
+ png_byte bunit = unit;
png_debug(1, "in png_write_sCAL_s\n");
@@ -1602,7 +1604,7 @@
png_debug1(3, "sCAL total length = %d\n", total_len);
png_write_chunk_start(png_ptr, (png_bytep)png_sCAL, (png_uint_32)total_len);
- png_write_chunk_data(png_ptr, (png_bytep)&unit, 1);
+ png_write_chunk_data(png_ptr, (png_bytep)&bunit, 1);
png_write_chunk_data(png_ptr, (png_bytep)wbuf, png_strlen(wbuf)+1);
png_write_chunk_data(png_ptr, (png_bytep)hbuf, png_strlen(hbuf));
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index eb1e678..afca9a9 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
# Modeled after libxml-config.
-version=1.0.16
+version=1.0.17
prefix=""
libdir=""
libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index e7705f9..f28ad66 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -6,6 +6,6 @@
Name: libpng10
Description: Loads and saves PNG files
-Version: 1.0.16
+Version: 1.0.17
Libs: -L${libdir} -lpng10 -lz -lm
Cflags: -I${includedir}/libpng10
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index fbcc6cc..2b5e930 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -33,7 +33,7 @@
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
@@ -183,7 +183,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) $(SUN_CC_FLAGS) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -o pngtestd -L$(DL) -R$(DL) `$(BINPATH)/libpng10-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index bc24eb3..2ce8a80 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -33,7 +33,7 @@
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
@@ -184,7 +184,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) $(SUN_CC_FLAGS) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -o pngtestd -L$(DL) -R$(DL) `$(BINPATH)/libpng10-config --ldflags` \
+ $(SUN_LD_FLAGS) -L$(ZLIBLIB) -R$(ZLIBLIB)
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index bda1c13..f1f32c0 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -18,7 +18,7 @@
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 9799a34..e49d1e5 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -12,7 +12,7 @@
ZLIBINC=/usr/local/include
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
ALIGN=
@@ -165,7 +165,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) $(CFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -W1,-rpath $(ZLIBLIB):$(DL) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 7c43dc9..1646d35 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -79,7 +79,7 @@
LIBNAME = libpng10
PNGMAJ = 0
CYGDLL = 12
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll
@@ -176,7 +176,7 @@
ar rc $@ $(OBJS)
$(RANLIB) $@
-$(SHAREDDEF): projects/msvc/png32ms.def
+$(SHAREDDEF): scripts/png32ms.def
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
sed -e 's/\([^;]*\);/;/' > $@
@@ -260,7 +260,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) $(CFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 6ab05b4..1ae6d03 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -23,7 +23,7 @@
RANLIB=ranlib
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -167,7 +167,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index ff88f0f..8f736d7 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -32,7 +32,7 @@
ZLIBINC=../zlib
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -148,7 +148,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -w1 -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 3a1ad03..0a1ad6c 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc
@@ -212,7 +212,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -W1, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) -I$(ZLIBINC) \
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
new file mode 100644
index 0000000..5dc6e4c
--- /dev/null
+++ b/scripts/makefile.hp64
@@ -0,0 +1,216 @@
+# makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
+# Copyright (C) 1999-2002 Glenn Randers-Pehrson
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42
+# contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
+# For conditions of distribution and use, see copyright notice in png.h
+
+# Where the zlib library and include files are located
+ZLIBLIB=/opt/zlib/lib
+ZLIBINC=/opt/zlib/include
+
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do. After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+# CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+# LDSHARED=ld -b
+# SHAREDLIB=libz.sl
+
+CC=cc
+CFLAGS=-I$(ZLIBINC) -O -Ae -Wl,+vnocompatwarnings +DD64 \
+-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +Z -DHAVE_UNISTD_H -DUSE_MMAP
+# Caution: be sure you have built zlib with the same CFLAGS.
+CCFLAGS=-I$(ZLIBINC) -O -Ae -Wl,+vnocompatwarnings +DD64 \
+-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +Z -DHAVE_UNISTD_H -DUSE_MMAP
+
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
+RANLIB=ranlib
+
+PNGMAJ = 0
+PNGMIN = 1.0.17
+PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME = libpng10
+
+# where make install puts libpng.a, libpng10.sl, and png.h
+prefix=/opt/libpng
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
+
+# override DESTDIR= on the make install command line to easily support
+# installing into a temporary location. Example:
+#
+# make install DESTDIR=/tmp/build/libpng
+#
+# If you're going to install into a temporary location
+# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
+# you execute make install.
+DESTDIR=
+
+DB=$(DESTDIR)$(BINPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
+DM=$(DESTDIR)$(MANPATH)
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+.c.pic.o:
+ $(CC) -c $(CFLAGS) +z -o $@ $*.c
+
+all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
+
+libpng.a: $(OBJS)
+ ar rc $@ $(OBJS)
+ $(RANLIB) $@
+
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
+ echo L_opts=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng10 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
+ ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
+
+$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
+ ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
+
+$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
+ $(LD) -b +s \
+ +h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
+
+libpng.sl.3.$(PNGMIN): $(OBJSDLL)
+ $(LD) -b +s \
+ +h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
+
+pngtest: pngtest.o libpng.a
+ $(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+ ./pngtest
+
+install-headers: png.h pngconf.h
+ -@if [ ! -d $(DI) ]; then mkdir $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
+ cp png.h pngconf.h $(DI)/$(LIBNAME)
+ chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
+ -@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
+ -@/bin/rm -f $(DI)/libpng
+ (cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
+ cp libpng.a $(DL)/$(LIBNAME).a
+ chmod 644 $(DL)/$(LIBNAME).a
+ -@/bin/rm -f $(DL)/libpng.a
+ (cd $(DL); ln -sf $(LIBNAME).a libpng.a)
+
+install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
+ libpng.sl.3.$(PNGMIN)
+ -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
+ -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
+ -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ)
+ -@/bin/rm -f $(DL)/libpng.sl
+ -@/bin/rm -f $(DL)/libpng.sl.3
+ -@/bin/rm -f $(DL)/libpng.sl.3.$(PNGMIN)*
+ cp $(LIBNAME).sl.$(PNGVER) $(DL)
+ cp libpng.sl.3.$(PNGMIN) $(DL)
+ chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
+ chmod 755 $(DL)/libpng.sl.3.$(PNGMIN)
+ (cd $(DL); \
+ ln -sf libpng.sl.3.$(PNGMIN) libpng.sl.3; \
+ ln -sf libpng.sl.3 libpng.sl; \
+ ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
+ ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
+ -@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
+ -@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
+ -@/bin/rm -f $(DL)/pkgconfig/libpng.pc
+ cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
+ chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
+ (cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
+
+install-man: libpng.3 libpngpf.3 png.5
+ -@if [ ! -d $(DM) ]; then mkdir $(DM); fi
+ -@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
+ -@/bin/rm -f $(DM)/man3/libpng.3
+ -@/bin/rm -f $(DM)/man3/libpngpf.3
+ cp libpng.3 $(DM)/man3
+ cp libpngpf.3 $(DM)/man3
+ -@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi
+ -@/bin/rm -f $(DM)/man5/png.5
+ cp png.5 $(DM)/man5
+
+install-config: libpng-config
+ -@if [ ! -d $(DB) ]; then mkdir $(DB); fi
+ -@/bin/rm -f $(DB)/libpng-config
+ -@/bin/rm -f $(DB)/$(LIBNAME)-config
+ cp libpng-config $(DB)/$(LIBNAME)-config
+ chmod 755 $(DB)/$(LIBNAME)-config
+ (cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
+# If you installed in $(DESTDIR), test-installed won't work until you
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) $(CCFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) $(CCFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtesti pngtest.png
+
+clean:
+ /bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+ libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
+ libpng.sl.3.$(PNGMIN) \
+ libpng.pc
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h
+pngerror.o: png.h pngconf.h
+pngrio.o: png.h pngconf.h
+pngwio.o: png.h pngconf.h
+pngmem.o: png.h pngconf.h
+pngset.o: png.h pngconf.h
+pngget.o: png.h pngconf.h
+pngread.o: png.h pngconf.h
+pngrtran.o: png.h pngconf.h
+pngrutil.o: png.h pngconf.h
+pngtest.o: png.h pngconf.h
+pngtrans.o: png.h pngconf.h
+pngwrite.o: png.h pngconf.h
+pngwtran.o: png.h pngconf.h
+pngwutil.o: png.h pngconf.h
+pngpread.o: png.h pngconf.h
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 7c496ef..21ea870 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -41,7 +41,7 @@
#RANLIB=echo
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -176,7 +176,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -W1,-rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index e4daba7..e0a53d4 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -24,7 +24,7 @@
RANLIB=ranlib
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -162,7 +162,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) $(CCFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 5e60ac8..e689e71 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc
@@ -184,7 +184,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) -W1, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) -I$(ZLIBINC) \
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 782f939..9a17f02 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
LIB= png12
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.0.16
+SHLIB_MINOR= 1.0.17
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 86c3568..0bc126c 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
LIB= png
SHLIB_MAJOR= 3
-SHLIB_MINOR= 1.0.16
+SHLIB_MINOR= 1.0.17
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.openbsd b/scripts/makefile.openbsd
index a357e7a..c08e66c 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.0.16
+SHLIB_MINOR= 1.0.17
LIB= png
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 9548585..61ace9f 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -24,7 +24,7 @@
RANLIB=echo
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -162,7 +162,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) $(CFLAGS) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index ce4444f..e6f5fb5 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -18,7 +18,7 @@
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc
@@ -169,14 +169,26 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):$(DL)\
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
echo
echo Testing installed dynamic shared library.
$(CC) -I$(ZLIBINC) \
`$(BINPATH)/libpng10-config --cflags` pngtest.c \
- -L$(ZLIBLIB) -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --libdir` \
+ -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --libdir` \
-o pngtesti `$(BINPATH)/libpng10-config --ldflags`
./pngtesti pngtest.png
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 2b3df66..dc3460b 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -5,7 +5,7 @@
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
# Where make install puts libpng.a, libpng10.so, and libpng10/png.h
@@ -175,14 +175,26 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -L$(DL) -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):$(DL) \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags`
+ ./pngtestd pngtest.png
test-installed:
echo
echo Testing installed dynamic shared library.
$(CC) -I$(ZLIBINC) \
`$(BINPATH)/libpng10-config --cflags` pngtest.c \
- -L$(ZLIBLIB) -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --libdir` \
+ -L$(ZLIBLIB) \
+ -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --libdir` \
-o pngtesti `$(BINPATH)/libpng10-config --ldflags`
./pngtesti pngtest.png
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 80c803b..d35bb05 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -34,7 +34,7 @@
RANLIB=echo
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -182,7 +182,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags` \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 91fbe9e..01ac64f 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -30,7 +30,7 @@
RANLIB=echo
PNGMAJ = 0
-PNGMIN = 1.0.16
+PNGMIN = 1.0.17
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
@@ -179,7 +179,17 @@
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
-# move the library to its final location.
+# move the library to its final location. Use test-dd to test it
+# before then.
+
+test-dd:
+ echo
+ echo Testing installed dynamic shared library in $(DL).
+ $(CC) -I$(DI) -I$(ZLIBINC) \
+ `$(BINPATH)/libpng10-config --cflags` pngtest.c \
+ -o pngtestd `$(BINPATH)/libpng10-config --ldflags` \
+ -L$(DL) -L$(ZLIBLIB) -R$(ZLIBLIB) -R$(DL)
+ ./pngtestd pngtest.png
test-installed:
echo
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 6c806f5..0046450 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
-; Version 1.0.16
+; Version 1.0.17
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
@@ -184,32 +184,6 @@
png_convert_to_rfc1123
png_set_invalid
-; Added at version 1.2.0:
- png_mmx_support
- png_permit_empty_plte
- png_permit_mng_features
- png_get_mmx_flagmask
- png_get_asm_flagmask
- png_get_asm_flags
- png_get_mmx_bitdepth_threshold
- png_get_mmx_rowbytes_threshold
- png_set_asm_flags
- png_init_mmx_flags
-
-; Added at version 1.2.2:
- png_handle_as_unknown
-
-; Added at version 1.2.2 and deleted from 1.2.3:
-; png_zalloc
-; png_zfree
-
-; Added at version 1.2.4
- png_malloc_warn
-
-; Added at version 1.2.6
- png_set_user_limits
- png_get_user_height_max
- png_get_user_width_max
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_libpng_ver
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 60843dc..7420653 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -6,7 +6,7 @@
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
-;Version 1.0.16
+;Version 1.0.17
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
@@ -191,35 +191,3 @@
png_write_init_3 @176
png_info_init_3 @177
png_destroy_struct @178
-; Added at version 1.2.0
-; For use with PNG_USER_MEM_SUPPORTED
- png_destroy_struct_2 @179
- png_create_read_struct_2 @180
- png_create_write_struct_2 @181
- png_malloc_default @182
- png_free_default @183
-; MNG features
- png_permit_mng_features @184
-; MMX support
- png_mmx_support @185
- png_get_mmx_flagmask @186
- png_get_asm_flagmask @187
- png_get_asm_flags @188
- png_get_mmx_bitdepth_threshold @189
- png_get_mmx_rowbytes_threshold @190
- png_set_asm_flags @191
- png_init_mmx_flags @192
-; Strip error numbers
- png_set_strip_error_numbers @193
-; Added at version 1.2.2
- png_handle_as_unknown @194
-; Added at version 1.2.2 and deleted from 1.2.3
-; png_zalloc @195
-; png_zfree @196
-; Added at version 1.2.4
- png_malloc_warn @195
-; Added at version 1.2.6
- png_malloc_warn @195
- png_get_user_height_max @196
- png_get_user_width_max @197
- png_set_user_limits @198