Known bugs and suggested enhancements in libpng-1.0.8 0: November 3, 2000 -- BUG -- incorrect iCCP chunk is written The compression_type byte in the iCCP chunk written by libpng is usually incorrect. Status: Fixed in libpng-1.0.9beta1 1. October 12, 2000 -- BUG -- pngtest fails The three WRITEFILE calls in pngtest.c are incorrect. They must be changed to read WRITEFILE((png_FILE_p)png_ptr->io_ptr, data, length, check); WRITEFILE(io_ptr, near_data, length, check); WRITEFILE(io_ptr, buf, written, err); 2. August 28, 2000 -- BUG -- pnggccrd.c The interlacing() function has still not been fully converted and will not compile under gcc-2.95.2; it is currently ifdef'ed out. STATUS: Fixed in libpng-1.0.9. There were also bugs in pngvcrd.c which have been fixed. The replacement files are available at the PNG web site (http://www.libpng.org/pub/png). 3. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey Loops need to be optimized everywhere Make them count down instead of up -- Kevin Bracey Optimizing compilers don't need this, and making the change would be error prone -- Tom Lane, Glenn R-P Question whether i-- or --i is better. STATUS: Under investigation, postponed until after libpng-2.0.0. About 160 loops will be turned around in libpng-2.0.x betaxx, for testing. 4. July 4, 1998 -- ENHANCEMENT -- Glenn R-P libpng-1.0.5 and earlier transform colors to gamma=1.0 space for merging with background, and then back to the image's gamma. The bit_depth of the intermediate (gamma=1.0) representation is probably not sufficient. In the typical gamma=1/2.2 situation, the linear pixels need about 4 more bits than the gamma-encoded ones, to avoid loss of precision. A similar situation exists with the rgb_to_gray operation. STATUS: under development. 5. September 1999 -- ENHANCEMENT -- It should be possible to use libpng without floating-point arithmetic. STATUS: Under investigation, implementation postponed until after libpng-2.0.0. Much of this was completed in libpng-1.0.6, but gamma compensation is not yet done in fixed-point arithmetic.