mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	[devel] Updated documentation about libpng-1.2 to 1.4 differences.
This commit is contained in:
		
							parent
							
								
									f81b50bf9d
								
							
						
					
					
						commit
						45af819322
					
				
							
								
								
									
										21
									
								
								ANNOUNCE
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								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 | ||||
|  | ||||
							
								
								
									
										5
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								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 | ||||
|  | ||||
| @ -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 @@ 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 | ||||
|  | ||||
							
								
								
									
										89
									
								
								libpng.3
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								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 | ||||
|  <glennrp at users.sourceforge.net> | ||||
|  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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Glenn Randers-Pehrson
						Glenn Randers-Pehrson