1 /* 2 TODO - list of things to do for libpng: 3 4 Final bug fixes. 5 Better C++ wrapper/full C++ implementation? 6 Fix problem with C++ and EXTERN "C". 7 cHRM transformation. 8 Remove setjmp/longjmp usage in favor of returning error codes. As a start on 9 this, minimize the use of png_error(), replacing them with 10 png_warning(); return(0; or similar. 11 Palette creation. 12 Add "grayscale->palette" transformation and "palette->grayscale" detection. 13 Improved dithering. 14 Multi-lingual error and warning message support. 15 Complete sRGB transformation (presently it simply uses gamma=0.45455). 16 Man pages for function calls. 17 Better documentation. 18 Better filter selection 19 (counting huffman bits/precompression? filter inertia? filter costs?). 20 Histogram creation. 21 Text conversion between different code pages (Latin-1 -> Mac and DOS). 22 Avoid building gamma tables whenever possible. 23 Use greater precision when changing to linear gamma for compositing against 24 background and doing rgb-to-gray transformation. 25 Investigate pre-incremented loop counters and other loop constructions. 26 Add interpolated method of handling interlacing. 27 Switch to the simpler zlib (zlib/libpng) license if legally possible. 28 Extend pngvalid.c to validate more of the libpng transformations. 29 30 */ 31