[master] Reverted png_get_uint_16 macro to beta05 and added a

comment about the potential API incompatibility.
diff --git a/ANNOUNCE b/ANNOUNCE
index 7ebf2ab..a8a3ee2 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -71,6 +71,8 @@
     compression both fail to declare their input buffers with 'const'.
 
 version 1.4.5beta07 [November 24, 2010]
+  Reverted png_get_uint_16 macro to beta05 and added comment about the
+    potential API incompatibility.
 
 Send comments/corrections/commendations to glennrp at users.sourceforge.net
 or to png-mng-implement at lists.sf.net (subscription required; visit
diff --git a/CHANGES b/CHANGES
index 02144ea..f0348c0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2723,6 +2723,8 @@
     compression both fail to declare their input buffers with 'const'.
 
 version 1.4.5beta07 [November 24, 2010]
+  Reverted png_get_uint_16 macro to beta05 and added comment about the
+    potential API incompatibility.
 
 Send comments/corrections/commendations to glennrp at users.sourceforge.net
 or to png-mng-implement at lists.sf.net (subscription required; visit
diff --git a/png.h b/png.h
index 79081f3..772f890 100644
--- a/png.h
+++ b/png.h
@@ -2649,17 +2649,21 @@
       ((png_uint_32)(*((buf) + 1)) << 16) + \
       ((png_uint_32)(*((buf) + 2)) << 8) + \
       ((png_uint_32)(*((buf) + 3))))
-#  ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED  /* Undefined in 1.4.x by default. */
-#    define png_get_uint_16(buf) \
-       ((png_uint_16) \
-        (((unsigned int)(*(buf)) << 8) + \
-         ((unsigned int)(*((buf) + 1)))))
-#  else
-#    define png_get_uint_16(buf) \
-       ((png_uint_32) \
-        (((unsigned int)(*(buf)) << 8) + \
-         ((unsigned int)(*((buf) + 1)))))
-#  endif
+
+  /* The following definition introduces an API incompatibility (but not
+   * an ABI incompatibility) with libpng-1.4.0 through 1.4.4.  Prior to
+   * libpng-1.4.5 the macro, which is used by default, returned (incorrectly)
+   * a (png_uint_32), while the function, if used instead, correctly returned
+   * a (png_uint_16).
+   *
+   * Libpng versions 1.0.x and 1.2.x only used a function so are not affected
+   * by this potential API incompatibility between macros.
+   */
+#  define png_get_uint_16(buf) \
+     ((png_uint_16) \
+       (((unsigned int)(*(buf)) << 8) + \
+        ((unsigned int)(*((buf) + 1)))))
+
 #  define png_get_int_32(buf) \
      ((png_int_32)((*(buf) & 0x80) \
       ? -((png_int_32)((png_get_uint_32(buf) ^ 0xffffffffL) + 1)) \