Adam M. Costello

[PNG]Portable Network Graphics

In January 1995, in response to the announcement that Unisys would begin enforcing its patent on the LZW compression algorithm used by the Graphics Interchange Format (GIF), a bunch of people on the net got together and designed a superior format, which came to be known as Portable Network Graphics (PNG).

Below are various documents and code I've written in connection with PNG.

cexcept
An exception-handling interface for C. It grew out of a discussion of libpng error handling, but is now independent of libpng.

Proposed extension of PNG Color Tutorial draft 1.0.0 (2000-Mar-07-Tue)
The PNG 1.2 spec is not very clear about how to use the cHRM chunk. This proposal would remedy that.

Proposed iTXt international text chunk draft 0.2.0 (1999-Jan-08-Fri)
This proposal was incorporated into the PNG 1.2 spec.

png-changes-10-11 revision 1 (1999-Jan-06)
This file shows all the substantive changes between the PNG 1.0 spec and the PNG 1.1 spec.

pcal.c version 0.2.2 (Sat 19 Dec 1998)
Example code for computing the mappings defined for the PNG pCAL chunk.

gamma-lookup.c version 0.1.4 (Sat 19 Dec 1998)
Example code for computing gamma correction lookup tables using integer arithmetic.

Proposed Revision of PNG Gamma Handling draft 1.2.8 (Tue 6 Oct 1998)
A set of edits to the PNG 1.0 spec to fix the gamma handling. This proposal was incorporated into the PNG 1.1 spec. Use diff to see what changed since earlier drafts of the proposal: This proposal superceded my older Thoughts on PNG Gamma Handling.

Proposed Incorporation of sPLT draft 1.0.1 (Wed 23 Sep 1998)
A set of edits to the PNG 1.0 spec to incorporate the sPLT chunk. This proposal was incorporated into the PNG 1.1 spec. Use diff to see what changed since earlier drafts of the proposal:

DOH draft 3 (Sun 19 Jan 1997)
Proposal for an animation format based on PNG.

IDS draft 3 (Sun 19 Jan 1997)
DOH's companion image delta format.

interlace.tar.gz (21 Feb 1995)
A bunch of rough C code for testing interlace schemes, organized just well enough to allow the simple addition of new schemes. It is not well documented. One program, viewlace, displays a PPM file in an 8-bit PseudoColor X window. Another, interlace, outputs a PPM file with reordered pixels. A few other miscellaneous programs are included.


[AMC]  Prepared by Adam M. Costello
 Last modified: 2002-Aug-15-Thu 05:34:49 GMT
[Any Browser]