]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | Libpng 1.5.7 - December 15, 2011 | |
3 | ||
4 | This is a public release of libpng, intended for use in production codes. | |
5 | ||
6 | Files available for download: | |
7 | ||
8 | Source files with LF line endings (for Unix/Linux) and with a | |
9 | "configure" script | |
10 | ||
11 | libpng-1.5.7.tar.xz (LZMA-compressed, recommended) | |
12 | libpng-1.5.7.tar.gz | |
13 | libpng-1.5.7.tar.bz2 | |
14 | ||
15 | Source files with CRLF line endings (for Windows), without the | |
16 | "configure" script | |
17 | ||
18 | lpng157.7z (LZMA-compressed, recommended) | |
19 | lpng157.zip | |
20 | ||
21 | Other information: | |
22 | ||
23 | libpng-1.5.7-README.txt | |
24 | libpng-1.5.7-LICENSE.txt | |
25 | ||
26 | Changes since the last public release (1.5.6): | |
27 | Added support for ARM processor (Mans Rullgard) | |
28 | Fixed bug in pngvalid on early allocation failure; fixed type cast in | |
29 | pngmem.c; pngvalid would attempt to call png_error() if the allocation | |
30 | of a png_struct or png_info failed. This would probably have led to a | |
31 | crash. The pngmem.c implementation of png_malloc() included a cast | |
32 | to png_size_t which would fail on large allocations on 16-bit systems. | |
33 | Fix for the preprocessor of the Intel C compiler. The preprocessor | |
34 | splits adjacent @ signs with a space; this changes the concatentation | |
35 | token from @-@-@ to PNG_JOIN; that should work with all compiler | |
36 | preprocessors. | |
37 | Paeth filter speed improvements from work by Siarhei Siamashka. This | |
38 | changes the 'Paeth' reconstruction function to improve the GCC code | |
39 | generation on x86. The changes are only part of the suggested ones; | |
40 | just the changes that definitely improve speed and remain simple. | |
41 | The changes also slightly increase the clarity of the code. | |
42 | Check compression_type parameter in png_get_iCCP and remove spurious | |
43 | casts. The compression_type parameter is always assigned to, so must | |
44 | be non-NULL. The cast of the profile length potentially truncated the | |
45 | value unnecessarily on a 16-bit int system, so the cast of the (byte) | |
46 | compression type to (int) is specified by ANSI-C anyway. | |
47 | Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left | |
48 | the sBIT fields in the test pixel as 0, which resulted in a floating | |
49 | point division by zero which was irrelevant but causes systems where | |
50 | FP exceptions cause a crash. Added code to pngvalid to turn on FP | |
51 | exceptions if the appropriate glibc support is there to ensure this is | |
52 | tested in the future. | |
53 | Added versioning to pnglibconf.h comments. | |
54 | Installed more accurate linear to sRGB conversion tables. The slightly | |
55 | modified tables reduce the number of 16-bit values that | |
56 | convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used | |
57 | to generate the tables is now in a contrib/sRGBtables sub-directory. | |
58 | Added run-time detection of NEON support. | |
59 | Multiple transform bug fixes plus a work-round for double gamma correction. | |
60 | libpng does not support more than one transform that requires linear data | |
61 | at once - if this is tried typically the results is double gamma | |
62 | correction. Since the simplified APIs can need rgb to gray combined with | |
63 | a compose operation it is necessary to do one of these outside the main | |
64 | libpng transform code. This check-in also contains fixes to various bugs | |
65 | in compose and rgb to gray (on palette). | |
66 | Fixes for C++ compilation using g++ When libpng source is compiled | |
67 | using g++. The compiler imposes C++ rules on the C source; thus it | |
68 | is desireable to make the source work with either C or C++ rules | |
69 | without throwing away useful error information. This change adds | |
70 | png_voidcast to allow C semantic (void*) cases or the corresponding | |
71 | C++ static_cast operation, as appropriate. | |
72 | Added --noexecstack to assembler file compilation. GCC does not set | |
73 | this on assembler compilation, even though it does on C compilation. | |
74 | This creates security issues if assembler code is enabled; the | |
75 | work-around is to set it by default in the flags for $(CCAS) | |
76 | Removed "zTXt" from warning in generic chunk decompression function. | |
77 | Validate time settings passed to pngset() and png_convert_to_rfc1123() | |
78 | (Frank Busse). | |
79 | Added MINGW support to CMakeLists.txt | |
80 | Reject invalid compression flag or method when reading the iTXt chunk. | |
81 | Moved pngvalid.c into contrib/libtests | |
82 | Rebuilt Makefile.in, configure, etc., with autoconf-2.68 | |
83 | Replaced an "#if" with "#ifdef" in pngrtran.c | |
84 | Revised #if PNG_DO_BC block in png.c (use #ifdef and add #else) | |
85 | Revised pngconf.h to use " __declspec(restrict)" only when MSC_VER >= 1400, | |
86 | as in libpng-1.5.4. | |
87 | Put CRLF line endings in the owatcom project files. | |
88 | Updated CMakeLists.txt to account for the relocation of pngvalid.c | |
89 | Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings | |
90 | reported by earlier versions. | |
91 | ||
92 | Send comments/corrections/commendations to png-mng-implement at lists.sf.net | |
93 | (subscription required; visit | |
94 | https://lists.sourceforge.net/lists/listinfo/png-mng-implement | |
95 | to subscribe) | |
96 | or to glennrp at users.sourceforge.net | |
97 | ||
98 | Glenn R-P |