[libpng15] Reverted previous change; removed png_get_compression_buffer() API.

It is too risky. Exactly how png_ptr->zbuf is used is under control of the
individual chunk implementation and there could easily be significant changes
within a major release.
This commit is contained in:
Glenn Randers-Pehrson 2011-10-13 20:30:02 -05:00
parent d3dcb463d6
commit d58251b47e
9 changed files with 19 additions and 60 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.5.6beta06 - October 13, 2011 Libpng 1.5.6beta06 - October 14, 2011
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.
@ -70,9 +70,8 @@ Version 1.5.6beta05 [October 12, 2011]
previously possible because the png_struct buffer was always misaligned. previously possible because the png_struct buffer was always misaligned.
Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01. Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01.
Version 1.5.6beta06 [October 13, 2011] Version 1.5.6beta06 [October 14, 2011]
Removed two redundant tests for unitialized row. 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: Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit (subscription required; visit

View File

@ -3631,9 +3631,8 @@ Version 1.5.6beta05 [October 12, 2011]
previously possible because the png_struct buffer was always misaligned. previously possible because the png_struct buffer was always misaligned.
Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01. Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01.
Version 1.5.6beta06 [October 13, 2011] Version 1.5.6beta06 [October 14, 2011]
Removed two redundant tests for unitialized row. 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 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

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.5.6beta06 - October 13, 2011 libpng version 1.5.6beta06 - October 14, 2011
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-2011 Glenn Randers-Pehrson 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: Based on:
libpng versions 0.97, January 1998, through 1.5.6beta06 - October 13, 2011 libpng versions 0.97, January 1998, through 1.5.6beta06 - October 14, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -3692,13 +3692,6 @@ compressed chunks such as zTXt, iTXt, and iCCP:
png_set_text_compression_method(png_ptr, method); png_set_text_compression_method(png_ptr, method);
#endif #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 Controlling row filtering
If you want to control whether libpng uses filtering or not, which If you want to control whether libpng uses filtering or not, which
@ -4570,7 +4563,7 @@ Other rules can be inferred by inspecting the libpng source.
XIV. Y2K Compliance in libpng XIV. Y2K Compliance in libpng
October 13, 2011 October 14, 2011
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.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "October 13, 2011" .TH LIBPNG 3 "October 14, 2011"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.6beta06 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.6beta06
.SH SYNOPSIS .SH SYNOPSIS
@ -154,10 +154,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.6beta06
\fI\fB \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 \fBpng_uint_32 png_get_compression_buffer_size (png_const_structp \fIpng_ptr\fP\fB);\fP
\fI\fB \fI\fB
@ -981,7 +977,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.5.6beta06 - October 13, 2011 libpng version 1.5.6beta06 - October 14, 2011
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-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -992,7 +988,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.5.6beta06 - October 13, 2011 libpng versions 0.97, January 1998, through 1.5.6beta06 - October 14, 2011
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson
@ -4674,13 +4670,6 @@ compressed chunks such as zTXt, iTXt, and iCCP:
png_set_text_compression_method(png_ptr, method); png_set_text_compression_method(png_ptr, method);
#endif #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 .SS Controlling row filtering
If you want to control whether libpng uses filtering or not, which If you want to control whether libpng uses filtering or not, which
@ -5552,7 +5541,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XIV. Y2K Compliance in libpng .SH XIV. Y2K Compliance in libpng
October 13, 2011 October 14, 2011
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.
@ -5814,7 +5803,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.5.6beta06 - October 13, 2011: Libpng version 1.5.6beta06 - October 14, 2011:
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).
@ -5837,7 +5826,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 13, 2011, are libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 14, 2011, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -5936,7 +5925,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
October 13, 2011 October 14, 2011
.\" end of man page .\" end of man page

18
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.5.6beta06 - October 13, 2011 * libpng version 1.5.6beta06 - October 14, 2011
* Copyright (c) 1998-2011 Glenn Randers-Pehrson * Copyright (c) 1998-2011 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -11,7 +11,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.89c, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.5.6beta06 - October 13, 2011: Glenn * libpng versions 0.97, January 1998, through 1.5.6beta06 - October 14, 2011: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@ -192,7 +192,7 @@
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* *
* libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 13, 2011, are * libpng versions 1.2.6, August 15, 2004, through 1.5.6beta06, October 14, 2011, are
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5 * distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors: * with the following individual added to the list of Contributing Authors:
@ -304,7 +304,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* October 13, 2011 * October 14, 2011
* *
* 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.
@ -367,7 +367,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.5.6beta06" #define PNG_LIBPNG_VER_STRING "1.5.6beta06"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.5.6beta06 - October 13, 2011\n" " libpng version 1.5.6beta06 - October 14, 2011\n"
#define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15 #define PNG_LIBPNG_VER_DLLNUM 15
@ -995,12 +995,6 @@ 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_EXPORT(7, void, png_set_compression_buffer_size, (png_structp png_ptr,
png_size_t size)); 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 /* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp
* match up. * match up.
*/ */
@ -2623,7 +2617,7 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
* scripts/symbols.def as well. * scripts/symbols.def as well.
*/ */
#ifdef PNG_EXPORT_LAST_ORDINAL #ifdef PNG_EXPORT_LAST_ORDINAL
PNG_EXPORT_LAST_ORDINAL(234); PNG_EXPORT_LAST_ORDINAL(233);
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -1068,16 +1068,6 @@ png_get_compression_buffer_size(png_const_structp png_ptr)
return (png_ptr ? png_ptr->zbuf_size : 0); 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 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
/* These functions were added to libpng 1.2.6 and were enabled /* These functions were added to libpng 1.2.6 and were enabled
* by default in libpng-1.4.0 */ * by default in libpng-1.4.0 */

View File

@ -557,9 +557,6 @@ option SAVE_INT_32 requires WRITE
option WRITE_OPTIMIZE_CMF 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_COMPRESSED_TEXT disabled
option READ_iCCP enables READ_COMPRESSED_TEXT option READ_iCCP enables READ_COMPRESSED_TEXT
option READ_iTXt enables READ_COMPRESSED_TEXT option READ_iTXt enables READ_COMPRESSED_TEXT

View File

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

View File

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