This repository has been archived on 2023-11-11. You can view files and clone it, but cannot push or open issues or pull requests.
libpng/KNOWNBUG

97 lines
3.2 KiB
Plaintext
Raw Normal View History

1998-04-21 20:03:57 +00:00
2000-03-21 11:13:06 +00:00
Known bugs and suggested enhancements in libpng-1.0.6
1998-04-21 20:03:57 +00:00
2000-04-24 04:14:02 +00:00
1. April 23, 2000 -- BUG -- binary incompatibility
Libpng-1.0.6 introduced binary incompatibility for applications that
make direct access to the info_ptr and png_ptr, due to the insertion
of the free_me member ahead of some previously existing members.
STATUS: Fixed in libpng-1.0.6g
2. April 15, 2000 -- BUG -- pnggccrd.c
If PNG_NO_GLOBAL_ARRAYS is defined, pnggccrd.c will not compile.
STATUS: Fixed in libpng-1.0.6g
3. April 1, 2000 -- BUG
1998-04-21 20:03:57 +00:00
2000-04-02 03:10:05 +00:00
Under some circumstances old applications that make direct access to
the info_ptr->text and its members might free the same memory that
is also free'ed by libpng during the png_destroy_struct process.
2000-04-24 04:14:02 +00:00
Fixed in libpng-1.0.6-patch-c and libpng-1.0.6d. The PNG_FREE_TEXT flag
2000-04-02 03:10:05 +00:00
bit in info_ptr->free_me is now checked to make sure libpng is responsible
for freeing the memory.
2000-04-24 04:14:02 +00:00
4. April 1, 2000 -- BUG
2000-04-02 03:10:05 +00:00
The non-ISO-C "strdup()" function is used in png.c
STATUS: The function has been simplified and no longer uses strdup()
2000-04-24 04:14:02 +00:00
in libpng-1.0.6-patch-c and libpng-1.0.6d.
2000-04-02 03:10:05 +00:00
2000-04-24 04:14:02 +00:00
5. March 24, 2000 -- BUG
2000-04-02 03:10:05 +00:00
The png_set_rgb_to_gray_fixed() function is setting incorrect weighting
factors.
2000-04-24 04:14:02 +00:00
STATUS: Fixed in libpng-1.0.6-patch-b and libpng-1.0.6d.
2000-04-02 03:10:05 +00:00
2000-04-24 04:14:02 +00:00
6. March 22, 2000 -- BUG
2000-04-02 03:10:05 +00:00
There are some printf() and fprintf() statements active in pngwutil.c
when PNG_NO_STDIO and PNG_sCAL_SUPPORTED are both defined.
2000-04-24 04:14:02 +00:00
STATUS: Fixed in libpng-1.0.6-patch-a and libpng-1.0.6d. The strcpy()
2000-04-02 03:10:05 +00:00
function is used instead.
2000-04-24 04:14:02 +00:00
7. March 22, 2000 -- BUG
2000-04-02 03:10:05 +00:00
The length of the iCCP chunk data is calculated incorrectly; because
it can contain zeroes, strlen() doesn't work.
2000-04-24 04:14:02 +00:00
STATUS: Fixed in libpng-1.0.6-patch-a and libpng-1.0.6d by adding a
2000-04-07 15:34:56 +00:00
data_length parameter to the png_decompress_chunk() function.
2000-04-02 03:10:05 +00:00
2000-04-24 04:14:02 +00:00
8. 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-12-10 15:43:02 +00:00
libpng-1.1.0. About 160 loops will be turned around
in libpng-1.1.Nn, for testing.
1998-12-29 17:47:59 +00:00
2000-04-24 04:14:02 +00:00
9. 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.
2000-04-24 04:14:02 +00:00
10. September 1999 -- ENHANCEMENT --
1999-09-17 17:27:26 +00:00
It should be possible to use libpng without floating-point aritmetic.
STATUS: Under investigation, implementation postponed until after
2000-04-07 15:34:56 +00:00
libpng-1.0.6. 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
2000-04-02 03:10:05 +00:00
Much of this was completed in libpng-1.0.6, but gamma compensation
2000-02-05 05:40:16 +00:00
is not yet done in fixed-point arithmetic.