[libpng15] Added png_get_compression_buffer() API.

This commit is contained in:
Glenn Randers-Pehrson 2011-10-13 17:51:31 -05:00
parent 3dbfd300ff
commit d3dcb463d6
9 changed files with 56 additions and 16 deletions

View File

@ -72,6 +72,7 @@ Version 1.5.6beta05 [October 12, 2011]
Version 1.5.6beta06 [October 13, 2011]
Removed two redundant tests for unitialized row.
Added png_get_compression_buffer() API.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit

View File

@ -3633,6 +3633,7 @@ Version 1.5.6beta05 [October 12, 2011]
Version 1.5.6beta06 [October 13, 2011]
Removed two redundant tests for unitialized row.
Added png_get_compression_buffer() API.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit

View File

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.5.6beta06 - October 12, 2011
libpng version 1.5.6beta06 - October 13, 2011
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on:
libpng versions 0.97, January 1998, through 1.5.6beta06 - October 12, 2011
libpng versions 0.97, January 1998, through 1.5.6beta06 - October 13, 2011
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -3692,6 +3692,13 @@ compressed chunks such as zTXt, iTXt, and iCCP:
png_set_text_compression_method(png_ptr, method);
#endif
As of libpng version 1.5.6, an API became available for
retrieving a pointer to the compression buffer:
#if PNG_GET_COMPRESSION_BUFFER_SUPPORTED
png_bytep buffer = png_get_compression_buffer(png_ptr);
#endif
Controlling row filtering
If you want to control whether libpng uses filtering or not, which
@ -4563,7 +4570,7 @@ Other rules can be inferred by inspecting the libpng source.
XIV. Y2K Compliance in libpng
October 12, 2011
October 13, 2011
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "October 12, 2011"
.TH LIBPNG 3 "October 13, 2011"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.6beta06
.SH SYNOPSIS
@ -154,6 +154,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.6beta06
\fI\fB
\fBpng_bytep png_get_compression_buffer (png_const_structp \fIpng_ptr\fP\fB);\fP
\fI\fB
\fBpng_uint_32 png_get_compression_buffer_size (png_const_structp \fIpng_ptr\fP\fB);\fP
\fI\fB
@ -977,7 +981,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.5.6beta06 - October 12, 2011
libpng version 1.5.6beta06 - October 13, 2011
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -988,7 +992,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on:
libpng versions 0.97, January 1998, through 1.5.6beta06 - October 12, 2011
libpng versions 0.97, January 1998, through 1.5.6beta06 - October 13, 2011
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -4670,6 +4674,13 @@ compressed chunks such as zTXt, iTXt, and iCCP:
png_set_text_compression_method(png_ptr, method);
#endif
As of libpng version 1.5.6, an API became available for
retrieving a pointer to the compression buffer:
#if PNG_GET_COMPRESSION_BUFFER_SUPPORTED
png_bytep buffer = png_get_compression_buffer(png_ptr);
#endif
.SS Controlling row filtering
If you want to control whether libpng uses filtering or not, which
@ -5541,7 +5552,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XIV. Y2K Compliance in libpng
October 12, 2011
October 13, 2011
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
@ -5803,7 +5814,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.5.6beta06 - October 12, 2011:
Libpng version 1.5.6beta06 - October 13, 2011:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -5826,7 +5837,7 @@ this sentence.
This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 12, 2011, are
libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 13, 2011, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@ -5925,7 +5936,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
October 12, 2011
October 13, 2011
.\" end of man page

18
png.h
View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.5.6beta06 - October 12, 2011
* libpng version 1.5.6beta06 - October 13, 2011
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -11,7 +11,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.5.6beta06 - October 12, 2011: Glenn
* libpng versions 0.97, January 1998, through 1.5.6beta06 - October 13, 2011: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@ -192,7 +192,7 @@
*
* This code is released under the libpng license.
*
* libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 12, 2011, are
* libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 13, 2011, are
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
@ -304,7 +304,7 @@
* Y2K compliance in libpng:
* =========================
*
* October 12, 2011
* October 13, 2011
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
@ -367,7 +367,7 @@
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.5.6beta06"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.5.6beta06 - October 12, 2011\n"
" libpng version 1.5.6beta06 - October 13, 2011\n"
#define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15
@ -995,6 +995,12 @@ PNG_EXPORT(6, png_size_t, png_get_compression_buffer_size,
PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structp png_ptr,
png_size_t size));
#ifdef PNG_GET_COMPRESSION_BUFFER_SUPPORTED
/* New in libpng-1.5.6 */
PNG_EXPORT(234, png_bytep, png_get_compression_buffer, (png_const_structp
png_ptr));
#endif
/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp
* match up.
*/
@ -2617,7 +2623,7 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
* scripts/symbols.def as well.
*/
#ifdef PNG_EXPORT_LAST_ORDINAL
PNG_EXPORT_LAST_ORDINAL(233);
PNG_EXPORT_LAST_ORDINAL(234);
#endif
#ifdef __cplusplus

View File

@ -1068,6 +1068,15 @@ png_get_compression_buffer_size(png_const_structp png_ptr)
return (png_ptr ? png_ptr->zbuf_size : 0);
}
#ifdef PNG_GET_COMPRESSION_BUFFER_SUPPORTED
/* New in libpng-1.5.6 */
png_bytep PNGAPI
png_get_compression_buffer(png_const_structp png_ptr)
{
return (png_ptr ? png_ptr->zbuf : 0);
}
#endif
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
/* These functions were added to libpng 1.2.6 and were enabled

View File

@ -557,6 +557,9 @@ option SAVE_INT_32 requires WRITE
option WRITE_OPTIMIZE_CMF requires WRITE
# Added at libpng-1.5.6
option GET_COMPRESSION_BUFFER
option READ_COMPRESSED_TEXT disabled
option READ_iCCP enables READ_COMPRESSED_TEXT
option READ_iTXt enables READ_COMPRESSED_TEXT

View File

@ -55,6 +55,7 @@
#define PNG_FLOATING_ARITHMETIC_SUPPORTED
#define PNG_FLOATING_POINT_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_GET_COMPRESSION_BUFFER_SUPPORTED
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
#define PNG_hIST_SUPPORTED
#define PNG_iCCP_SUPPORTED

View File

@ -239,3 +239,4 @@ EXPORTS
png_get_cHRM_XYZ_fixed @231
png_set_cHRM_XYZ @232
png_set_cHRM_XYZ_fixed @233
png_get_compression_buffer @234