mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Imported from libpng-1.0.2.tar
This commit is contained in:
195
KNOWNBUG
195
KNOWNBUG
@@ -1,196 +1,19 @@
|
||||
|
||||
Known bugs and suggested enhancements in libpng-1.0.1
|
||||
Known bugs and suggested enhancements in libpng-1.0.2
|
||||
|
||||
1. March 13, 1998 -- BUG -- pngtrans.c:
|
||||
|
||||
row_info->channels should be updated --
|
||||
row_info->color_type should be updated --
|
||||
|
||||
STATUS: I think this is all fixed in libpng-1.0.1a but needs
|
||||
to be tested.
|
||||
|
||||
2. March 14, 1998 -- ENHANCEMENT -- Glenn
|
||||
|
||||
We should add the G>GA, G>GX, G>AG, and G>XG transformations
|
||||
in png_do_read_filler()
|
||||
|
||||
STATUS: Implemented in libpng-1.0.1a
|
||||
|
||||
3. March 14, 1998 -- BUG? -- Greg Roelofs
|
||||
|
||||
pngrtran.c: if-test for channels/FILLER may be incorrect
|
||||
|
||||
STATUS: Under investigation. Appears to be working correctly
|
||||
in libpng-1.0.1c.
|
||||
|
||||
4. March 15, 1998 -- BUG -- Kevin Bracey
|
||||
|
||||
pngwtran.c:
|
||||
line 306: loop should count to row_info->width, not to
|
||||
row_info->width*row_info->channnels
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1a
|
||||
|
||||
5. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
|
||||
1. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
|
||||
|
||||
Loops need to be optimized everywhere
|
||||
|
||||
a. Make them count down instead of up -- Kevin Bracey
|
||||
Make them count down instead of up -- Kevin Bracey
|
||||
|
||||
Optimizing compilers don't need this, and making
|
||||
the change would be error prone -- Tom Lane, Glenn R-P
|
||||
Optimizing compilers don't need this, and making
|
||||
the change would be error prone -- Tom Lane, Glenn R-P
|
||||
|
||||
Question whether i-- or --i is better.
|
||||
Question whether i-- or --i is better.
|
||||
|
||||
STATUS: Under investigation. About 150 loops turned around
|
||||
in libpng-1.0.1d, for testing. Object files and executables
|
||||
are about 20k smaller in SGI and gcc-compiled codes.
|
||||
STATUS: Under investigation, postponed until after
|
||||
libpng-1.0.2. About 160 loops turned around
|
||||
in libpng-1.0.2a, for testing.
|
||||
|
||||
b. Remove products and structure members from loop tests -- Glenn R-P
|
||||
|
||||
Can be accomplished without messing with loop guts. This
|
||||
was shown to be effective on optimized SGI compiler:
|
||||
|
||||
replace
|
||||
png_uint_32 i;
|
||||
for(i=0; i < s->a*s->b; i++)
|
||||
with
|
||||
png_uint_32 i, istop;
|
||||
istop = s->a*s->b;
|
||||
for(i=0; i<istop; i++)
|
||||
|
||||
STATUS: Mostly done in libpng-1.0.1a, done for all important loops.
|
||||
More done in libpng-1.0.1b.
|
||||
|
||||
c. Replace abs() with intrinsic ternary operations in Paeth
|
||||
filtering -- Glenn R-P
|
||||
|
||||
STATUS: Done in libpng-1.0.1a
|
||||
(can be restored to original behavior with #define PNG_USE_ABS)
|
||||
|
||||
d. In pngwutil.c, make separate simple loops to use when filter
|
||||
heuristic sums aren't needed. -- Glenn R-P
|
||||
|
||||
STATUS: Done in libpng-1.0.1a
|
||||
|
||||
6. April 6, 1998 -- BUG -- bug in pngset.c (rowbytes too large) -- Bob Dellaca
|
||||
|
||||
pngset.c has a bug, introduced in version 0.99c, that sets rowbytes
|
||||
too large when writing an image with bit_depth < 8
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1a
|
||||
|
||||
7. April 10, 1998 -- BUG -- pngwutil weighted filtering bugs -- Glenn R-P
|
||||
|
||||
pngwutil.c has some bugs in the experimental weighted filter
|
||||
algorithm (PNG_FILTER_XXX should be PNG_FILTER_VALUE_XXX in
|
||||
several places)
|
||||
|
||||
STATUS: Andreas concurs. Fixed in libpng-1.0.1a
|
||||
|
||||
8. April 10, 1998 -- ENHANCEMENT -- run-time selection of malloc function
|
||||
-- Bob Dellaca
|
||||
|
||||
pngmem.c currently provides a compile-time option to replace
|
||||
png_malloc() and png_free(). It's been requested that these
|
||||
be made possible at run time, via calls to new png_set_malloc_fn()
|
||||
and png_set_free_fn() functions.
|
||||
|
||||
STATUS: Under consideration
|
||||
|
||||
9. April 11, 1998 -- BUG -- incorrect truncation of tRNS data in
|
||||
illegal PNG file where tRNS precedes PLTE -- Larry Reeve
|
||||
|
||||
There is a misplaced pngrutil code block that truncates tRNS if it has
|
||||
more than num_palette entries -- test was done before num_palette was
|
||||
defined. Although the PNG file is illegal, it shouldn't crash apps.
|
||||
There is a simple fix; just moving the test to the point after
|
||||
num_palette has been defined.
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1a
|
||||
|
||||
10. April 16, 1998 -- BUG -- incorrect operation of png_convert_to_rfc1123
|
||||
with 31st day of the month -- Steve Eddins
|
||||
|
||||
The "ptime->date % 31" is wrong, should be "ptime->date % 32".
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1a
|
||||
|
||||
11. April 21, 1998 -- ENHANCEMENT -- relocation of composite macros
|
||||
|
||||
png_composite() and png_composite_16() relocated to png.h
|
||||
|
||||
STATUS: Done in libpng-1.0.1b
|
||||
|
||||
12. April 22, 1998 -- ENHANCEMENT -- makefile.sco
|
||||
|
||||
Mike Hopkirk contributed a makefile for SCO osr5 and sco UW7
|
||||
|
||||
STATUS: Added to libpng-1.0.1b distribution
|
||||
|
||||
13: April 30, 1998 -- ENHANCEMENT -- warnings
|
||||
|
||||
When people define out some of the read transformations and then
|
||||
try to use them, the request is silently ignored. It was suggested
|
||||
that a warning be issued in such cases.
|
||||
|
||||
STATUS: Done in libpng-1.0.1b
|
||||
|
||||
14. May 2, 1998 -- BUG -- incorrect mask for filler bytes
|
||||
|
||||
In pngrtran.c, png_do_filler(), the masks for hi_filler and low_filler
|
||||
should be 0xff instead of 0xf
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1c
|
||||
|
||||
15. May 3, 1998 -- BUG -- buffer overflow in png_do_read_filler()
|
||||
|
||||
In pngrutil.c, max_pixel_depth needs to be set to 32 when using
|
||||
png_do_read_filler with palette images.
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1c (see also items 1 and 3 above).
|
||||
|
||||
16. May 3, 1998 -- BUG -- type definitions wrong on error functions -- Tom Lane
|
||||
|
||||
In png_create_xxx_struct(), the error functions should have typedef
|
||||
png_voidp instead of (void *). Needs to be corrected in the functions,
|
||||
the prototypes in png.h, the example.c file, and libpng.txt and libpng.3
|
||||
|
||||
|
||||
STATUS: Fixed in libpng-1.0.1c
|
||||
|
||||
17. May 10, 1998 -- DOCUMENTATION -- Greg
|
||||
|
||||
There are a number of incorrect usages of "which" and "it's" in the
|
||||
comments.
|
||||
|
||||
STATUS:
|
||||
|
||||
Fixed in libpng-1.0.1c
|
||||
|
||||
18. May 20, 1998 -- BUG -- illegal use of side effects -- Magnus Holmgren
|
||||
|
||||
In libpng-1.0.1b several illegal uses of side effects were
|
||||
introduced while tuning loops in pngrutil.c; also one in pngtrans.c.
|
||||
|
||||
STATUS:
|
||||
|
||||
Fixed in libpng-1.0.1d
|
||||
|
||||
19. May 20, 1998 -- ENHANCEMENT -- script for making DLL -- Bob Dellaca
|
||||
|
||||
Bob Dellaca contributed script for making PNG DLL on Borland C++ 4.5
|
||||
|
||||
STATUS:
|
||||
|
||||
Added to distribution in libpng-1.0.1d
|
||||
|
||||
20. May 26, 1998 -- BUG -- png_do_gamma is skipped -- Magnus Holmgren
|
||||
|
||||
When a background color is defined for a truecolor image, but no
|
||||
transparent color is defined, gamma correction is not done.
|
||||
The test in pngrtran should include " && !png_ptr->trans_values"
|
||||
|
||||
STATUS:
|
||||
|
||||
Fixed in libpng-1.0.1e
|
||||
|
||||
Reference in New Issue
Block a user