136 lines
6.9 KiB
Plaintext
136 lines
6.9 KiB
Plaintext
|
|
Libpng 1.6.0alpha01 - November 27, 2011
|
|
|
|
This is not intended to be a public release. It will be replaced
|
|
within a few weeks by a public version or by another test version.
|
|
|
|
Files available for download:
|
|
|
|
Source files with LF line endings (for Unix/Linux) and with a
|
|
"configure" script
|
|
|
|
1.6.0alpha01.tar.xz (LZMA-compressed, recommended)
|
|
1.6.0alpha01.tar.gz
|
|
1.6.0alpha01.tar.bz2
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lp160a01.7z (LZMA-compressed, recommended)
|
|
lp160a01.zip
|
|
|
|
Other information:
|
|
|
|
1.6.0alpha01-README.txt
|
|
1.6.0alpha01-LICENSE.txt
|
|
|
|
Changes since the last public release (1.5.6):
|
|
|
|
Version 1.5.7beta01 [November 4, 2011]
|
|
Added support for ARM processor (Mans Rullgard)
|
|
Fixed bug in pngvalid on early allocation failure; fixed type cast in
|
|
pngmem.c; pngvalid would attempt to call png_error() if the allocation
|
|
of a png_struct or png_info failed. This would probably have led to a
|
|
crash. The pngmem.c implementation of png_malloc() included a cast
|
|
to png_size_t which would fail on large allocations on 16-bit systems.
|
|
Fix for the preprocessor of the Intel C compiler. The preprocessor
|
|
splits adjacent @ signs with a space; this changes the concatentation
|
|
token from @-@-@ to PNG_JOIN; that should work with all compiler
|
|
preprocessors.
|
|
Paeth filter speed improvements from work by Siarhei Siamashka. This
|
|
changes the 'Paeth' reconstruction function to improve the GCC code
|
|
generation on x86. The changes are only part of the suggested ones;
|
|
just the changes that definitely improve speed and remain simple.
|
|
The changes also slightly increase the clarity of the code.
|
|
|
|
Version 1.5.7beta02 [November 11, 2011]
|
|
Check compression_type parameter in png_get_iCCP and remove spurious
|
|
casts. The compression_type parameter is always assigned to, so must
|
|
be non-NULL. The cast of the profile length potentially truncated the
|
|
value unnecessarily on a 16-bit int system, so the cast of the (byte)
|
|
compression type to (int) is specified by ANSI-C anyway.
|
|
Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left
|
|
the sBIT fields in the test pixel as 0, which resulted in a floating
|
|
point division by zero which was irrelevant but causes systems where
|
|
FP exceptions cause a crash. Added code to pngvalid to turn on FP
|
|
exceptions if the appropriate glibc support is there to ensure this is
|
|
tested in the future.
|
|
Updated scripts/pnglibconf.mak and scripts/makefile.std to handle the
|
|
new PNG_JOIN macro.
|
|
Added versioning to pnglibconf.h comments.
|
|
Simplified read/write API initial version; basic read/write tested on
|
|
a variety of images, limited documentation (in the header file.)
|
|
Installed more accurate linear to sRGB conversion tables. The slightly
|
|
modified tables reduce the number of 16-bit values that
|
|
convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used
|
|
to generate the tables is now in a contrib/sRGBtables sub-directory.
|
|
|
|
Version 1.5.7beta03 [November 17, 2011]
|
|
Removed PNG_CONST from the sRGB table declarations in pngpriv.h and png.c
|
|
Added run-time detection of NEON support.
|
|
Added contrib/libtests; includes simplified API test and timing test and
|
|
a color conversion utility for rapid checking of failed 'pngstest' results.
|
|
Multiple transform bug fixes plus a work-round for double gamma correction.
|
|
libpng does not support more than one transform that requires linear data
|
|
at once - if this is tried typically the results is double gamma
|
|
correction. Since the simplified APIs can need rgb to gray combined with
|
|
a compose operation it is necessary to do one of these outside the main
|
|
libpng transform code. This check-in also contains fixes to various bugs
|
|
in the simplified APIs themselves and to some bugs in compose and rgb to
|
|
gray (on palette) itself.
|
|
Fixes for C++ compilation using g++ When libpng source is compiled
|
|
using g++. The compiler imposes C++ rules on the C source; thus it
|
|
is desireable to make the source work with either C or C++ rules
|
|
without throwing away useful error information. This change adds
|
|
png_voidcast to allow C semantic (void*) cases or the corresponding
|
|
C++ static_cast operation, as appropriate.
|
|
Added --noexecstack to assembler file compilation. GCC does not set
|
|
this on assembler compilation, even though it does on C compilation.
|
|
This creates security issues if assembler code is enabled; the
|
|
work-around is to set it by default in the flags for $(CCAS)
|
|
Work around compilers that don't support declaration of const data. Some
|
|
compilers fault 'extern const' data declarations (because the data is
|
|
not initialized); this turns on const-ness only for compilers where
|
|
this is known to work.
|
|
|
|
Version 1.5.7beta04 [November 17, 2011]
|
|
Since the gcc driver does not recognize the --noexecstack flag, we must
|
|
use the -Wa prefix to have it passed through to the assembler.
|
|
Also removed a duplicate setting of this flag.
|
|
Added files that were omitted from the libpng-1.5.7beta03 zip distribution.
|
|
|
|
Version 1.5.7beta05 [(PENDING RELEASE)]
|
|
Removed "zTXt" from warning in generic chunk decompression function.
|
|
Validate time settings passed to pngset() and png_convert_to_rfc1123()
|
|
(Frank Busse).
|
|
Allow row_stride==0 to indicate default stride in simplified API.
|
|
Added MINGW support to CMakeLists.txt
|
|
Reject invalid compression flag or method when reading the iTXt chunk.
|
|
|
|
Version 1.6.0alpha01 [November 27, 2011]
|
|
Added example programs for the new 'simplified' API.
|
|
Moved pngvalid.c into contrib/libtests
|
|
Rebuilt Makefile.in, configure, etc., with autoconf-2.68
|
|
Added ANSI-C (C90) headers and require them, and take advantage of the
|
|
change. Also fixed some of the projects/* and contrib/* files that needed
|
|
updates for libpng16 and the move of pngvalid.c.
|
|
With this change the required ANSI-C header files are assumed to exist: the
|
|
implementation must provide float.h, limits.h, stdarg.h and stddef.h and
|
|
libpng relies on limits.h and stddef.h existing and behaving as defined
|
|
(the other two required headers aren't used). Non-ANSI systems that don't
|
|
have stddef.h or limits.h will have to provide an appropriate fake
|
|
containing the relevant types and #defines.
|
|
The use of FAR/far has been eliminated and the definition of png_alloc_size_t
|
|
is now controlled by a flag so that 'small size_t' systems can select it
|
|
if necessary. Libpng 1.6 may not currently work on such systems -- it
|
|
seems likely that it will ask 'malloc' for more than 65535 bytes with any
|
|
image that has a sufficiently large row size (rather than simply failing
|
|
to read such images).
|
|
|
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
|
|
(subscription required; visit
|
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
|
to subscribe) or to glennrp at users.sourceforge.net
|
|
|
|
Glenn R-P
|