[libpng17] Update CHANGES and ANNOUNCE

This commit is contained in:
Glenn Randers-Pehrson
2016-05-21 12:28:55 -05:00
parent 5b19ac3019
commit 5095b2adfb
15 changed files with 104 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
Libpng 1.7.0beta81 - May 17, 2016 Libpng 1.7.0beta81 - May 21, 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,9 +1290,44 @@ 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 16, 2016] Version 1.7.0beta81 [May 21, 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
Reenabled filter selection (dummy). This implements the code for
row-by-row filter selection but does not provide an actual implementation;
the selection function just chooses the lowest set filter bit.
Fixed a signed/unsigned warning (GCC 4.8.5) in pngwutil.c
Implemented base filter selection with row buffering and a crude code-count
algorithm.
Added filter selection, palette index checks. Palette index checking:
checking on read was erroneously skipped. pngcp can now turn off the
palette index checking or fix the errors (mainly to allow comparison with
libpng 1.6, which defaulted to ignoring it). The API now documents how
the 'enabled' parameter works. On read the check is on by default (it
was apparently off in libpng 1.6) however now if explicitly turned on the
warning message is stopped; this provides better interaction with
get_palette_max at the cost of a small API change (may need to be reviewed.)
Palette size errors: invalid entries in the palette are now set to #beaded to
make the errors more obvious and allow easy detection in memory.
Read transform pipeline caching: changes to fix the palette index check
(which are erroneously cached), the pipeline can now contain multiple
caches, e.g., caching of packing of palette indices can be combined with
caching of palette RGB transforms.
Read code now checks for callbacks to read 0 data (and faults them).
Fixed the reading of PNGs with multiple 0 length IDATs that failed as a
result plus the handling of zero length unknown (which occurs, validly;
the spurious warning has been removed).
Filter selection: the 1.6 and earlier sum of absolute differences algorithm
has been reintroduced with an option to disfavor some filters over others
where the sums are close (not yet exposed). The selection code also logs
the last known occurence of each possible byte code across multiple lines.
This allows detection of PNG images with lower bit depth than the format
implies and, therefore, allows the filtering to be turned off in those
cases as well.
The default write zlib settings are still lower than libpng16. The
selection algorithm is being refined (the overall results are worse than
not doing any filtering).
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

37
CHANGES
View File

@@ -5590,9 +5590,44 @@ 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 16, 2016] Version 1.7.0beta81 [May 21, 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
Reenabled filter selection (dummy). This implements the code for
row-by-row filter selection but does not provide an actual implementation;
the selection function just chooses the lowest set filter bit.
Fixed a signed/unsigned warning (GCC 4.8.5) in pngwutil.c
Implemented base filter selection with row buffering and a crude code-count
algorithm.
Added filter selection, palette index checks. Palette index checking:
checking on read was erroneously skipped. pngcp can now turn off the
palette index checking or fix the errors (mainly to allow comparison with
libpng 1.6, which defaulted to ignoring it). The API now documents how
the 'enabled' parameter works. On read the check is on by default (it
was apparently off in libpng 1.6) however now if explicitly turned on the
warning message is stopped; this provides better interaction with
get_palette_max at the cost of a small API change (may need to be reviewed.)
Palette size errors: invalid entries in the palette are now set to #beaded to
make the errors more obvious and allow easy detection in memory.
Read transform pipeline caching: changes to fix the palette index check
(which are erroneously cached), the pipeline can now contain multiple
caches, e.g., caching of packing of palette indices can be combined with
caching of palette RGB transforms.
Read code now checks for callbacks to read 0 data (and faults them).
Fixed the reading of PNGs with multiple 0 length IDATs that failed as a
result plus the handling of zero length unknown (which occurs, validly;
the spurious warning has been removed).
Filter selection: the 1.6 and earlier sum of absolute differences algorithm
has been reintroduced with an option to disfavor some filters over others
where the sums are close (not yet exposed). The selection code also logs
the last known occurence of each possible byte code across multiple lines.
This allows detection of PNG images with lower bit depth than the format
implies and, therefore, allows the filtering to be turned off in those
cases as well.
The default write zlib settings are still lower than libpng16. The
selection algorithm is being refined (the overall results are worse than
not doing any filtering).
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

View File

@@ -10,7 +10,7 @@ this sentence.
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 7, 2016, are libpng versions 1.0.7, July 1, 2000, through 1.7.0beta81, May 21, 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
@@ -109,4 +109,4 @@ the additional disclaimers inserted at version 1.0.7.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
May 7, 2016 May 21, 2016

2
README
View File

@@ -1,4 +1,4 @@
README for libpng version 1.7.0beta81 - May 7, 2016 (shared library 17.0) README for libpng version 1.7.0beta81 - May 21, 2016 (shared library 17.0)
See the note about version numbers near the top of png.h See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng. See INSTALL for instructions on how to install libpng.

View File

@@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.7.0beta81 - May 7, 2016 libpng version 1.7.0beta81 - May 21, 2016
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.7.0beta81 - May 7, 2016 libpng versions 0.97, January 1998, through 1.7.0beta81 - May 21, 2016
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson

View File

@@ -1,4 +1,4 @@
.TH LIBPNG 3 "May 7, 2016" .TH LIBPNG 3 "May 21, 2016"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta81 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta81
.SH SYNOPSIS .SH SYNOPSIS
@@ -500,7 +500,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.7.0beta81 - May 7, 2016 libpng version 1.7.0beta81 - May 21, 2016
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -511,7 +511,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.7.0beta81 - May 7, 2016 libpng versions 0.97, January 1998, through 1.7.0beta81 - May 21, 2016
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -5940,12 +5940,11 @@ the first widely used release:
... ...
1.0.19 10 10019 10.so.0.19[.0] 1.0.19 10 10019 10.so.0.19[.0]
... ...
1.2.53 13 10253 12.so.0.53[.0] 1.2.56 13 10253 12.so.0.53[.0]
... ...
1.5.23 15 10523 15.so.15.23[.0] 1.5.27 15 10523 15.so.15.23[.0]
... ...
1.6.19beta01-04 16 10619 16.so.16.19[.0] 1.6.22 16 10622 16.so.16.22[.0]
1.6.19rc01-03 16 10619 16.so.16.19[.0]
... ...
1.7.0alpha01-10 17 10700 17.so.17.0[.0] 1.7.0alpha01-10 17 10700 17.so.17.0[.0]
1.7.0beta01-81 17 10700 17.so.17.0[.0] 1.7.0beta01-81 17 10700 17.so.17.0[.0]
@@ -6004,7 +6003,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.7.0beta81 - May 7, 2016: Libpng version 1.7.0beta81 - May 21, 2016:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@@ -6029,7 +6028,7 @@ this sentence.
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 7, 2016, are libpng versions 1.0.7, July 1, 2000, through 1.7.0beta81, May 21, 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
@@ -6128,7 +6127,7 @@ the additional disclaimers inserted at version 1.0.7.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
May 7, 2016 May 21, 2016
.\" end of man page .\" end of man page

View File

@@ -1,4 +1,4 @@
.TH LIBPNGPF 3 "May 7, 2016" .TH LIBPNGPF 3 "May 21, 2016"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta81 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta81
(private functions) (private functions)

2
png.5
View File

@@ -1,4 +1,4 @@
.TH PNG 5 "May 7, 2016" .TH PNG 5 "May 21, 2016"
.SH NAME .SH NAME
png \- Portable Network Graphics (PNG) format png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION .SH DESCRIPTION

4
png.c
View File

@@ -705,14 +705,14 @@ png_get_copyright(png_const_structrp png_ptr)
#else #else
# ifdef __STDC__ # ifdef __STDC__
return PNG_STRING_NEWLINE \ return PNG_STRING_NEWLINE \
"libpng version 1.7.0beta81 - May 7, 2016" PNG_STRING_NEWLINE \ "libpng version 1.7.0beta81 - May 21, 2016" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \ "Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \
PNG_STRING_NEWLINE \ PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
PNG_STRING_NEWLINE; PNG_STRING_NEWLINE;
# else # else
return "libpng version 1.7.0beta81 - May 7, 2016\ return "libpng version 1.7.0beta81 - May 21, 2016\
Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\ Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";

17
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 7, 2016 * libpng version 1.7.0beta81, May 21, 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 7, 2016: * libpng versions 0.97, January 1998, through 1.7.0beta81, May 21, 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 7, 2016, are * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta81, May 21, 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
@@ -182,12 +182,11 @@
* ... * ...
* 1.0.19 10 10019 10.so.0.19[.0] * 1.0.19 10 10019 10.so.0.19[.0]
* ... * ...
* 1.2.53 13 10253 12.so.0.53[.0] * 1.2.56 13 10253 12.so.0.53[.0]
* ... * ...
* 1.5.23 15 10523 15.so.15.23[.0] * 1.5.27 15 10523 15.so.15.23[.0]
* ... * ...
* 1.6.19beta01-04 16 10619 16.so.16.19[.0] * 1.6.22 16 10622 16.so.16.22[.0]
* 1.6.19rc01-03 16 10619 16.so.16.19[.0]
* ... * ...
* 1.7.0alpha01-10 17 10700 17.so.17.0[.0] * 1.7.0alpha01-10 17 10700 17.so.17.0[.0]
* 1.7.0beta01-81 17 10700 17.so.17.0[.0] * 1.7.0beta01-81 17 10700 17.so.17.0[.0]
@@ -218,7 +217,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* May 7, 2016 * May 21, 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.
@@ -288,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 7, 2016\n" " libpng version 1.7.0beta81 - May 21, 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

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 7, 2016 * libpng version 1.7.0beta81, May 21, 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

@@ -1,7 +1,7 @@
VisualStudio instructions VisualStudio instructions
libpng version 1.7.0beta81 - May 7, 2016 libpng version 1.7.0beta81 - May 21, 2016
Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson

View File

@@ -2,7 +2,7 @@
<!-- <!--
* zlib.props - location of zlib source * zlib.props - location of zlib source
* *
* libpng version 1.7.0beta81 - May 7, 2016 * libpng version 1.7.0beta81 - May 21, 2016
* *
* Copyright (c) 2011,2013,2014 Glenn Randers-Pehrson * Copyright (c) 2011,2013,2014 Glenn Randers-Pehrson
* *

View File

@@ -1,5 +1,5 @@
Makefiles for libpng version 1.7.0beta81 - May 7, 2016 Makefiles for libpng version 1.7.0beta81 - May 21, 2016
pnglibconf.h.prebuilt => Stores configuration settings pnglibconf.h.prebuilt => Stores configuration settings
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile

View File

@@ -2,7 +2,7 @@
/* pnglibconf.h - library build configuration */ /* pnglibconf.h - library build configuration */
/* libpng version 1.7.0beta81, May 7, 2016 */ /* libpng version 1.7.0beta81, May 21, 2016 */
/* Copyright (c) 1998-2016 Glenn Randers-Pehrson */ /* Copyright (c) 1998-2016 Glenn Randers-Pehrson */