88 lines
4.2 KiB
Plaintext
88 lines
4.2 KiB
Plaintext
Libpng 1.5.6 - November 3, 2011
|
|
|
|
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.5.6.tar.xz (LZMA-compressed, recommended)
|
|
libpng-1.5.6.tar.gz
|
|
libpng-1.5.6.tar.bz2
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lpng156.7z (LZMA-compressed, recommended)
|
|
lpng156.zip
|
|
|
|
Other information:
|
|
|
|
libpng-1.5.6-README.txt
|
|
libpng-1.5.6-LICENSE.txt
|
|
|
|
Changes since the last public release (1.5.5):
|
|
|
|
Fixed some 64-bit type conversion warnings in pngrtran.c
|
|
Moved row_info from png_struct to a local variable.
|
|
The various interlace mask arrays have been made into arrays of
|
|
bytes and made PNG_CONST and static (previously some arrays were
|
|
marked PNG_CONST and some weren't).
|
|
Additional checks have been added to the transform code to validate the
|
|
pixel depths after the transforms on both read and write.
|
|
Removed some redundant code from pngwrite.c, in png_desgtroy_write_struct().
|
|
Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4].
|
|
This removes the need to allocate temporary strings for chunk names on
|
|
the stack in the read/write code. Unknown chunk handling still uses the
|
|
string form because this is exposed in the API.
|
|
Added a note in the manual the png_read_update_info() must be called only
|
|
once with a particular info_ptr.
|
|
Revised test-pngtest.sh to report FAIL when pngtest fails.
|
|
Added "--strict" option to pngtest, to report FAIL when the failure is
|
|
only because the resulting valid files are different.
|
|
Revised CMakeLists.txt to work with mingw and removed some material from
|
|
CMakeLists.txt that is no longer useful in libpng-1.5.
|
|
Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")."
|
|
Speed up png_combine_row() for interlaced images. This reduces the generality
|
|
of the code, allowing it to be optimized for Adam7 interlace. The masks
|
|
passed to png_combine_row() are now generated internally, avoiding
|
|
some code duplication and localizing the interlace handling somewhat.
|
|
Align png_struct::row_buf - previously it was always unaligned, caused by
|
|
a bug in the code that attempted to align it; the code needs to subtract
|
|
one from the pointer to take account of the filter byte prepended to
|
|
each row.
|
|
Optimized png_combine_row() when rows are aligned. This gains a small
|
|
percentage for 16-bit and 32-bit pixels in the typical case where the
|
|
output row buffers are appropriately aligned. The optimization was not
|
|
previously possible because the png_struct buffer was always misaligned.
|
|
Removed two redundant tests for unitialized row.
|
|
Fixed a relatively harmless memory overwrite in compressed text writing
|
|
with a 1 byte zlib buffer.
|
|
Add ability to call png_read_update_info multiple times to pngvalid.c
|
|
Fixes for multiple calls to png_read_update_info. These fixes attend to
|
|
most of the errors revealed in pngvalid, however doing the gamma work
|
|
twice results in inaccuracies that can't be easily fixed. There is now
|
|
a warning in the code if this is going to happen.
|
|
Turned on multiple png_read_update_info in pngvalid transform tests.
|
|
Prevent libpng from overwriting unused bits at the end of the image when
|
|
it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
|
|
overwrite the partial byte at the end of each row if the row width was not
|
|
an exact multiple of 8 bits and the image is not interlaced.
|
|
Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
|
|
(Mans Rullgard).
|
|
Changed misleading "Missing PLTE before cHRM" warning to "Out of place cHRM"
|
|
Added PNG_LSR() and PNG_LSL() macros to defend against buggy compilers that
|
|
evaluate non-taken code branches and complain about out-of-range shifts.
|
|
Renamed the local variable 'byte' because it appears in a MSYS header
|
|
file.
|
|
Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/*/pngusr.h
|
|
|
|
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
|