[devel] Updated documentation about libpng-1.2 to 1.4 differences.
diff --git a/ANNOUNCE b/ANNOUNCE
index de9e873..6a00d02 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.4.0rc06 - December 29, 2009
+Libpng 1.4.0rc07 - December 30, 2009
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.
@@ -9,20 +9,20 @@
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- 1.4.0rc06.tar.xz (LZMA-compressed, recommended)
- 1.4.0rc06.tar.gz
- 1.4.0rc06.tar.bz2
+ 1.4.0rc07.tar.xz (LZMA-compressed, recommended)
+ 1.4.0rc07.tar.gz
+ 1.4.0rc07.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lp140r06.zip
- lp140r06.7z
+ lp140r07.zip
+ lp140r07.7z
Other information:
- 1.4.0rc06-README.txt
- 1.4.0rc06-LICENSE.txt
+ 1.4.0rc07-README.txt
+ 1.4.0rc07-LICENSE.txt
Changes since the last public release (1.2.10):
@@ -759,7 +759,10 @@
Reverted the gamma_table changes from libpng-1.4.0beta109.
Fixed some indentation errors.
-version 1.4.0 [December 29, 2009]
+version 1.4.0rc07 [December 30, 2009]
+ Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
+
+version 1.4.0 [December 30, 2009]
No changes.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/CHANGES b/CHANGES
index 00c60e6..83162dd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2446,7 +2446,10 @@
Reverted the gamma_table changes from libpng-1.4.0beta109.
Fixed some indentation errors.
-version 1.4.0 [December 29, 2009]
+version 1.4.0rc07 [December 30, 2009]
+ Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
+
+version 1.4.0 [December 30, 2009]
No changes.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/libpng-1.4.0rc06.txt b/libpng-1.4.0rc06.txt
index c906b88..d469b94 100644
--- a/libpng-1.4.0rc06.txt
+++ b/libpng-1.4.0rc06.txt
@@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
- libpng version 1.4.0rc06 - December 29, 2009
+ libpng version 1.4.0rc07 - December 30, 2009
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
Based on:
- libpng versions 0.97, January 1998, through 1.4.0rc06 - December 29, 2009
+ libpng versions 0.97, January 1998, through 1.4.0rc07 - December 30, 2009
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -878,7 +878,7 @@
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
added. It expands the sample depth without changing tRNS to alpha.
-As of libpng version 1.4.0rc06, not all possible expansions are supported.
+As of libpng version 1.4.0rc07, not all possible expansions are supported.
In the following table, the 01 means grayscale with depth<8, 31 means
indexed with depth<8, other numerals represent the color type, "T" means
@@ -2999,20 +2999,6 @@
Private libpng prototypes and macro definitions were moved from
png.h and pngconf.h into a new pngpriv.h header file.
-Support for global arrays was removed.
-
-Some obsolete/deprecated macros and functions have been removed.
-
-Typecasted NULL definitions such as
- #define png_voidp_NULL (png_voidp)NULL
-were eliminated. If you used these in your application, just use
-NULL instead.
-
-The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
-%were removed.
-
-The PNG_1_0_X and PNG_1_2_X macros were eliminated.
-
Functions png_set_benign_errors(), png_benign_error(), and
png_chunk_benign_error() were added.
@@ -3024,23 +3010,28 @@
We implemented support for I/O states by adding png_ptr member io_state
and functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
-The png_calloc() function was added and is used in place of
-of "png_malloc(); png_memset();" except in the case in png_read_png()
-where the array consists of pointers; in this case a "for" loop is used
-after the png_malloc() to set the pointers to NULL.
-
We added PNG_TRANSFORM_GRAY_TO_RGB to the available high-level
input transforms.
-The call to png_do_chop() in pngrtran.c, which reduces 16-bit input
-files to 8-bit bit depth, was relocated ahead of the building
-of gamma tables. This allows us to build 8-bit tables instead
-of 16-bit tables, when only 8-bit tables are needed. This avoids
-wasting some computing resources when the application has called
-the png_set_strip_16() function and encounters a 16-bit PNG file.
-
Checking for and reporting of errors in the IHDR chunk is more thorough.
+Support for global arrays was removed, to improve thread safety.
+
+Some obsolete/deprecated macros and functions have been removed.
+
+Typecasted NULL definitions such as
+ #define png_voidp_NULL (png_voidp)NULL
+were eliminated. If you used these in your application, just use
+NULL instead.
+
+The png_struct and info_struct members "trans" and "trans_values" were
+changed to "trans_alpha" and "trans_color", respectively.
+
+The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
+%were removed.
+
+The PNG_1_0_X and PNG_1_2_X macros were eliminated.
+
The PNG_LEGACY_SUPPORTED macro was eliminated.
Many WIN32_WCE #ifdefs were removed.
@@ -3049,10 +3040,6 @@
png_info_init(info_ptr), png_read_destroy(), and png_write_destroy()
have been removed. They have been deprecated since libpng-0.95.
-Support for numbered error messages was removed by default, since we
-never got around to actually numbering the error messages. The function
-png_set_strip_error_numbers() was removed from the library by default.
-
The png_permit_empty_plte() was removed. It has been deprecated
since libpng-1.0.9. Use png_permit_mng_features() instead.
@@ -3061,28 +3048,36 @@
png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
png_set_asm_flags(), and png_mmx_supported()
-We removed the png_check_sig(), png_memcpy_check(), and
-png_memset_check() functions.
+We removed the obsolete png_check_sig(), png_memcpy_check(), and
+png_memset_check() functions. Instead use !png_sig_cmp(), png_memcpy(),
+and png_memset(), respectively.
We changed the prototype for png_malloc() from
png_malloc(png_structp png_ptr, png_uint_32 size)
to
png_malloc(png_structp png_ptr, png_alloc_size_t size)
+The png_calloc() function was added and is used in place of
+of "png_malloc(); png_memset();" except in the case in png_read_png()
+where the array consists of pointers; in this case a "for" loop is used
+after the png_malloc() to set the pointers to NULL, to give robust.
+behavior in case the application runs out of memory part-way through
+the process.
+
We changed the prototypes of png_get_compression_buffer_size() and
png_set_compression_buffer_size() to work with png_size_t instead of
png_uint_32.
+Support for numbered error messages was removed by default, since we
+never got around to actually numbering the error messages. The function
+png_set_strip_error_numbers() was removed from the library by default.
+
+The png_zalloc() and png_zfree() functions are no longer exported.
The png_zalloc() function no longer zeroes out the memory that it
allocates.
-The png_zalloc() and png_zfree() functions are no longer exported.
-
We removed the trailing '.' from the warning and error messages.
-The png_struct and info_struct members "trans" and "trans_values" were
-changed to "trans_alpha" and "trans_color", respectively.
-
X. Detecting libpng
The png_get_io_ptr() function has been present since libpng-0.88, has never
@@ -3221,13 +3216,13 @@
XIII. Y2K Compliance in libpng
-December 29, 2009
+December 30, 2009
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.4.0rc06 are Y2K compliant. It is my belief that earlier
+upward through 1.4.0rc07 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index 905eb5a..a0cf494 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "December 29, 2009"
+.TH LIBPNG 3 "December 30, 2009"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0rc06
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0rc07
.SH SYNOPSIS
\fI\fB
@@ -777,7 +777,7 @@
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
- libpng version 1.4.0rc06 - December 29, 2009
+ libpng version 1.4.0rc07 - December 30, 2009
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -788,7 +788,7 @@
Based on:
- libpng versions 0.97, January 1998, through 1.4.0rc06 - December 29, 2009
+ libpng versions 0.97, January 1998, through 1.4.0rc07 - December 30, 2009
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -1655,7 +1655,7 @@
As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
added. It expands the sample depth without changing tRNS to alpha.
-As of libpng version 1.4.0rc06, not all possible expansions are supported.
+As of libpng version 1.4.0rc07, not all possible expansions are supported.
In the following table, the 01 means grayscale with depth<8, 31 means
indexed with depth<8, other numerals represent the color type, "T" means
@@ -3776,20 +3776,6 @@
Private libpng prototypes and macro definitions were moved from
png.h and pngconf.h into a new pngpriv.h header file.
-Support for global arrays was removed.
-
-Some obsolete/deprecated macros and functions have been removed.
-
-Typecasted NULL definitions such as
- #define png_voidp_NULL (png_voidp)NULL
-were eliminated. If you used these in your application, just use
-NULL instead.
-
-The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
-%were removed.
-
-The PNG_1_0_X and PNG_1_2_X macros were eliminated.
-
Functions png_set_benign_errors(), png_benign_error(), and
png_chunk_benign_error() were added.
@@ -3801,23 +3787,28 @@
We implemented support for I/O states by adding png_ptr member io_state
and functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
-The png_calloc() function was added and is used in place of
-of "png_malloc(); png_memset();" except in the case in png_read_png()
-where the array consists of pointers; in this case a "for" loop is used
-after the png_malloc() to set the pointers to NULL.
-
We added PNG_TRANSFORM_GRAY_TO_RGB to the available high-level
input transforms.
-The call to png_do_chop() in pngrtran.c, which reduces 16-bit input
-files to 8-bit bit depth, was relocated ahead of the building
-of gamma tables. This allows us to build 8-bit tables instead
-of 16-bit tables, when only 8-bit tables are needed. This avoids
-wasting some computing resources when the application has called
-the png_set_strip_16() function and encounters a 16-bit PNG file.
-
Checking for and reporting of errors in the IHDR chunk is more thorough.
+Support for global arrays was removed, to improve thread safety.
+
+Some obsolete/deprecated macros and functions have been removed.
+
+Typecasted NULL definitions such as
+ #define png_voidp_NULL (png_voidp)NULL
+were eliminated. If you used these in your application, just use
+NULL instead.
+
+The png_struct and info_struct members "trans" and "trans_values" were
+changed to "trans_alpha" and "trans_color", respectively.
+
+The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
+%were removed.
+
+The PNG_1_0_X and PNG_1_2_X macros were eliminated.
+
The PNG_LEGACY_SUPPORTED macro was eliminated.
Many WIN32_WCE #ifdefs were removed.
@@ -3826,10 +3817,6 @@
png_info_init(info_ptr), png_read_destroy(), and png_write_destroy()
have been removed. They have been deprecated since libpng-0.95.
-Support for numbered error messages was removed by default, since we
-never got around to actually numbering the error messages. The function
-png_set_strip_error_numbers() was removed from the library by default.
-
The png_permit_empty_plte() was removed. It has been deprecated
since libpng-1.0.9. Use png_permit_mng_features() instead.
@@ -3838,28 +3825,36 @@
png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
png_set_asm_flags(), and png_mmx_supported()
-We removed the png_check_sig(), png_memcpy_check(), and
-png_memset_check() functions.
+We removed the obsolete png_check_sig(), png_memcpy_check(), and
+png_memset_check() functions. Instead use !png_sig_cmp(), png_memcpy(),
+and png_memset(), respectively.
We changed the prototype for png_malloc() from
png_malloc(png_structp png_ptr, png_uint_32 size)
to
png_malloc(png_structp png_ptr, png_alloc_size_t size)
+The png_calloc() function was added and is used in place of
+of "png_malloc(); png_memset();" except in the case in png_read_png()
+where the array consists of pointers; in this case a "for" loop is used
+after the png_malloc() to set the pointers to NULL, to give robust.
+behavior in case the application runs out of memory part-way through
+the process.
+
We changed the prototypes of png_get_compression_buffer_size() and
png_set_compression_buffer_size() to work with png_size_t instead of
png_uint_32.
+Support for numbered error messages was removed by default, since we
+never got around to actually numbering the error messages. The function
+png_set_strip_error_numbers() was removed from the library by default.
+
+The png_zalloc() and png_zfree() functions are no longer exported.
The png_zalloc() function no longer zeroes out the memory that it
allocates.
-The png_zalloc() and png_zfree() functions are no longer exported.
-
We removed the trailing '.' from the warning and error messages.
-The png_struct and info_struct members "trans" and "trans_values" were
-changed to "trans_alpha" and "trans_color", respectively.
-
.SH X. Detecting libpng
The png_get_io_ptr() function has been present since libpng-0.88, has never
@@ -3998,13 +3993,13 @@
.SH XIII. Y2K Compliance in libpng
-December 29, 2009
+December 30, 2009
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.4.0rc06 are Y2K compliant. It is my belief that earlier
+upward through 1.4.0rc07 are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that
@@ -4232,7 +4227,7 @@
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.4.0rc06 - December 29, 2009:
+Libpng version 1.4.0rc07 - December 30, 2009:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@@ -4255,7 +4250,7 @@
This code is released under the libpng license.
-libpng versions 1.2.6, August 15, 2004, through 1.4.0rc06, December 29, 2009, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.0rc07, December 30, 2009, 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
@@ -4354,7 +4349,7 @@
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-December 29, 2009
+December 30, 2009
.\" end of man page