[libpng15] Imported from libpng-1.5.5beta07.tar
diff --git a/LICENSE b/LICENSE
index d5e4068..c981709 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 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 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-August 26, 2011
+September 8, 2011
diff --git a/README b/README
index be95560..0c4aea8 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.5beta07 - August 26, 2011 (shared library 15.0)
+README for libpng version 1.5.5beta07 - September 8, 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/libpng-manual.txt b/libpng-manual.txt
index 2175339..996a4f7 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.5beta07 - August 26, 2011
+ libpng version 1.5.5beta07 - September 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.5beta07 - August 26, 2011
+ libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -691,7 +691,7 @@
 
    png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
 
-If you don't know the gamma for you system it is probably 2.2 - a good
+If you don't know the gamma for your system it is probably 2.2 - a good
 approximation to the IEC standard for display systems (sRGB).  If images are
 too contrasty or washed out you got the value wrong - check your system
 documentation!
@@ -720,16 +720,18 @@
 suitable background, as described in the PNG specification.
 
 Libpng only supports composing onto a single color (using png_set_background;
-see below.)  Otherwise you must do the composition yourself and, in this case,
+see below).  Otherwise you must do the composition yourself and, in this case,
 you may need to call png_set_alpha_mode:
 
 #if PNG_LIBPNG_VER >= 10504
    png_set_alpha_mode(png_ptr, mode, screen_gamma);
+#else
+   png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
 #endif
 
-The screen_gamma value is the same as the argument to png_set_gamma, however how
-it affects the output depends on the mode.  png_set_alpha_mode() sets the file
-gamma default to 1/screen_gamma, so normally you don't need to call
+The screen_gamma value is the same as the argument to png_set_gamma; however,
+how it affects the output depends on the mode.  png_set_alpha_mode() sets the
+file gamma default to 1/screen_gamma, so normally you don't need to call
 png_set_gamma.  If you need different defaults call png_set_gamma() before
 png_set_alpha_mode() - if you call it after it will override the settings made
 by png_set_alpha_mode().
@@ -756,10 +758,11 @@
 be used!
 
 The remaining modes assume you don't need to do any further color correction or
-that if you do your color correction software knows all about alpha (it
+that if you do, your color correction software knows all about alpha (it
 probably doesn't!)
 
-    PNG_ALPHA_STANDARD:  The data libpng produces is encoded in the standard way
+    PNG_ALPHA_STANDARD:  The data libpng produces
+is encoded in the standard way
 assumed by most correctly written graphics software.
 The gamma encoding will be removed by libpng and the
 linear component values will be pre-multiplied by the
@@ -789,7 +792,8 @@
 supports it, use png_set_expand_16() to force all
 components to 16 bits.
 
-    PNG_ALPHA_OPTIMIZED: This mode is the same as PNG_ALPHA_STANDARD except that
+    PNG_ALPHA_OPTIMIZED: This mode is the same
+as PNG_ALPHA_STANDARD except that
 completely opaque pixels are gamma encoded according to
 the screen_gamma value.  Pixels with alpha less than 1.0
 will still have linear components.
@@ -809,10 +813,11 @@
 You can also try this format if your software is broken;
 it might look better.
 
-    PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD however all component values,
+    PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD;
+however, all component values,
 including the alpha channel are gamma encoded.  This is
 an appropriate format to try if your software, or more
-likely hardware, is totally broken: if it performs
+likely hardware, is totally broken, i.e., if it performs
 linear arithmetic directly on gamma encoded values.
 
 In most cases of broken software or hardware the bug in the final display
@@ -828,14 +833,14 @@
        screen_gamma);
 
 You can do color correction on the result (libpng does not currently
-support color correction internally.)  When you handle the alpha channel
+support color correction internally).  When you handle the alpha channel
 you need to undo the gamma encoding and multiply out the alpha.
 
    png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
        screen_gamma);
    png_set_expand_16(png_ptr);
 
-If you are using the high level interface don't call png_set_expand_16();
+If you are using the high level interface, don't call png_set_expand_16();
 instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
 
 With this mode you can't do color correction, but you can do arithmetic,
@@ -847,7 +852,7 @@
 You can avoid the expansion to 16-bit components with this mode, but you
 lose the ability to scale the image or perform other linear arithmetic.
 All you can do is compose the result onto a matching output.  Since this
-mode is libpng specific you also need to write your own composition
+mode is libpng-specific you also need to write your own composition
 software.
 
 If you don't need, or can't handle, the alpha channel you can call
@@ -860,7 +865,7 @@
 
 The background_color is an RGB or grayscale value according to the data format
 libpng will produce for you.  Because you don't yet know the format of the PNG
-file if you call png_set_background at this point you must arrange for the
+file, if you call png_set_background at this point you must arrange for the
 format produced by libpng to always have 8-bit or 16-bit components and then
 store the color as an 8-bit or 16-bit color as appropriate.  The color contains
 separate gray and RGB component values, so you can let libpng produce gray or
