| TODO - list of things to do for libpng: |
| Better C++ wrapper/full C++ implementation? |
| Fix problem with C++ and EXTERN "C". |
| Remove setjmp/longjmp usage in favor of returning error codes. |
| Add "grayscale->palette" transformation and "palette->grayscale" detection. |
| Multi-lingual error and warning message support. |
| Complete sRGB transformation (presently it simply uses gamma=0.45455). |
| Man pages for function calls. |
| (counting huffman bits/precompression? filter inertia? filter costs?). |
| Text conversion between different code pages (Latin-1 -> Mac and DOS). |
| Avoid building gamma tables whenever possible. |
| Use greater precision when changing to linear gamma for compositing against |
| background and doing rgb-to-gray transformation. |
| Investigate pre-incremented loop counters and other loop constructions. |
| Add interpolated method of handling interlacing. |
| Provide for conditional compilation of 16-bit support (except for the |
| initial stripping down to 8-bits when reading a 16-bit PNG datastream). |
| Switch to the simpler zlib (zlib/libpng) license if legally possible. |
| Extend pngvalid.c to test the progressive reader, and to validate more |
| of the libpng transformations. |