1998-04-21 20:03:57 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
Known bugs and suggested enhancements in libpng-1.0.5
|
1998-04-21 20:03:57 +00:00
|
|
|
|
|
|
|
|
1998-06-14 19:43:31 +00:00
|
|
|
1. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
|
1998-04-21 20:03:57 +00:00
|
|
|
|
|
|
|
Loops need to be optimized everywhere
|
|
|
|
|
1998-06-14 19:43:31 +00:00
|
|
|
Make them count down instead of up -- Kevin Bracey
|
1998-12-29 17:47:59 +00:00
|
|
|
|
1998-06-14 19:43:31 +00:00
|
|
|
Optimizing compilers don't need this, and making
|
|
|
|
the change would be error prone -- Tom Lane, Glenn R-P
|
1998-06-06 20:31:35 +00:00
|
|
|
|
1998-06-14 19:43:31 +00:00
|
|
|
Question whether i-- or --i is better.
|
1998-06-06 20:31:35 +00:00
|
|
|
|
1998-06-14 19:43:31 +00:00
|
|
|
STATUS: Under investigation, postponed until after
|
1999-10-01 19:22:25 +00:00
|
|
|
libpng-1.0.5. About 160 loops will be turned around
|
1998-12-29 17:47:59 +00:00
|
|
|
in libpng-1.0.Nn, for testing.
|
|
|
|
|
1999-01-14 04:06:39 +00:00
|
|
|
2. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
|
1998-12-29 17:47:59 +00:00
|
|
|
|
1999-10-01 19:22:25 +00:00
|
|
|
libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
|
1998-12-29 17:47:59 +00:00
|
|
|
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.
|
|
|
|
|
1999-09-17 17:27:26 +00:00
|
|
|
3. September 1999 -- ENHANCEMENT --
|
|
|
|
|
|
|
|
It should be possible to use libpng without floating-point aritmetic.
|
|
|
|
|
|
|
|
STATUS: Under investigation, implementation postponed until after
|
1999-10-01 19:22:25 +00:00
|
|
|
libpng-1.0.5. The application interface will change because replacements
|
1999-09-17 17:27:26 +00:00
|
|
|
for the png_set_gAMA(), png_set_cHRM(), and corresponding png_get_()
|
|
|
|
functions will be needed.
|
1998-06-06 20:31:35 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
4. October 1999 -- BUG
|
1999-10-14 12:43:10 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
pngvcrd.c is failing for interlaced PNGs that have empty passes.
|
1999-10-14 12:43:10 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
STATUS: A check for "width != 0" is required in several places.
|
|
|
|
Fixed in libpng-1.0.5a/1.0.6
|
1999-10-14 12:43:10 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
5. October 1999 -- BUG
|
1999-10-14 12:43:10 +00:00
|
|
|
|
1999-10-23 13:39:18 +00:00
|
|
|
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
|