[libpng17] Update CHANGES and ANNOUNCE, fixed several new typos

This commit is contained in:
Glenn Randers-Pehrson 2016-06-07 11:02:07 -05:00
parent 01ff090760
commit 8c7b59f2b9
5 changed files with 67 additions and 13 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.7.0beta81 - May 31, 2016 Libpng 1.7.0beta81 - June 7, 2016
This is not intended to be a public release. It will be replaced 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. within a few weeks by a public version or by another test version.
@ -1290,7 +1290,7 @@ Version 1.7.0beta80 [May 6, 2016]
unreachable code in pz_default_settings and eliminated a spurious unreachable code in pz_default_settings and eliminated a spurious
warning in pngcp for small files. warning in pngcp for small files.
Version 1.7.0beta81 [May 31, 2016] Version 1.7.0beta81 [June 7, 2016]
Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng. Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng.
Otherwise it does not build on platforms that don't supply clock_gettime(). Otherwise it does not build on platforms that don't supply clock_gettime().
Add check for clock_gettime() in Makefile.am and configure.ac Add check for clock_gettime() in Makefile.am and configure.ac
@ -1329,6 +1329,33 @@ Version 1.7.0beta81 [May 31, 2016]
selection algorithm is being refined (the overall results are worse than selection algorithm is being refined (the overall results are worse than
not doing any filtering). not doing any filtering).
Port contrib/libtests/pngvalid.c from libpng16. Port contrib/libtests/pngvalid.c from libpng16.
PNG compression level setting API: this allows the various compression
settings controlling deflate, fitlering, and so on to be set via a single
setting with six values. This is currently documented in png.h ("Write
compression settings").
Internally the compression settings have been tuned both for the overall
setting and for any specific settings made by the original APIs.
APIs to control iCCP chunk compression separately have been added.
contrib/examples/pngcp.c has been modified to accomodate the new compression
setting and to include options for separate control of iCCP chunk
compression.
The new "png_setting" ABI has been modified to accomodate a wider range of
settings and most of the old compression control ABIs have been replaced by
function-like macros with the same API which call png_setting. This is an
API check in 1.7.0 for png_setting (alone). png_setting now handles all
of png_set_option. This eliminates 19 ABIs at the cost of adding 1
(png_setting).
CRC and benign error checking has been updated internally to use bit-fields
and the CRC calculation skip when the CRC is not used has been improved
slightly to avoid the initialization of the CRC. A new png_setting based
API allows more detailed control of benign error/warning messages (this
may change, the internal error handling seems too complex.) The
ERROR_NUMBERS support has been removed with the intent of implementing
proper i18n.
The memcpy-size-0 issue in png_push_fill_buffer has been fixed, with an
appropriate debug() assert if a fill for 0 bytes occurs.
Most PNG_FLAG_ values for png_struct::flags have been eliminated (as a
result of the benign error handling changes). Only one remains.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

29
CHANGES
View File

@ -5590,7 +5590,7 @@ Version 1.7.0beta80 [May 6, 2016]
unreachable code in pz_default_settings and eliminated a spurious unreachable code in pz_default_settings and eliminated a spurious
warning in pngcp for small files. warning in pngcp for small files.
Version 1.7.0beta81 [May 31, 2016] Version 1.7.0beta81 [June 7, 2016]
Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng. Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng.
Otherwise it does not build on platforms that don't supply clock_gettime(). Otherwise it does not build on platforms that don't supply clock_gettime().
Add check for clock_gettime() in Makefile.am and configure.ac Add check for clock_gettime() in Makefile.am and configure.ac
@ -5629,6 +5629,33 @@ Version 1.7.0beta81 [May 31, 2016]
selection algorithm is being refined (the overall results are worse than selection algorithm is being refined (the overall results are worse than
not doing any filtering). not doing any filtering).
Port contrib/libtests/pngvalid.c from libpng16. Port contrib/libtests/pngvalid.c from libpng16.
PNG compression level setting API: this allows the various compression
settings controlling deflate, fitlering, and so on to be set via a single
setting with six values. This is currently documented in png.h ("Write
compression settings").
Internally the compression settings have been tuned both for the overall
setting and for any specific settings made by the original APIs.
APIs to control iCCP chunk compression separately have been added.
contrib/examples/pngcp.c has been modified to accomodate the new compression
setting and to include options for separate control of iCCP chunk
compression.
The new "png_setting" ABI has been modified to accomodate a wider range of
settings and most of the old compression control ABIs have been replaced by
function-like macros with the same API which call png_setting. This is an
API check in 1.7.0 for png_setting (alone). png_setting now handles all
of png_set_option. This eliminates 19 ABIs at the cost of adding 1
(png_setting).
CRC and benign error checking has been updated internally to use bit-fields
and the CRC calculation skip when the CRC is not used has been improved
slightly to avoid the initialization of the CRC. A new png_setting based
API allows more detailed control of benign error/warning messages (this
may change, the internal error handling seems too complex.) The
ERROR_NUMBERS support has been removed with the intent of implementing
proper i18n.
The memcpy-size-0 issue in png_push_fill_buffer has been fixed, with an
appropriate debug() assert if a fill for 0 bytes occurs.
Most PNG_FLAG_ values for png_struct::flags have been eliminated (as a
result of the benign error handling changes). Only one remains.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

14
png.h
View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.7.0beta81, May 21, 2016 * libpng version 1.7.0beta81, June 7, 2016
* *
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -12,7 +12,7 @@
* Authors and maintainers: * Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.7.0beta81, May 21, 2016: * libpng versions 0.97, January 1998, through 1.7.0beta81, June 7, 2016:
* Glenn Randers-Pehrson. * Glenn Randers-Pehrson.
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
*/ */
@ -25,7 +25,7 @@
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* *
* libpng versions 1.0.7, July 1, 2000, through 1.7.0beta81, May 21, 2016, are * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta81, June 7, 2016, are
* Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are * Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
* derived from libpng-1.0.6, and are distributed according to the same * derived from libpng-1.0.6, and are distributed according to the same
* disclaimer and license as libpng-1.0.6 with the following individuals * disclaimer and license as libpng-1.0.6 with the following individuals
@ -217,7 +217,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* May 21, 2016 * June 7, 2016
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
@ -287,7 +287,7 @@
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.7.0beta81" #define PNG_LIBPNG_VER_STRING "1.7.0beta81"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.7.0beta81 - May 21, 2016\n" " libpng version 1.7.0beta81 - June 7, 2016\n"
#define PNG_LIBPNG_VER_SONUM 17 #define PNG_LIBPNG_VER_SONUM 17
#define PNG_LIBPNG_VER_DLLNUM 17 #define PNG_LIBPNG_VER_DLLNUM 17
@ -1768,7 +1768,7 @@ PNG_REMOVED(66, void, png_set_crc_action, (png_structrp png_ptr,
* less of an issue than the overheads on reading a PNG file. * less of an issue than the overheads on reading a PNG file.
* *
* Use this option when producing PNG files that are not expected to be * Use this option when producing PNG files that are not expected to be
* distributed widely or where read speed is more important that size. * distributed widely or where read speed is more important than size.
* This is also a good default for small images where the slight increase * This is also a good default for small images where the slight increase
* in size of the compressed data doesn't change the file size much. * in size of the compressed data doesn't change the file size much.
*/ */
@ -1880,7 +1880,7 @@ PNG_REMOVED(66, void, png_set_crc_action, (png_structrp png_ptr,
* next row written. * next row written.
* *
* The 'method' must match that passed to png_set_IHDR; it cannot be changed and * The 'method' must match that passed to png_set_IHDR; it cannot be changed and
* is ignore in 1.7 and later. * is ignored in 1.7 and later.
* *
* If multiple filters are enabled libpng will select one according to the * If multiple filters are enabled libpng will select one according to the
* following rules: * following rules:

View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine configurable file for libpng
* *
* libpng version 1.7.0beta81, May 21, 2016 * libpng version 1.7.0beta81, June 7, 2016
* *
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1288,7 +1288,7 @@ pz_default_settings(png_uint_32 settings, const png_uint_32 owner,
case PNG_COMPRESSION_LOW: case PNG_COMPRESSION_LOW:
case PNG_COMPRESSION_MEDIUM: case PNG_COMPRESSION_MEDIUM:
/* Z_FILTERED is almost as good as the default and can be /* Z_FILTERED is almost as good as the default and can be
* significantly faster, it biases the algorithm towards smaller * significantly faster. It biases the algorithm towards smaller
* byte values. * byte values.
* *
* Using Z_DEFAULT_STRATEGY here, rather than Z_FILTERED, benefits * Using Z_DEFAULT_STRATEGY here, rather than Z_FILTERED, benefits
@ -3632,7 +3632,7 @@ set_filter(png_zlib_statep ps, unsigned int filtersIn)
/* Notice that PNG_NO_FILTERS is 0 and passes this test; this is OK because /* Notice that PNG_NO_FILTERS is 0 and passes this test; this is OK because
* filters then gets set to PNG_FILTER_NONE, as is required. * filters then gets set to PNG_FILTER_NONE, as is required.
* *
* The argument to this routine is actually an (int), but convertion to * The argument to this routine is actually an (int), but conversion to
* (unsigned int) is safe because it leaves the top bits set which results in * (unsigned int) is safe because it leaves the top bits set which results in
* PNG_EDOM below. * PNG_EDOM below.
*/ */