89 lines
4.4 KiB
Plaintext
89 lines
4.4 KiB
Plaintext
Libpng 1.6.24 - August 4, 2016
|
|
|
|
This is a public release of libpng, intended for use in production codes.
|
|
|
|
Files available for download:
|
|
|
|
Source files with LF line endings (for Unix/Linux) and with a
|
|
"configure" script
|
|
|
|
libpng-1.6.24.tar.xz (LZMA-compressed, recommended)
|
|
libpng-1.6.24.tar.gz
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lpng1624.7z (LZMA-compressed, recommended)
|
|
lpng1624.zip
|
|
|
|
Other information:
|
|
|
|
libpng-1.6.24-README.txt
|
|
libpng-1.6.24-LICENSE.txt
|
|
libpng-1.6.24-*.asc (armored detached GPG signatures)
|
|
|
|
Changes since the last public release (1.6.23):
|
|
Avoid potential overflow of the PNG_IMAGE_SIZE macro. This macro
|
|
is not used within libpng, but is used in some of the examples.
|
|
Correct filter heuristic overflow handling. This was broken when the
|
|
write filter code was moved out-of-line; if there is a single filter and
|
|
the heuristic sum overflows the calculation of the filtered line is not
|
|
completed. In versions prior to 1.6 the code was duplicated in-line
|
|
and the check not performed, so the filter operation completed; however,
|
|
in the multi-filter case where the sum is performed the 'none' filter would
|
|
be selected if all the sums overflowed, even if it wasn't in the filter
|
|
list. The fix to the first problem is simply to provide PNG_SIZE_MAX as
|
|
the current lmins sum value; this means the sum can never exceed it and
|
|
overflows silently. A reasonable compiler that does choose to inline
|
|
the code will simply eliminate the sum check.
|
|
The fix to the second problem is to use high precision arithmetic (this is
|
|
implemented in 1.7), however a simple safe fix here is to chose the lowest
|
|
numbered filter in the list from png_set_filter (this only works if the
|
|
first problem is also fixed) (John Bowler).
|
|
Use a more efficient absolute value calculation on SSE2 (Matthieu Darbois).
|
|
Fixed the case where PNG_IMAGE_BUFFER_SIZE can overflow in the application
|
|
as a result of the application using an increased 'row_stride'; previously
|
|
png_image_finish_read only checked for overflow on the base calculation of
|
|
components. (I.e. it checked for overflow of a 32-bit number on the total
|
|
number of pixel components in the output format, not the possibly padded row
|
|
length and not the number of bytes, which for linear formats is twice the
|
|
number of components.)
|
|
MSVC does not like '-(unsigned)', so replaced it with 0U-(unsigned)
|
|
MSVC does not like (uInt) = -(unsigned) (i.e. as an initializer), unless
|
|
the conversion is explicitly invoked by a cast.
|
|
Put the SKIP definition in the correct place. It needs to come after the
|
|
png.h include (see all the other .c files in contrib/libtests) because it
|
|
depends on PNG_LIBPNG_VER.
|
|
Removed the three compile warning options from the individual project
|
|
files into the zlib.props globals. It increases the warning level from 4
|
|
to All and adds a list of the warnings that need to be turned off. This is
|
|
semi-documentary; the intent is to tell libpng users which warnings have
|
|
been examined and judged non-fixable at present. The warning about
|
|
structure padding is fixable, but it would be a signficant change (moving
|
|
structure members around).
|
|
Optimized absolute value calculation in filter selection, similar to
|
|
code in the PAETH decoder in pngrutil.c. Build with PNG_USE_ABS to
|
|
use this.
|
|
Added pngcp to the build together with a pngcp.dfa configuration test.
|
|
Added high resolution timing to pngcp.
|
|
Added "Common linking failures" section to INSTALL.
|
|
Relocated misplaced #endif in png.c sRGB profile checking.
|
|
Fixed two Coverity issues in pngcp.c.
|
|
Avoid filter-selection heuristic sum calculations in cases where only one
|
|
filter is a candidate for selection. This trades off code size (added
|
|
private png_setup_*_row_only() functions) for speed.
|
|
Fixed some indentation to comply with our coding style.
|
|
Added contrib/tools/reindent.
|
|
Eliminated unnecessary tests of boolean png_isaligned() vs 0.
|
|
Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
|
|
Conditionally compile png_decompress_chunk().
|
|
Conditionally compile ARM_NEON headers in pngpriv.h
|
|
Updated contrib/intel/intel_sse.patch
|
|
|
|
(subscription required; visit
|
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
|
to subscribe)
|
|
or to glennrp at users.sourceforge.net
|
|
|
|
Glenn R-P
|