Known bugs and suggested enhancements in libpng-1.0.4 1. 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-1.0.5. About 160 loops will be turned around in libpng-1.0.Nn, for testing. 2. 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. 3. September 1999 -- ENHANCEMENT -- It should be possible to use libpng without floating-point aritmetic. STATUS: Under investigation, implementation postponed until after libpng-1.0.5. The application interface will change because replacements for the png_set_gAMA(), png_set_cHRM(), and corresponding png_get_() functions will be needed. 4. September 1999 -- BUG -- Portions of the new MMX code in pngvcrd.c are defined out because the did not work properly. When PNGVCRD_INTERLACE_BUG_IS_FIXED is defined, to enable the code, pngtest pngtest.png pngout.png results in a "Debug error! Damage before normal block # 57 at 0x007e19f0" on a Pentium II with MMX system. This seems to be caused by the heap being trashed before a free() in png_read_destroy(). When PNGVCRD_COMBINE_BUG_IS_FIXED is defined (what?)