TODO - list of things to do for libpng:Final bug fixes.Improve API by hiding the png_struct and png_info structs.Finish work on the no-floating-point version (including gamma compensation)Better C++ wrapper/full C++ implementation?Fix problem with C++ and EXTERN "C".cHRM transformation.Improve setjmp/longjmp usage or remove it in favor of returning error codes.Add "grayscale->palette" transformation and "palette->grayscale" detection.Improved dithering.Multi-lingual error and warning message support.Complete sRGB transformation (presently it simply uses gamma=0.45455).Man pages for function calls.Better documentation.Better filter selection (counting huffman bits/precompression? filter inertia? filter costs?).Histogram creation.Text conversion between different code pages (Latin-1 -> Mac and DOS).Should we always malloc 2^bit_depth PLTE/tRNS/hIST entries for safety?Build gamma tables using fixed point (and do away with floating point entirely).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.