From fb29e51dbd835c4135802e63cc192e06c01ce2a6 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Fri, 17 Jun 2011 20:38:24 -0500 Subject: [PATCH] [devel] Imported from libpng-1.5.4beta05.tar --- ANNOUNCE | 21 +++++++----- CHANGES | 5 +++ LICENSE | 4 +-- README | 2 +- contrib/gregbook/readpng.c | 4 +-- contrib/gregbook/readpng2.c | 4 +-- contrib/pngminim/decoder/pngusr.dfa | 2 +- contrib/pngminim/preader/pngusr.dfa | 2 +- contrib/visupng/PngFile.c | 4 +-- libpng-manual.txt | 39 +++++++++++----------- libpng.3 | 51 ++++++++++++++--------------- libpngpf.3 | 2 +- png.5 | 2 +- pngconf.h | 2 +- projects/vstudio/readme.txt | 2 +- projects/vstudio/zlib.props | 2 +- scripts/README.txt | 2 +- scripts/pnglibconf.dfa | 3 +- scripts/pnglibconf.h.prebuilt | 3 +- 19 files changed, 83 insertions(+), 73 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 3d4466501..b5ccabb76 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.4beta04 - June 16, 2011 +Libpng 1.5.4beta05 - June 18, 2011 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.5.4beta04.tar.xz (LZMA-compressed, recommended) - 1.5.4beta04.tar.gz - 1.5.4beta04.tar.bz2 + 1.5.4beta05.tar.xz (LZMA-compressed, recommended) + 1.5.4beta05.tar.gz + 1.5.4beta05.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp154b04.7z (LZMA-compressed, recommended) - lp154b04.zip + lp154b05.7z (LZMA-compressed, recommended) + lp154b05.zip Other information: - 1.5.4beta04-README.txt - 1.5.4beta04-LICENSE.txt + 1.5.4beta05-README.txt + 1.5.4beta05-LICENSE.txt Changes since the last public release (1.5.2): @@ -220,6 +220,11 @@ Version 1.5.4beta04 [June 16, 2011] not enabled, png_set_strip_16() and png_do_scale_16_to_8() aren't built. Revised contrib/visupng, gregbook, and pngminim to demonstrate chop_16_to_8 +Version 1.5.4beta05 [June 18, 2011] + Renamed png_set_strip_16() to png_set_scale_16() and renamed + png_set_chop_16() to png_set_strip(16) in an attempt to minimize the + behavior changes between libpng14 and libpng15. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index 5771845be..87178a26c 100644 --- a/CHANGES +++ b/CHANGES @@ -3483,6 +3483,11 @@ Version 1.5.4beta04 [June 16, 2011] not enabled, png_set_strip_16() and png_do_scale_16_to_8() aren't built. Revised contrib/visupng, gregbook, and pngminim to demonstrate chop_16_to_8 +Version 1.5.4beta05 [June 18, 2011] + Renamed png_set_strip_16() to png_set_scale_16() and renamed + png_set_chop_16() to png_set_strip(16) in an attempt to minimize the + behavior changes between libpng14 and libpng15. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/LICENSE b/LICENSE index 193226a9d..6c8d4a95f 100644 --- a/LICENSE +++ b/LICENSE @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 16, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 18, 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 @@ -108,4 +108,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 16, 2011 +June 18, 2011 diff --git a/README b/README index 6a349d9e1..3e57eb213 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.5.4beta05 - June 16, 2011 (shared library 15.0) +README for libpng version 1.5.4beta05 - June 18, 2011 (shared library 15.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/contrib/gregbook/readpng.c b/contrib/gregbook/readpng.c index 208a883c5..df42c301b 100644 --- a/contrib/gregbook/readpng.c +++ b/contrib/gregbook/readpng.c @@ -231,8 +231,8 @@ uch *readpng_get_image(double display_exponent, int *pChannels, ulg *pRowbytes) png_set_expand(png_ptr); #ifdef PNG_READ_16_TO_8_SUPPORTED if (bit_depth == 16) -# ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED - png_set_chop_16(png_ptr); +# ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED + png_set_scale_16(png_ptr); # else png_set_strip_16(png_ptr); # endif diff --git a/contrib/gregbook/readpng2.c b/contrib/gregbook/readpng2.c index 785772dea..b9746b756 100644 --- a/contrib/gregbook/readpng2.c +++ b/contrib/gregbook/readpng2.c @@ -313,8 +313,8 @@ static void readpng2_info_callback(png_structp png_ptr, png_infop info_ptr) png_set_expand(png_ptr); #ifdef PNG_READ_16_TO_8_SUPPORTED if (bit_depth == 16) -# ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED - png_set_chop_16(png_ptr); +# ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED + png_set_scale_16(png_ptr); # else png_set_strip_16(png_ptr); # endif diff --git a/contrib/pngminim/decoder/pngusr.dfa b/contrib/pngminim/decoder/pngusr.dfa index d9a1ff2bd..31260c99f 100644 --- a/contrib/pngminim/decoder/pngusr.dfa +++ b/contrib/pngminim/decoder/pngusr.dfa @@ -37,4 +37,4 @@ option SETJMP on option STDIO on option READ_EXPAND on option READ_16_TO_8 on -option READ_16_TO_8_ACCURATE_SCALE on +option READ_STRIP_16_TO_8 on diff --git a/contrib/pngminim/preader/pngusr.dfa b/contrib/pngminim/preader/pngusr.dfa index 155137764..e5eae520f 100644 --- a/contrib/pngminim/preader/pngusr.dfa +++ b/contrib/pngminim/preader/pngusr.dfa @@ -37,5 +37,5 @@ option READ_bKGD on option READ_GAMMA on option READ_EXPAND on option READ_16_TO_8 on -option READ_CHOP_16_TO_8 on +option READ_STRIP_16_TO_8 on option READ_GRAY_TO_RGB on diff --git a/contrib/visupng/PngFile.c b/contrib/visupng/PngFile.c index 5cab576e4..3998c6d20 100644 --- a/contrib/visupng/PngFile.c +++ b/contrib/visupng/PngFile.c @@ -177,8 +177,8 @@ BOOL PngLoadImage (PTSTR pstrFileName, png_byte **ppbImageData, #ifdef PNG_READ_16_TO_8_SUPPORTED if (iBitDepth == 16) -# ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED - png_set_chop_16(png_ptr); +# ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED + png_set_scale_16(png_ptr); # else png_set_strip_16(png_ptr); # endif diff --git a/libpng-manual.txt b/libpng-manual.txt index 6e131ed77..f36a615ec 100644 --- a/libpng-manual.txt +++ b/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.4beta04 - June 16, 2011 + libpng version 1.5.4beta05 - June 18, 2011 Updated and distributed by 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: - libpng versions 0.97, January 1998, through 1.5.4beta04 - June 16, 2011 + libpng versions 0.97, January 1998, through 1.5.4beta05 - June 18, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -847,12 +847,12 @@ interface or libpng API calls for the low level interface. For reference the settings and API calls required are: 8-bit values: - PNG_TRANSFORM_STRIP_16 | PNG_EXPAND - png_set_expand(png_ptr); png_set_strip_16(png_ptr); + PNG_TRANSFORM_SCALE_16 | PNG_EXPAND + png_set_expand(png_ptr); png_set_scale_16(png_ptr); If you must get exactly the same inaccurate results produced by default in versions prior to libpng-1.5.4, - use PNG_TRANSFORM_CHOP_16 and png_set_chop_16(png_ptr) + use PNG_TRANSFORM_STRIP_16 and png_set_strip_16(png_ptr) instead. 16-bit values: @@ -878,8 +878,10 @@ the entire image into memory, and (b) the input transformations you want to do are limited to the following set: PNG_TRANSFORM_IDENTITY No transformation - PNG_TRANSFORM_STRIP_16 Strip 16-bit samples to - 8-bit + PNG_TRANSFORM_SCALE_16 Strip 16-bit samples to + 8-bit accurately + PNG_TRANSFORM_STRIP_16 Chop 16-bit samples to + 8-bit less accurately PNG_TRANSFORM_STRIP_ALPHA Discard the alpha channel PNG_TRANSFORM_PACKING Expand 1, 2 and 4-bit samples to bytes @@ -1404,12 +1406,12 @@ byte, unless png_set_packing() is called. 8-bit RGB data will be stored in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha() is called to insert filler bytes, either before or after each RGB triplet. 16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant -byte of the color value first, unless png_set_strip_16() is called to +byte of the color value first, unless png_set_scale_16() is called to transform it to regular RGB RGB triplets, or png_set_filler() or png_set_add alpha() is called to insert filler bytes, either before or after each RRGGBB triplet. Similarly, 8-bit or 16-bit grayscale data can -be modified with -png_set_filler(), png_set_add_alpha(), or png_set_strip_16(). +be modified with png_set_filler(), png_set_add_alpha(), png_set_strip_16(), +or png_set_scale_16(). The following code transforms grayscale images of less than 8 to 8 bits, changes paletted images to RGB, and adds a full alpha channel if there is @@ -1446,7 +1448,7 @@ PNG can have files with 16 bits per channel. If you only can handle 8 bits per channel, this will strip the pixels down to 8-bit. if (bit_depth == 16) - png_set_strip_16(png_ptr); + png_set_scale_16(png_ptr); If you need to process the alpha channel on the image separately from the image data (for example if you convert it to a bitmap mask) it is possible to have @@ -4103,13 +4105,10 @@ use with textual data. Prior to libpng-1.5.4, the PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED option was off by default, and slightly inaccurate scaling occurred. -This option can no longer be turned off, and 16-to-8 scaling is always -accurate. This change will result in some different results while -reading 16-bit images, with none of the pixels being off-by-one any -longer (see Clause 13.12 of the PNG specification). If you must -have exactly the same inaccurate results that libpng produced by -default previously, then you can use the png_set_chop_16() API instead -of png_set_strip_16(). +This option can no longer be turned off, and the choice of accurate +or inaccurate 16-to-8 scaling is by using the new png_set_scale_16_to_8() +API for accurate scaling or the old png_set_strip_16_to_8() API for simple +chopping. Prior to libpng-1.5.4, the png_set_user_limits() function could only be used to reduce the width and height limits from the value of @@ -4425,13 +4424,13 @@ Other rules can be inferred by inspecting the libpng source. XIV. Y2K Compliance in libpng -June 16, 2011 +June 18, 2011 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.5.4beta04 are Y2K compliant. It is my belief that earlier +upward through 1.5.4beta05 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 fcf40e06b..634f21ec0 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "June 16, 2011" +.TH LIBPNG 3 "June 18, 2011" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta04 +libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta05 .SH SYNOPSIS \fI\fB @@ -955,7 +955,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.4beta04 - June 16, 2011 + libpng version 1.5.4beta05 - June 18, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -966,7 +966,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.4beta04 - June 16, 2011 + libpng versions 0.97, January 1998, through 1.5.4beta05 - June 18, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -1802,12 +1802,12 @@ interface or libpng API calls for the low level interface. For reference the settings and API calls required are: 8-bit values: - PNG_TRANSFORM_STRIP_16 | PNG_EXPAND - png_set_expand(png_ptr); png_set_strip_16(png_ptr); + PNG_TRANSFORM_SCALE_16 | PNG_EXPAND + png_set_expand(png_ptr); png_set_scale_16(png_ptr); If you must get exactly the same inaccurate results produced by default in versions prior to libpng-1.5.4, - use PNG_TRANSFORM_CHOP_16 and png_set_chop_16(png_ptr) + use PNG_TRANSFORM_STRIP_16 and png_set_strip_16(png_ptr) instead. 16-bit values: @@ -1833,8 +1833,10 @@ the entire image into memory, and (b) the input transformations you want to do are limited to the following set: PNG_TRANSFORM_IDENTITY No transformation - PNG_TRANSFORM_STRIP_16 Strip 16-bit samples to - 8-bit + PNG_TRANSFORM_SCALE_16 Strip 16-bit samples to + 8-bit accurately + PNG_TRANSFORM_STRIP_16 Chop 16-bit samples to + 8-bit less accurately PNG_TRANSFORM_STRIP_ALPHA Discard the alpha channel PNG_TRANSFORM_PACKING Expand 1, 2 and 4-bit samples to bytes @@ -2359,12 +2361,12 @@ byte, unless png_set_packing() is called. 8-bit RGB data will be stored in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha() is called to insert filler bytes, either before or after each RGB triplet. 16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant -byte of the color value first, unless png_set_strip_16() is called to +byte of the color value first, unless png_set_scale_16() is called to transform it to regular RGB RGB triplets, or png_set_filler() or png_set_add alpha() is called to insert filler bytes, either before or after each RRGGBB triplet. Similarly, 8-bit or 16-bit grayscale data can -be modified with -png_set_filler(), png_set_add_alpha(), or png_set_strip_16(). +be modified with png_set_filler(), png_set_add_alpha(), png_set_strip_16(), +or png_set_scale_16(). The following code transforms grayscale images of less than 8 to 8 bits, changes paletted images to RGB, and adds a full alpha channel if there is @@ -2401,7 +2403,7 @@ PNG can have files with 16 bits per channel. If you only can handle 8 bits per channel, this will strip the pixels down to 8-bit. if (bit_depth == 16) - png_set_strip_16(png_ptr); + png_set_scale_16(png_ptr); If you need to process the alpha channel on the image separately from the image data (for example if you convert it to a bitmap mask) it is possible to have @@ -5058,13 +5060,10 @@ use with textual data. Prior to libpng-1.5.4, the PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED option was off by default, and slightly inaccurate scaling occurred. -This option can no longer be turned off, and 16-to-8 scaling is always -accurate. This change will result in some different results while -reading 16-bit images, with none of the pixels being off-by-one any -longer (see Clause 13.12 of the PNG specification). If you must -have exactly the same inaccurate results that libpng produced by -default previously, then you can use the png_set_chop_16() API instead -of png_set_strip_16(). +This option can no longer be turned off, and the choice of accurate +or inaccurate 16-to-8 scaling is by using the new png_set_scale_16_to_8() +API for accurate scaling or the old png_set_strip_16_to_8() API for simple +chopping. Prior to libpng-1.5.4, the png_set_user_limits() function could only be used to reduce the width and height limits from the value of @@ -5380,13 +5379,13 @@ Other rules can be inferred by inspecting the libpng source. .SH XIV. Y2K Compliance in libpng -June 16, 2011 +June 18, 2011 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.5.4beta04 are Y2K compliant. It is my belief that earlier +upward through 1.5.4beta05 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 @@ -5579,7 +5578,7 @@ the first widely used release: 1.5.3rc01-02 15 10503 15.so.15.3[.0] 1.5.3beta11 15 10503 15.so.15.3[.0] 1.5.3 [omitted] - 1.5.4beta01-03 15 10504 15.so.15.4[.0] + 1.5.4beta01-05 15 10504 15.so.15.4[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -5636,7 +5635,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.5.4beta04 - June 16, 2011: +Libpng version 1.5.4beta05 - June 18, 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). @@ -5659,7 +5658,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.4beta04, June 16, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 18, 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 @@ -5758,7 +5757,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 16, 2011 +June 18, 2011 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index e6478f1bc..a507ef245 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,4 +1,4 @@ -.TH LIBPNGPF 3 "June 16, 2011" +.TH LIBPNGPF 3 "June 18, 2011" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta05 (private functions) diff --git a/png.5 b/png.5 index f1d2e83fd..881bb1827 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "June 16, 2011" +.TH PNG 5 "June 18, 2011" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/pngconf.h b/pngconf.h index 1a8c81a32..127568daa 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.5.4beta05 - June 16, 2011 + * libpng version 1.5.4beta05 - June 18, 2011 * * Copyright (c) 1998-2011 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt index 9fd8dd698..628e78e22 100644 --- a/projects/vstudio/readme.txt +++ b/projects/vstudio/readme.txt @@ -1,7 +1,7 @@ VisualStudio instructions -libpng version 1.5.4beta05 - June 16, 2011 +libpng version 1.5.4beta05 - June 18, 2011 Copyright (c) 1998-2010 Glenn Randers-Pehrson diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props index d532b17d5..011a19251 100644 --- a/projects/vstudio/zlib.props +++ b/projects/vstudio/zlib.props @@ -2,7 +2,7 @@