2 TODO - list of things to do for libpng:
5 Better C++ wrapper/full C++ implementation?
6 Fix problem with C++ and EXTERN "C".
8 Remove setjmp/longjmp usage in favor of returning error codes.
10 Add "grayscale->palette" transformation and "palette->grayscale" detection.
12 Multi-lingual error and warning message support.
13 Complete sRGB transformation (presently it simply uses gamma=0.45455).
14 Make profile checking optional via a png_set_something() call.
15 Man pages for function calls.
17 Better filter selection
18 (counting huffman bits/precompression? filter inertia? filter costs?).
20 Text conversion between different code pages (Latin-1 -> Mac and DOS).
21 Avoid building gamma tables whenever possible.
22 Use greater precision when changing to linear gamma for compositing against
23 background and doing rgb-to-gray transformation.
24 Investigate pre-incremented loop counters and other loop constructions.
25 Add interpolated method of handling interlacing.
26 Switch to the simpler zlib (zlib/libpng) license if legally possible.
27 Extend pngvalid.c to validate more of the libpng transformations.