libpng/KNOWNBUG

96 lines
3.2 KiB
Plaintext
Raw Normal View History

1998-04-21 16:03:57 -04:00
2000-06-23 22:38:16 -04:00
Known bugs and suggested enhancements in libpng-1.0.7
1998-04-21 16:03:57 -04:00
2000-07-08 14:19:41 -04:00
1. July 2, 2000 -- BUG -- pnggccrd.c
Some programs compiled with PNG_USE_PNGGCCRD crash in pnggccrd.c.
Also, pnggccrd.c will not compile under gcc-2.95-2.
STATUS: Under investigation. Experts on MMX assembler code are
invited to help with the debugging. Note that pngvcrd.c works fine.
2000-07-14 09:15:12 -04:00
Update: fixed in libpng-1.0.8beta1. It compiles under gcc-2.7.2.3
and seems to work; under gcc-2.7.2.1 it compiles but crashes in
execution. It is recommended that people use 2.95.2 or later.
The png_read_filter() function has still not been fully converted and
will not compile under gcc-2.95.2; it is currently ifdef'ed out.
2000-07-08 14:19:41 -04:00
2. July 3, 2000 -- BUG -- MEMORY LEAK
There is a memory leak in pngpread.c; it doesn't free "key".
STATUS: Fixed in libpng-1.0.8beta1, by adding.
png_free(png_ptr, text_ptr);
after lines 1221 and 1038 in pngpread.c
3. July 3, 2000 -- BUG -- PNG_EXPORT_VAR
The definition of PNG_EXPORT_VAR, in pngconf.h, should be
# define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type
STATUS: Fixed in libpng-1.0.8beta1.
4. July 3, 2000 -- BUG -- PNG_NO_STDIO
Several places in pngrutil.c and pngwutil.c, there are printf statements
inside PNG_NO_STDIO blocks (should be PNG_NO_CONSOLE_IO)
STATUS: Fixed in libpng-1.0.8beta1.
5. July 3, 2000 -- ENHANCEMENT -- WindowsCE support
Libpng-1.0.7 does not support WindowsCE.
STATUS: Libpng-1.0.8 and libpng-2.0.0 will support WindowsCE. A
2000-07-14 09:15:12 -04:00
new typedef, png_FILE_p, will be added which is normally FILE * but
2000-07-08 14:19:41 -04:00
will be HANDLE if libpng is being built for WindowsCE. Other patches
required for WindowsCE support have been provided and will be applied.
2000-07-14 09:15:12 -04:00
Finished in libpng-1.0.8beta3.
6. July 13, 2000 -- ENHANCEMENT -- Cygwin support
Libpng-1.0.7 does not support building DLLs under Cygwin
STATUS: Cygwin support has been added to libpng-1.0.8beta4.
2000-07-08 14:19:41 -04:00
2000-07-14 09:15:12 -04:00
7. 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-12-10 10:43:02 -05:00
libpng-1.1.0. About 160 loops will be turned around
2000-07-08 14:19:41 -04:00
in libpng-2.0.x betaxx, for testing.
1998-12-29 12:47:59 -05:00
2000-07-14 09:15:12 -04:00
8. 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.
2000-07-14 09:15:12 -04:00
9. September 1999 -- ENHANCEMENT --
1999-09-17 13:27:26 -04:00
It should be possible to use libpng without floating-point aritmetic.
STATUS: Under investigation, implementation postponed until after
2000-07-08 14:19:41 -04:00
libpng-1.0.7.
1998-06-06 16:31:35 -04:00
2000-04-01 22:10:05 -05:00
Much of this was completed in libpng-1.0.6, but gamma compensation
2000-02-05 00:40:16 -05:00
is not yet done in fixed-point arithmetic.