From 45af819322ef8bc0c38590c07b03a1a30ac3579e Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Wed, 30 Dec 2009 08:37:29 -0600 Subject: [PATCH] [devel] Updated documentation about libpng-1.2 to 1.4 differences. --- ANNOUNCE | 21 ++++++----- CHANGES | 5 ++- libpng-1.4.0rc06.txt | 79 ++++++++++++++++++--------------------- libpng.3 | 89 +++++++++++++++++++++----------------------- 4 files changed, 95 insertions(+), 99 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index de9e873c5..6a00d028e 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 @@ Files available for download: 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 @@ version 1.4.0rc06 [December 29, 2009] 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 00c60e68f..83162dd52 100644 --- a/CHANGES +++ b/CHANGES @@ -2446,7 +2446,10 @@ version 1.4.0rc06 [December 29, 2009] 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 c906b882f..d469b94af 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 Copyright (c) 1998-2009 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng.txt - A description on how to use and modify libpng 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 @@ things. 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 @@ IX. Changes to Libpng from version 1.0.x/1.2.x to 1.4.x 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 @@ were added to the library. 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 @@ The functions png_read_init(info_ptr), png_write_init(info_ptr), 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_set_mmx_thresholds(), png_get_asm_flags(), 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 @@ Other rules can be inferred by inspecting the libpng source. 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 905eb5a53..a0cf4949b 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 @@ Following is a copy of the libpng.txt file that accompanies libpng. .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 Copyright (c) 1998-2009 Glenn Randers-Pehrson @@ -788,7 +788,7 @@ libpng.txt - A description on how to use and modify libpng 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 @@ things. 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 @@ which does not. It has been deprecated since libpng-1.0.18 and 1.2.9. 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 @@ were added to the library. 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 @@ The functions png_read_init(info_ptr), png_write_init(info_ptr), 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_set_mmx_thresholds(), png_get_asm_flags(), 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 @@ Other rules can be inferred by inspecting the libpng source. .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 @@ possible without all of you. 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 sentence. 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 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -December 29, 2009 +December 30, 2009 .\" end of man page