mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
Merge branch 'libpng17' into libpng17-buffer-enhancements
This commit is contained in:
commit
a42416de9c
32
ANNOUNCE
32
ANNOUNCE
@ -972,6 +972,38 @@ Version 1.7.0beta69 [November 23, 2015]
|
||||
by flaviommedeiros).
|
||||
Fixed bug recently introduced in png_set_PLTE() that uses png_ptr
|
||||
not info_ptr.
|
||||
Added pngvalid --transform --interlace test. This increases code
|
||||
coverage by generating test cases with smaller length rows as a
|
||||
result of the interlacing. Without this packswap handling was
|
||||
incompletely tested.
|
||||
Fixed NO_WRITE_INTERLACE in pngvalid.c. The support for writing
|
||||
interlaced images directly from libpng 1.7 was unintentionally
|
||||
disabled (INTERLACE_LAST was defined incorrectly, excluding the
|
||||
interlaced images). This obscured the fact that the transform and
|
||||
error test case generators lacked the support for writing interlaced
|
||||
images from libpng.
|
||||
Transform rewrite: perform transforms in small chunks. The intent
|
||||
of this change is to reduce the memory footprint during transform
|
||||
sequences by performing transforms in fixed (small) sized blocks of
|
||||
pixels. The change is incomplete; the filter code still works
|
||||
row-by-row, so the whole tranform also works row-by-row. The intent
|
||||
is to fix this so that everything works in small(ish) chunks.
|
||||
At present the change has no discernable effect on pngvalid --speed
|
||||
or pngstest with (e.g.) rgb-8-1.8.png; user time and (minor) page
|
||||
faults are the same in old and new versions. The same applies to
|
||||
real-world 15MP PNG images; even on these the presence of the filter
|
||||
code causes a cyclical progress through memory which will interfere
|
||||
with any caching otherwise possible (useful word, 'otherwise'.)
|
||||
Read row buffer changes. The read code now allocates one row buffer
|
||||
of the size of the input PNG row and, only if required, one buffer of
|
||||
the size of the output. The output buffer is required for the
|
||||
progressive reader (always) and for the sequential reader if libpng
|
||||
is de-interlacing an image (because the output row is used multiple
|
||||
times if png_read_row is called with a display row parameter.) This
|
||||
should reduce memory utilization by libpng significantly, but it has no
|
||||
detectable effect on overall performance figures of the test programs;
|
||||
these are probably dominated by memory allocations for the whole image
|
||||
within the test programs.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
33
CHANGES
33
CHANGES
@ -5271,6 +5271,39 @@ Version 1.7.0beta69 [November 23, 2015]
|
||||
by flaviommedeiros).
|
||||
Fixed bug recently introduced in png_set_PLTE() that uses png_ptr
|
||||
not info_ptr.
|
||||
Added pngvalid --transform --interlace test. This increases code
|
||||
coverage by generating test cases with smaller length rows as a
|
||||
result of the interlacing. Without this packswap handling was
|
||||
incompletely tested.
|
||||
Fixed NO_WRITE_INTERLACE in pngvalid.c. The support for writing
|
||||
interlaced images directly from libpng 1.7 was unintentionally
|
||||
disabled (INTERLACE_LAST was defined incorrectly, excluding the
|
||||
interlaced images). This obscured the fact that the transform and
|
||||
error test case generators lacked the support for writing interlaced
|
||||
images from libpng.
|
||||
Transform rewrite: perform transforms in small chunks. The intent
|
||||
of this change is to reduce the memory footprint during transform
|
||||
sequences by performing transforms in fixed (small) sized blocks of
|
||||
pixels. The change is incomplete; the filter code still works
|
||||
row-by-row, so the whole tranform also works row-by-row. The intent
|
||||
is to fix this so that everything works in small(ish) chunks.
|
||||
At present the change has no discernable effect on pngvalid --speed
|
||||
or pngstest with (e.g.) rgb-8-1.8.png; user time and (minor) page
|
||||
faults are the same in old and new versions. The same applies to
|
||||
real-world 15MP PNG images; even on these the presence of the filter
|
||||
code causes a cyclical progress through memory which will interfere
|
||||
with any caching otherwise possible (useful word, 'otherwise'.)
|
||||
Read row buffer changes. The read code now allocates one row buffer
|
||||
of the size of the input PNG row and, only if required, one buffer of
|
||||
the size of the output. The output buffer is required for the
|
||||
progressive reader (always) and for the sequential reader if libpng
|
||||
is de-interlacing an image (because the output row is used multiple
|
||||
times if png_read_row is called with a display row parameter.) This
|
||||
should reduce memory utilization by libpng significantly, but it has no
|
||||
detectable effect on overall performance figures of the test programs;
|
||||
these are probably dominated by memory allocations for the whole image
|
||||
within the test programs.
|
||||
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
|
||||
4
png.c
4
png.c
@ -711,13 +711,13 @@ png_get_copyright(png_const_structrp png_ptr)
|
||||
#else
|
||||
# ifdef __STDC__
|
||||
return PNG_STRING_NEWLINE \
|
||||
"libpng version 1.7.0beta69 - November 22, 2015" PNG_STRING_NEWLINE \
|
||||
"libpng version 1.7.0beta69 - November 23, 2015" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||
PNG_STRING_NEWLINE;
|
||||
# else
|
||||
return "libpng version 1.7.0beta69 - November 22, 2015\
|
||||
return "libpng version 1.7.0beta69 - November 23, 2015\
|
||||
Copyright (c) 1998-2015 Glenn Randers-Pehrson\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
||||
|
||||
10
png.h
10
png.h
@ -1,7 +1,7 @@
|
||||
|
||||
/* png.h - header file for PNG reference library
|
||||
*
|
||||
* libpng version 1.7.0beta69, November 13, 2015
|
||||
* libpng version 1.7.0beta69, November 23, 2015
|
||||
*
|
||||
* Copyright (c) 1998-2015 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
@ -12,7 +12,7 @@
|
||||
* Authors and maintainers:
|
||||
* 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.97, January 1998, through 1.7.0beta69, November 13, 2015:
|
||||
* libpng versions 0.97, January 1998, through 1.7.0beta69, November 23, 2015:
|
||||
* Glenn Randers-Pehrson.
|
||||
* See also "Contributing Authors", below.
|
||||
*/
|
||||
@ -25,7 +25,7 @@
|
||||
*
|
||||
* This code is released under the libpng license.
|
||||
*
|
||||
* libpng versions 1.0.7, July 1, 2000, through 1.7.0beta69, November 13, 2015, are
|
||||
* libpng versions 1.0.7, July 1, 2000, through 1.7.0beta69, November 23, 2015, are
|
||||
* Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are
|
||||
* 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
|
||||
@ -218,7 +218,7 @@
|
||||
* Y2K compliance in libpng:
|
||||
* =========================
|
||||
*
|
||||
* November 13, 2015
|
||||
* November 23, 2015
|
||||
*
|
||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||
* an official declaration.
|
||||
@ -288,7 +288,7 @@
|
||||
/* Version information for png.h - this should match the version in png.c */
|
||||
#define PNG_LIBPNG_VER_STRING "1.7.0beta69"
|
||||
#define PNG_HEADER_VERSION_STRING \
|
||||
" libpng version 1.7.0beta69 - November 13, 2015\n"
|
||||
" libpng version 1.7.0beta69 - November 23, 2015\n"
|
||||
|
||||
#define PNG_LIBPNG_VER_SONUM 17
|
||||
#define PNG_LIBPNG_VER_DLLNUM 17
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
/* pngconf.h - machine configurable file for libpng
|
||||
*
|
||||
* libpng version 1.7.0beta69, November 13, 2015
|
||||
* libpng version 1.7.0beta69, November 23, 2015
|
||||
*
|
||||
* Copyright (c) 1998-2015 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
|
||||
@ -958,7 +958,7 @@ option WRITE_PNG requires WRITE WRITE_TRANSFORMS enables INFO_IMAGE
|
||||
# Disabled by -DPNG_NO_CHECK_FOR_INVALID_INDEX
|
||||
#
|
||||
# 2) {READ,WRITE}_GET_PALETTE_MAX: returns the largest pixel value in a
|
||||
# color mapped PNG. Disbaled by -DPNG_NO_GET_PALETTE_MAX
|
||||
# color mapped PNG. Disabled by -DPNG_NO_GET_PALETTE_MAX
|
||||
#
|
||||
# All of this stuff can be removed by "option PALETTE_MAX off" but using
|
||||
# -DPNG_NO_ defines on the command line just sets the relevant option to
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
/* pnglibconf.h - library build configuration */
|
||||
|
||||
/* Libpng version 1.7.0beta69 - November 13, 2015 */
|
||||
/* Libpng version 1.7.0beta69 - November 23, 2015 */
|
||||
|
||||
/* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
|
||||
|
||||
@ -136,6 +136,7 @@
|
||||
#define PNG_WRITE_FILTER_SUPPORTED
|
||||
#define PNG_WRITE_FLUSH_SUPPORTED
|
||||
#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED
|
||||
#define PNG_WRITE_INTERLACE_SUPPORTED
|
||||
#define PNG_WRITE_INTERLACING_SUPPORTED
|
||||
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
|
||||
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user