| |
| Known bugs and suggested enhancements in libpng-1.0.5 |
| |
| |
| 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. October 1999 -- BUG |
| |
| pngvcrd.c is failing for interlaced PNGs that have empty passes. |
| |
| STATUS: A check for "width != 0" is required in several places. |
| Fixed in libpng-1.0.5a/1.0.6 |
| |
| 5. October 1999 -- BUG |
| |
| Under MSVC++6.0 with debugging enabled, heap corruption was detected |
| while destroying the png_write_ptr. |
| |
| STATUS: This was fixed by modifying png_set_text (in pngset.c) to |
| refrain from writing into the user's text_ptr. With this fix, however, |
| pngwrite.c, while destroying the info_ptr, was failing to free the |
| text->key strings. Fix for the latter problem is to duplicate code |
| from png.c. |
| |
| Fixed in libpng-1.0.5a/1.0.6 |