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.
 
   9 Add "grayscale->palette" transformation and "palette->grayscale" detection.
 
  11 Multi-lingual error and warning message support.
 
  12 Complete sRGB transformation (presently it simply uses gamma=0.45455).
 
  13 Man pages for function calls.
 
  15 Better filter selection
 
  16    (counting huffman bits/precompression?  filter inertia?  filter costs?).
 
  18 Text conversion between different code pages (Latin-1 -> Mac and DOS).
 
  19 Avoid building gamma tables whenever possible.
 
  20 Use greater precision when changing to linear gamma for compositing against
 
  21   background and doing rgb-to-gray transformation.
 
  22 Investigate pre-incremented loop counters and other loop constructions.
 
  23 Add interpolated method of handling interlacing.
 
  24 Switch to the simpler zlib (zlib/libpng) license if legally possible.
 
  25 Extend pngvalid.c to validate more of the libpng transformations.