@@ -2101,7 +2106,7 @@
 
 libpng includes a test program, pngvalid, that illustrates reading and
 writing of interlaced images.  If you can't get interlacing to work in your
-code and don't want to leave it to libpng (the recommended approach) see
+code and don't want to leave it to libpng (the recommended approach), see
 how pngvalid.c does it.
 
 Finishing a sequential read
@@ -3909,6 +3914,9 @@
 version with leading zero, and release number with leading zero,
 (e.g., libpng_vn for version 1.0.7 is 10007).
 
+Note that this function does not take a png_ptr, so you can call it
+before you've created one.
+
 You can also check which version of png.h you used when compiling your
 application:
 
@@ -4145,10 +4153,9 @@
 to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
 
 There are changes of form in png.h, including new and changed macros to
-declare
-parts of the API.  Some API functions with arguments that are pointers to
-data not modified within the function have been corrected to declare
-these arguments with PNG_CONST.
+declare parts of the API.  Some API functions with arguments that are
+pointers to data not modified within the function have been corrected to
+declare these arguments with PNG_CONST.
 
 Much of the internal use of C macros to control the library build has also
 changed and some of this is visible in the exported header files, in
@@ -4222,7 +4229,7 @@
 corresponding function by defining PNG_USE_READ_MACROS or
 PNG_NO_USE_READ_MACROS before including png.h.  Notice that this is
 only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
- will lead to a link failure.
+will lead to a link failure.
 
 Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
 when compressing the IDAT data and textual data such as zTXt and iCCP.
@@ -4553,7 +4560,7 @@
 
 XIV. Y2K Compliance in libpng
 
-August 26, 2011
+September 8, 2011
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
diff --git a/libpng.3 b/libpng.3
index 6151778..655bac8 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "August 26, 2011"
+.TH LIBPNG 3 "September 8, 2011"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
 .SH SYNOPSIS
@@ -977,7 +977,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.5beta07 - August 26, 2011
+ libpng version 1.5.5beta07 - September 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -988,7 +988,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.5beta07 - August 26, 2011
+ libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -1668,7 +1668,7 @@
 
    png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
 
-If you don't know the gamma for you system it is probably 2.2 - a good
+If you don't know the gamma for your system it is probably 2.2 - a good
 approximation to the IEC standard for display systems (sRGB).  If images are
 too contrasty or washed out you got the value wrong - check your system
 documentation!
@@ -1697,16 +1697,18 @@
 suitable background, as described in the PNG specification.
 
 Libpng only supports composing onto a single color (using png_set_background;
-see below.)  Otherwise you must do the composition yourself and, in this case,
+see below).  Otherwise you must do the composition yourself and, in this case,
 you may need to call png_set_alpha_mode:
 
 #if PNG_LIBPNG_VER >= 10504
    png_set_alpha_mode(png_ptr, mode, screen_gamma);
+#else
+   png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
 #endif
 
-The screen_gamma value is the same as the argument to png_set_gamma, however how
-it affects the output depends on the mode.  png_set_alpha_mode() sets the file
-gamma default to 1/screen_gamma, so normally you don't need to call
+The screen_gamma value is the same as the argument to png_set_gamma; however,
+how it affects the output depends on the mode.  png_set_alpha_mode() sets the
+file gamma default to 1/screen_gamma, so normally you don't need to call
 png_set_gamma.  If you need different defaults call png_set_gamma() before
 png_set_alpha_mode() - if you call it after it will override the settings made
 by png_set_alpha_mode().
@@ -1733,10 +1735,11 @@
 be used!
 
 The remaining modes assume you don't need to do any further color correction or
-that if you do your color correction software knows all about alpha (it
+that if you do, your color correction software knows all about alpha (it
 probably doesn't!)
 
-    PNG_ALPHA_STANDARD:  The data libpng produces is encoded in the standard way
+    PNG_ALPHA_STANDARD:  The data libpng produces
+is encoded in the standard way
 assumed by most correctly written graphics software.
 The gamma encoding will be removed by libpng and the
 linear component values will be pre-multiplied by the
@@ -1766,7 +1769,8 @@
 supports it, use png_set_expand_16() to force all
 components to 16 bits.
 
-    PNG_ALPHA_OPTIMIZED: This mode is the same as PNG_ALPHA_STANDARD except that
+    PNG_ALPHA_OPTIMIZED: This mode is the same
+as PNG_ALPHA_STANDARD except that
 completely opaque pixels are gamma encoded according to
 the screen_gamma value.  Pixels with alpha less than 1.0
 will still have linear components.
@@ -1786,10 +1790,11 @@
 You can also try this format if your software is broken;
 it might look better.
 
-    PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD however all component values,
+    PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD;
+however, all component values,
 including the alpha channel are gamma encoded.  This is
 an appropriate format to try if your software, or more
-likely hardware, is totally broken: if it performs
+likely hardware, is totally broken, i.e., if it performs
 linear arithmetic directly on gamma encoded values.
 
 In most cases of broken software or hardware the bug in the final display
@@ -1805,14 +1810,14 @@
        screen_gamma);
 
 You can do color correction on the result (libpng does not currently
-support color correction internally.)  When you handle the alpha channel
+support color correction internally).  When you handle the alpha channel
 you need to undo the gamma encoding and multiply out the alpha.
 
    png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
        screen_gamma);
    png_set_expand_16(png_ptr);
 
