blob: 527da8cbc018ad72ca276b3e92f570e4ccfb1982 [file] [log] [blame]
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -05001
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -05002Known bugs and suggested enhancements in libpng-1.0.5
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -05003
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -05004
Glenn Randers-Pehrson345bc271998-06-14 14:43:31 -050051. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -05006
7 Loops need to be optimized everywhere
8
Glenn Randers-Pehrson345bc271998-06-14 14:43:31 -05009 Make them count down instead of up -- Kevin Bracey
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -060010
Glenn Randers-Pehrson345bc271998-06-14 14:43:31 -050011 Optimizing compilers don't need this, and making
12 the change would be error prone -- Tom Lane, Glenn R-P
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -050013
Glenn Randers-Pehrson345bc271998-06-14 14:43:31 -050014 Question whether i-- or --i is better.
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -050015
Glenn Randers-Pehrson345bc271998-06-14 14:43:31 -050016 STATUS: Under investigation, postponed until after
Glenn Randers-Pehrson166c5a31999-12-10 09:43:02 -060017 libpng-1.1.0. About 160 loops will be turned around
18 in libpng-1.1.Nn, for testing.
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -060019
Glenn Randers-Pehrson87544ac1999-01-13 22:06:39 -0600202. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -060021
Glenn Randers-Pehrsonbcfd15d1999-10-01 14:22:25 -050022 libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
Glenn Randers-Pehrson5c6aeb21998-12-29 11:47:59 -060023 merging with background, and then back to the image's gamma. The
24 bit_depth of the intermediate (gamma=1.0) representation is probably
25 not sufficient. In the typical gamma=1/2.2 situation, the linear
26 pixels need about 4 more bits than the gamma-encoded ones, to avoid
27 loss of precision. A similar situation exists with the rgb_to_gray
28 operation.
29
30 STATUS: under development.
31
Glenn Randers-Pehrson4393a9a1999-09-17 12:27:26 -0500323. September 1999 -- ENHANCEMENT --
33
34 It should be possible to use libpng without floating-point aritmetic.
35
36 STATUS: Under investigation, implementation postponed until after
Glenn Randers-Pehrsonbcfd15d1999-10-01 14:22:25 -050037 libpng-1.0.5. The application interface will change because replacements
Glenn Randers-Pehrson4393a9a1999-09-17 12:27:26 -050038 for the png_set_gAMA(), png_set_cHRM(), and corresponding png_get_()
39 functions will be needed.
Glenn Randers-Pehrson896239b1998-04-21 15:03:57 -050040
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060041 Much of this was completed in libpng-1.0.5h, but gamma compensation
42 is not yet done in fixed-point arithmetic.
43
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500444. October 1999 -- BUG
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050045
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -050046 pngvcrd.c is failing for interlaced PNGs that have empty passes.
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050047
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -050048 STATUS: A check for "width != 0" is required in several places.
Glenn Randers-Pehrson166c5a31999-12-10 09:43:02 -060049 Fixed in libpng-1.0.5a/1.1.0
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050050
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -0500515. October 1999 -- BUG
Glenn Randers-Pehrson860ab2b1999-10-14 07:43:10 -050052
Glenn Randers-Pehrson6d8f3b01999-10-23 08:39:18 -050053 Under MSVC++6.0 with debugging enabled, heap corruption was detected
54 while destroying the png_write_ptr.
55
56 STATUS: This was fixed by modifying png_set_text (in pngset.c) to
57 refrain from writing into the user's text_ptr. With this fix, however,
58 pngwrite.c, while destroying the info_ptr, was failing to free the
59 text->key strings. Fix for the latter problem is to duplicate code
60 from png.c.
61
Glenn Randers-Pehrson166c5a31999-12-10 09:43:02 -060062 Fixed in libpng-1.0.5a/1.1.0
63
646. December 1999 -- new BUG
65
66 The png_text structure was modified in libpng-1.0.5e in a manner that
67 is not backward compatible (the lang member was added, and the
68 translated_key member was added to libpng-1.0.5g)
69
Glenn Randers-Pehrson61c32d92000-02-04 23:40:16 -060070 STATUS: Fixed in libpng-1.0.5j/1.1.0
71
727. December 1999 -- BUG
73
74 The new pnggccrd.c has syntax errors when compiled with gcc.
75
76 STATUS: Under investigation.