Known bugs and suggested enhancements in libpng-1.0.2 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.2. About 160 loops will be turned around in libpng-1.0.Nn, for testing. 2. June 15, 1998 -- BUG -- Evan Light Under some conditions, 16-bit grayscale images aren't properly expanded to rgb, because png_read_start_row() returns too small a value of max_pixel_depth when png_set_filler() has also been called. STATUS: Fixed in libpng-1.0.2a 3. June 16, 1998 -- BUG -- Matt McConnell When reading interlaced images with a progressive reader, in some cases (interlaced images less than 3 pixels high) some passes are not skipped that should be. STATUS: Fixed in libpng-1.0.2a 4. July 3, 1998 -- ENHANCEMENT -- Glenn R-P Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions. STATUS: Done in libpng-1.0.2a, awaiting comment on resulting test images. 5. July 4, 1998 -- ENHANCEMENT -- Glenn R-P libpng-1.0.2 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. 6. August 20, 1998 -- BUG -- Kevin Bracey When using the filler transformation, the filler isn't written into the leftmost pixel of each row. Also, the filler operation isn't being done right when writing files. Some code that was removed from png_set_filler() in libpng 1.0.1a shouldn't have been removed. STATUS: Fixed in libpng-1.0.2a 7. August 23, 1998 -- BUG -- Duncan Simpson "static pngcharp tIME_string" should be changed to "static char tIME_string[30]" in pngtest.c Also -- December 30, 1998 -- there are some misplaced brackets in pngtest.c that cause pngtest to try to write a tIME chunk even when no tIME chunk was present in the source file. STATUS: Fixed in libpng-1.0.2a 8. August 24, 1998 -- BUG -- John Cromer Order of byte-swap and shift operations seems to be incorrect in png_do_write_transformations() STATUS: Under investigation. 9. September 11, 1998 -- ENHANCEMENT -- L. Peter Deutsch The PNG_NO_STDIO macro should be split into PNG_NO_STDIO and PNG_NO_CONSOLE_STDIO. STATUS: Done in libpng-1.0.2a