| |
| Known bugs and suggested enhancements in libpng-1.0.7 |
| |
| 1. July 2, 2000 -- BUG -- pnggccrd.c |
| |
| Some programs compiled with PNG_USE_PNGGCCRD crash in pnggccrd.c. |
| Also, pnggccrd.c will not compile under gcc-2.95-2. |
| |
| STATUS: Under investigation. Experts on MMX assembler code are |
| invited to help with the debugging. Note that pngvcrd.c works fine. |
| |
| 2. July 3, 2000 -- BUG -- MEMORY LEAK |
| |
| There is a memory leak in pngpread.c; it doesn't free "key". |
| |
| STATUS: Fixed in libpng-1.0.8beta1, by adding. |
| |
| png_free(png_ptr, text_ptr); |
| |
| after lines 1221 and 1038 in pngpread.c |
| |
| 3. July 3, 2000 -- BUG -- PNG_EXPORT_VAR |
| |
| The definition of PNG_EXPORT_VAR, in pngconf.h, should be |
| # define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type |
| |
| STATUS: Fixed in libpng-1.0.8beta1. |
| |
| 4. July 3, 2000 -- BUG -- PNG_NO_STDIO |
| |
| Several places in pngrutil.c and pngwutil.c, there are printf statements |
| inside PNG_NO_STDIO blocks (should be PNG_NO_CONSOLE_IO) |
| |
| STATUS: Fixed in libpng-1.0.8beta1. |
| |
| 5. July 3, 2000 -- ENHANCEMENT -- WindowsCE support |
| |
| Libpng-1.0.7 does not support WindowsCE. |
| |
| STATUS: Libpng-1.0.8 and libpng-2.0.0 will support WindowsCE. A |
| new typedef, png_file_p, will be added which is normally FILE * but |
| will be HANDLE if libpng is being built for WindowsCE. Other patches |
| required for WindowsCE support have been provided and will be applied. |
| |
| 6. 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.1.0. About 160 loops will be turned around |
| in libpng-2.0.x betaxx, for testing. |
| |
| 7. 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. |
| |
| 8. September 1999 -- ENHANCEMENT -- |
| |
| It should be possible to use libpng without floating-point aritmetic. |
| |
| STATUS: Under investigation, implementation postponed until after |
| libpng-1.0.7. |
| |
| Much of this was completed in libpng-1.0.6, but gamma compensation |
| is not yet done in fixed-point arithmetic. |
| |