From 00879b155a596392caf713d0a3e5f6eddddeb52c Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 15 Jan 2011 19:25:34 -0600 Subject: [PATCH] [devel] Mentioned in the documentation that applications must #include "zlib.h" if they need access to anything in zlib.h, and that a number of macros such as png_memset() are no longer accessible by applications. --- ANNOUNCE | 7 +++++-- CHANGES | 5 ++++- libpng-manual.txt | 21 ++++++++++++++++++--- libpng.3 | 29 ++++++++++++++++++++++------- 4 files changed, 49 insertions(+), 13 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 91723325e..64cb07eb6 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.1beta04 - January 15, 2011 +Libpng 1.5.1beta04 - January 16, 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. @@ -42,8 +42,11 @@ Version 1.5.1beta02 [January 14, 2011] Version 1.5.1beta03 [January 14, 2011] Fixed typecasting of some png_debug() statements (Cosmin) -Version 1.5.1beta04 [January 15, 2011] +Version 1.5.1beta04 [January 16, 2011] Updated documentation of png_set|get_tRNS() (Thomas Klausner). + Mentioned in the documentation that applications must #include "zlib.h" + if they need access to anything in zlib.h, and that a number of + macros such as png_memset() are no longer accessible by applications. Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit diff --git a/CHANGES b/CHANGES index 1381acd49..f9e607bfc 100644 --- a/CHANGES +++ b/CHANGES @@ -3158,8 +3158,11 @@ Version 1.5.1beta02 [January 14, 2011] Version 1.5.1beta03 [January 14, 2011] Fixed typecasting of some png_debug() statements (Cosmin) -Version 1.5.1beta04 [January 15, 2011] +Version 1.5.1beta04 [January 16, 2011] Updated documentation of png_set|get_tRNS() (Thomas Klausner). + Mentioned in the documentation that applications must #include "zlib.h" + if they need access to anything in zlib.h, and that a number of + macros such as png_memset() are no longer accessible by applications. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/libpng-manual.txt b/libpng-manual.txt index ff5d16dbd..27d3bef3d 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.1beta04 - January 15, 2011 + libpng version 1.5.1beta04 - January 16, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2010 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.1beta04 - January 15, 2011 + libpng versions 0.97, January 1998, through 1.5.1beta04 - January 16, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2010 Glenn Randers-Pehrson @@ -3460,6 +3460,15 @@ the main libpng control structures, png_struct and png_info, deprecated in earlier versions of libpng, has been completely removed from libpng 1.5. +We no longer include zlib.h in png.h. Applications that need access +to information in zlib.h will need to add the '#include "zlib.h"' +directive. It does not matter whether it is placed prior to or after +the '"#include png.h"' directive. + +We moved the png_strcpy(), png_strncpy(), png_strlen(), png_memcpy(), +png_memcmp(), png_sprintf, and png_memcpy() macros into a private +header file (pngpriv.h) that is not accessible to applications. + In png_get_iCCP, the type of "profile" was changed from png_charpp to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytepp. @@ -3498,6 +3507,12 @@ even if the library uses floating point in internal calculations. A new macro, PNG_FLOATING_ARITHMETIC_SUPPORTED, reveals whether the library uses floating point arithmetic (the default) or fixed point arithmetic internally for performance critical calculations such as gamma correction. +In some cases, the gamma calculations may produce slightly different +results. This has changed the results in png_rgb_to_gray and in alpha +composition (png_set_background for example). This applies even if the +original image was already linear (gamma == 1.0) and, therefore, it is +not necessary to linearize the image. This is because libpng has *not* +been changed to optimize that case correctly, yet. Fixed point support for the sCAL chunk comes with an important caveat; the sCAL specification uses a decimal encoding of floating point values @@ -3838,7 +3853,7 @@ Other rules can be inferred by inspecting the libpng source. XIV. Y2K Compliance in libpng -January 15, 2011 +January 16, 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 7e2fa4019..37460465e 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,4 +1,4 @@ -.TH LIBPNG 3 "January 15, 2011" +.TH LIBPNG 3 "January 16, 2011" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library 1.5.1beta04 .SH SYNOPSIS @@ -851,7 +851,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.1beta04 - January 15, 2011 + libpng version 1.5.1beta04 - January 16, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2010 Glenn Randers-Pehrson @@ -862,7 +862,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.1beta04 - January 15, 2011 + libpng versions 0.97, January 1998, through 1.5.1beta04 - January 16, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2010 Glenn Randers-Pehrson @@ -4311,6 +4311,15 @@ the main libpng control structures, png_struct and png_info, deprecated in earlier versions of libpng, has been completely removed from libpng 1.5. +We no longer include zlib.h in png.h. Applications that need access +to information in zlib.h will need to add the '#include "zlib.h"' +directive. It does not matter whether it is placed prior to or after +the '"#include png.h"' directive. + +We moved the png_strcpy(), png_strncpy(), png_strlen(), png_memcpy(), +png_memcmp(), png_sprintf, and png_memcpy() macros into a private +header file (pngpriv.h) that is not accessible to applications. + In png_get_iCCP, the type of "profile" was changed from png_charpp to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytepp. @@ -4349,6 +4358,12 @@ even if the library uses floating point in internal calculations. A new macro, PNG_FLOATING_ARITHMETIC_SUPPORTED, reveals whether the library uses floating point arithmetic (the default) or fixed point arithmetic internally for performance critical calculations such as gamma correction. +In some cases, the gamma calculations may produce slightly different +results. This has changed the results in png_rgb_to_gray and in alpha +composition (png_set_background for example). This applies even if the +original image was already linear (gamma == 1.0) and, therefore, it is +not necessary to linearize the image. This is because libpng has *not* +been changed to optimize that case correctly, yet. Fixed point support for the sCAL chunk comes with an important caveat; the sCAL specification uses a decimal encoding of floating point values @@ -4689,7 +4704,7 @@ Other rules can be inferred by inspecting the libpng source. .SH XIV. Y2K Compliance in libpng -January 15, 2011 +January 16, 2011 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. @@ -4936,7 +4951,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.5.1beta04 - January 15, 2011: +Libpng version 1.5.1beta04 - January 16, 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). @@ -4959,7 +4974,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.1beta04, January 15, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.1beta04, January 16, 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 @@ -5058,7 +5073,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -January 15, 2011 +January 16, 2011 .\" end of man page