KNOWNBUG 2.3 KB
Newer Older
1

2
Known bugs and suggested enhancements in libpng-1.0.5
3 4


5
1. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
6 7 8

   Loops need to be optimized everywhere

9
   Make them count down instead of up -- Kevin Bracey
10

11 12
   Optimizing compilers don't need this, and making
   the change would be error prone -- Tom Lane, Glenn R-P
13

14
   Question whether i-- or --i is better.
15

16
   STATUS: Under investigation, postponed until after
17 18
   libpng-1.1.0.  About 160 loops will be turned around
   in libpng-1.1.Nn, for testing.
19

20
2. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
21

22
   libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
23 24 25 26 27 28 29 30 31
   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.

32 33 34 35 36
3. September 1999 -- ENHANCEMENT --

   It should be possible to use libpng without floating-point aritmetic.

   STATUS: Under investigation, implementation postponed until after
37
   libpng-1.0.5.  The application interface will change because replacements
38 39
   for the png_set_gAMA(), png_set_cHRM(), and corresponding png_get_()
   functions will be needed.
40

41
4. October 1999 -- BUG
42

43
   pngvcrd.c is failing for interlaced PNGs that have empty passes.
44

45
   STATUS: A check for "width != 0" is required in several places.
46
   Fixed in libpng-1.0.5a/1.1.0
47

48
5. October 1999 -- BUG
49

50 51 52 53 54 55 56 57 58
   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.

59 60 61 62 63 64 65 66 67
   Fixed in libpng-1.0.5a/1.1.0

6. December 1999 -- new BUG

   The png_text structure was modified in libpng-1.0.5e in a manner that
   is not backward compatible (the lang member was added, and the
   translated_key member was added to libpng-1.0.5g)

   STATUS: Will be fixed before the next public release.