libpng/KNOWNBUG

59 lines
2.2 KiB
Plaintext
Raw Normal View History

1998-04-21 16:03:57 -04:00
1999-09-17 13:27:26 -04:00
Known bugs and suggested enhancements in libpng-1.0.4
1998-04-21 16:03:57 -04:00
1998-06-14 15:43:31 -04:00
1. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
1998-04-21 16:03:57 -04:00
Loops need to be optimized everywhere
1998-06-14 15:43:31 -04:00
Make them count down instead of up -- Kevin Bracey
1998-12-29 12:47:59 -05:00
1998-06-14 15:43:31 -04:00
Optimizing compilers don't need this, and making
the change would be error prone -- Tom Lane, Glenn R-P
1998-06-06 16:31:35 -04:00
1998-06-14 15:43:31 -04:00
Question whether i-- or --i is better.
1998-06-06 16:31:35 -04:00
1998-06-14 15:43:31 -04:00
STATUS: Under investigation, postponed until after
1999-10-01 15:22:25 -04:00
libpng-1.0.5. About 160 loops will be turned around
1998-12-29 12:47:59 -05:00
in libpng-1.0.Nn, for testing.
1999-01-13 23:06:39 -05:00
2. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
1998-12-29 12:47:59 -05:00
1999-10-01 15:22:25 -04:00
libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
1998-12-29 12:47:59 -05: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 13:27:26 -04: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 15:22:25 -04:00
libpng-1.0.5. The application interface will change because replacements
1999-09-17 13:27:26 -04:00
for the png_set_gAMA(), png_set_cHRM(), and corresponding png_get_()
functions will be needed.
1998-06-06 16:31:35 -04:00
1999-10-14 08:43:10 -04:00
4. September 1999 -- BUG [FIXED] --
Portions of the new MMX code in pngvcrd.c were ifdef'd out because they
didn't work properly, but the bug appears to have been found and fixed.
As a result, all parts of the code are once again enabled. If you think
there's still a problem, you can recompile with one of the following two
macros defined and see if the problem goes away:
DISABLE_PNGVCRD_COMBINE
DISABLE_PNGVCRD_INTERLACE
The second one is in the function where the bug was; as far as we are
aware, there was never any bug in the other function. Please notify us
if you find any problems in libpng, regardless of whether the two macros
make any difference: png-implement@ccrc.wustl.edu
Again, we believe the MMX code in pngvcrd.c is 100% correct, but it has
not yet been tested extensively.