-If you are using the high level interface don't call png_set_expand_16();
+If you are using the high level interface, don't call png_set_expand_16();
 instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
 
 With this mode you can't do color correction, but you can do arithmetic,
@@ -1824,7 +1829,7 @@
 You can avoid the expansion to 16-bit components with this mode, but you
 lose the ability to scale the image or perform other linear arithmetic.
 All you can do is compose the result onto a matching output.  Since this
-mode is libpng specific you also need to write your own composition
+mode is libpng-specific you also need to write your own composition
 software.
 
 If you don't need, or can't handle, the alpha channel you can call
@@ -1837,7 +1842,7 @@
 
 The background_color is an RGB or grayscale value according to the data format
 libpng will produce for you.  Because you don't yet know the format of the PNG
-file if you call png_set_background at this point you must arrange for the
+file, if you call png_set_background at this point you must arrange for the
 format produced by libpng to always have 8-bit or 16-bit components and then
 store the color as an 8-bit or 16-bit color as appropriate.  The color contains
 separate gray and RGB component values, so you can let libpng produce gray or
@@ -3078,7 +3083,7 @@
 
 libpng includes a test program, pngvalid, that illustrates reading and
 writing of interlaced images.  If you can't get interlacing to work in your
-code and don't want to leave it to libpng (the recommended approach) see
+code and don't want to leave it to libpng (the recommended approach), see
 how pngvalid.c does it.
 
 .SS Finishing a sequential read
@@ -4887,6 +4892,9 @@
 version with leading zero, and release number with leading zero,
 (e.g., libpng_vn for version 1.0.7 is 10007).
 
+Note that this function does not take a png_ptr, so you can call it
+before you've created one.
+
 You can also check which version of png.h you used when compiling your
 application:
 
@@ -5123,10 +5131,9 @@
 to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
 
 There are changes of form in png.h, including new and changed macros to
-declare
-parts of the API.  Some API functions with arguments that are pointers to
-data not modified within the function have been corrected to declare
-these arguments with PNG_CONST.
+declare parts of the API.  Some API functions with arguments that are
+pointers to data not modified within the function have been corrected to
+declare these arguments with PNG_CONST.
 
 Much of the internal use of C macros to control the library build has also
 changed and some of this is visible in the exported header files, in
@@ -5200,7 +5207,7 @@
 corresponding function by defining PNG_USE_READ_MACROS or
 PNG_NO_USE_READ_MACROS before including png.h.  Notice that this is
 only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
- will lead to a link failure.
+will lead to a link failure.
 
 Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
 when compressing the IDAT data and textual data such as zTXt and iCCP.
@@ -5531,7 +5538,7 @@
 
 .SH XIV. Y2K Compliance in libpng
 
-August 26, 2011
+September 8, 2011
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
@@ -5790,7 +5797,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.5beta07 - August 26, 2011:
+Libpng version 1.5.5beta07 - September 8, 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).
 
@@ -5813,7 +5820,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 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
@@ -5912,7 +5919,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-August 26, 2011
+September 8, 2011
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 9ecc4b5..a49e9ff 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "August 26, 2011"
+.TH LIBPNGPF 3 "September 8, 2011"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
 (private functions)
diff --git a/png.5 b/png.5
index c78b016..d9348fc 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "August 26, 2011"
+.TH PNG 5 "September 8, 2011"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.h b/png.h
index eb78793..020f912 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.5beta07 - August 26, 2011
+ * libpng version 1.5.5beta07 - September 8, 2011
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   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.97, January 1998, through 1.5.5beta07 - August 26, 2011: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -189,7 +189,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 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:
@@ -301,7 +301,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    August 26, 2011
+ *    September 8, 2011
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -364,7 +364,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.5.5beta07"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.5beta07 - August 26, 2011\n"
+     " libpng version 1.5.5beta07 - September 8, 2011\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
diff --git a/pngconf.h b/pngconf.h
index 90504f5..7d98486 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.5beta07 - August 26, 2011
+ * libpng version 1.5.5beta07 - September 8, 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 f699cfa..9910579 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.5beta07 - August 26, 2011
+libpng version 1.5.5beta07 - September 8, 2011
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 7e4fc9e..a476b2a 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.5.5beta07 - August 29, 2011
+ * libpng version 1.5.5beta07 - September 8, 2011
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index c9729df..b34687f 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.5.5beta07 - August 26, 2011
+Makefiles for  libpng version 1.5.5beta07 - September 8, 2011
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile