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