From c7822514cc81427e44485a8638114068f55ba89d Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 7 May 2011 21:23:43 -0500 Subject: [PATCH] [devel] Fix typos in comments, add new API synopses to libpng.3 --- ANNOUNCE | 5 +++-- CHANGES | 3 ++- libpng-manual.txt | 6 +++--- libpng.3 | 27 ++++++++++++++++++++------- png.h | 18 +++++++++--------- pngrtran.c | 8 ++++---- 6 files changed, 41 insertions(+), 26 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 6d7110bcb..e2fe85d84 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.3beta06 - May 7, 2011 +Libpng 1.5.3beta06 - May 8, 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. @@ -97,8 +97,9 @@ Version 1.5.3beta05 [May 6, 2011] the code more robust. Also deflateEnd checking is added - previously libpng would ignore an error at the end of the stream. -Version 1.5.3beta06 [May 7, 2011] +Version 1.5.3beta06 [May 8, 2011] Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt + Implementated premultiplied alpha support: png_set_alpha_mode API Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit diff --git a/CHANGES b/CHANGES index 5cb562605..2551ec083 100644 --- a/CHANGES +++ b/CHANGES @@ -3356,8 +3356,9 @@ Version 1.5.3beta05 [May 6, 2011] the code more robust. Also deflateEnd checking is added - previously libpng would ignore an error at the end of the stream. -Version 1.5.3beta06 [May 7, 2011] +Version 1.5.3beta06 [May 8, 2011] Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt + Implementated premultiplied alpha support: png_set_alpha_mode API 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 c889aa42c..8cb47bc34 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.3beta06 - May 7, 2011 + libpng version 1.5.3beta06 - May 8, 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.3beta06 - May 7, 2011 + libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -4198,7 +4198,7 @@ Other rules can be inferred by inspecting the libpng source. XIV. Y2K Compliance in libpng -May 7, 2011 +May 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 55f423597..935fa72b1 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,4 +1,4 @@ -.TH LIBPNG 3 "May 7, 2011" +.TH LIBPNG 3 "May 8, 2011" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta06 .SH SYNOPSIS @@ -512,6 +512,14 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta06 \fI\fB +\fBvoid png_set_alpha_mode (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fImode\fP\fB, double \fIoutput_gamma\fP\fB);\fP + +\fI\fB + +\fBvoid png_set_alpha_mode_fixed (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fImode\fP\fB, png_fixed_point \fIoutput_gamma\fP\fB);\fP + +\fI\fB + \fBvoid png_set_background (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIbackground_color\fP\fB, int \fP\fIbackground_gamma_code\fP\fB, int \fP\fIneed_expand\fP\fB, double \fIbackground_gamma\fP\fB);\fP \fI\fB @@ -943,7 +951,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.3beta06 - May 7, 2011 + libpng version 1.5.3beta06 - May 8, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -954,7 +962,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.3beta06 - May 7, 2011 + libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -2415,6 +2423,11 @@ on gamma in the PNG specification for an excellent description of what gamma is, and why all applications should support it. It is strongly recommended that PNG viewers support gamma correction. +This API unconditionally sets the screen and file gamma values, so it will +override the value in the PNG file unless it is called before the PNG file +reading starts. For this reason you must always call it with the PNG file +value when you call it in this position: + if (png_get_gAMA(png_ptr, info_ptr, &file_gamma)) png_set_gamma(png_ptr, screen_gamma, file_gamma); @@ -5136,7 +5149,7 @@ Other rules can be inferred by inspecting the libpng source. .SH XIV. Y2K Compliance in libpng -May 7, 2011 +May 8, 2011 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. @@ -5388,7 +5401,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.5.3beta06 - May 7, 2011: +Libpng version 1.5.3beta06 - May 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). @@ -5411,7 +5424,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 7, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 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 @@ -5510,7 +5523,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -May 7, 2011 +May 8, 2011 .\" end of man page diff --git a/png.h b/png.h index 6cae5e1b0..ebe214ec5 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.3beta06 - May 7, 2011 + * libpng version 1.5.3beta06 - May 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.3beta06 - May 7, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -182,7 +182,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 7, 2011, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 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: @@ -294,7 +294,7 @@ * Y2K compliance in libpng: * ========================= * - * May 7, 2011 + * May 8, 2011 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -357,7 +357,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.5.3beta06" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.3beta06 - May 7, 2011\n" + " libpng version 1.5.3beta06 - May 8, 2011\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -1145,7 +1145,7 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, * standard alpha composition is relatively low, because the pixels are * isolated, therefore typically the accuracy loss in storing 8 bit linear * values is acceptable. (This is not true if the alpha channel is used to - * simiulate transparency over large areas - use 16 bits or the PNG format in + * simulate transparency over large areas - use 16 bits or the PNG format in * this case!) This is the 'OPTIMIZED' format. For this format a pixel is * treated as opaque only if the alpha value is equal to the maximum value. * @@ -1229,7 +1229,7 @@ PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structp png_ptr, * values. */ #define PNG_DEFAULT_sRGB 0 /* sRGB gamma and color space */ -#define PNG_GAMMA_sRGB 220000 /* Television standards - matchs sRGB gamma */ +#define PNG_GAMMA_sRGB 220000 /* Television standards--matches sRGB gamma */ #define PNG_GAMMA_MAC 151724 /* Television with a 1.45 correction table */ #define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */ @@ -1248,7 +1248,7 @@ PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structp png_ptr, * display preceeded by a power-law lookup table of power 1.45. This is how * early Mac systems behaved. * - * png_set_alpha_mode(pp, PNG_ALPHA_STANDRAD, PNG_GAMMA_LINEAR); + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR); * This is the classic Jim Blinn approach and will work in academic * environments where everything is done by the book. It has the shortcoming * of assuming that input PNG data with no gamma information is linear - this @@ -1413,7 +1413,7 @@ PNG_EXPORT(49, void, png_set_quantize, #define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) /* Handle gamma correction. Screen_gamma=(display_exponent). - * NOTE: this API simply sets the screen and file gamma values, it will + * NOTE: this API simply sets the screen and file gamma values. It will * therefore override the value for gamma in a PNG file if it is called after * the file header has been read - use with care! */ diff --git a/pngrtran.c b/pngrtran.c index 7c9c5518d..bc818f554 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -196,7 +196,7 @@ png_set_alpha_mode_fixed(png_structp png_ptr, int mode, else if (output_gamma < 70000 || output_gamma > 300000) png_error(png_ptr, "output gamma out of expected range"); - /* The default file gamma is the inverse of the output gamma, the output + /* The default file gamma is the inverse of the output gamma; the output * gamma may be changed below so get the file value first: */ file_gamma = png_reciprocal(output_gamma); @@ -260,7 +260,7 @@ png_set_alpha_mode_fixed(png_structp png_ptr, int mode, /* But always set the output gamma: */ png_ptr->screen_gamma = output_gamma; - /* Finally, if pre-multiplying, set the background fields to achive the + /* Finally, if pre-multiplying, set the background fields to achieve the * desired result. */ if (compose) @@ -1540,7 +1540,7 @@ png_init_read_transformations(png_structp png_ptr) /* Prevent the transformations being done again. * - * NOTE: this is highly dubious, it zaps the transformations in + * NOTE: this is highly dubious; it zaps the transformations in * place. This seems inconsistent with the general treatment of the * transformations elsewhere. */ @@ -1893,7 +1893,7 @@ png_do_read_transformations(png_structp png_ptr) png_error(png_ptr, "NULL row buffer"); } - /* The following is debugging, prior to 1.5.3 the code was never compiled in, + /* The following is debugging; prior to 1.5.3 the code was never compiled in; * in 1.5.3 PNG_FLAG_DETECT_UNINITIALIZED was added and the macro * PNG_WARN_UNINITIALIZED_ROW removed. In 1.5 the new flag is set only for * selected new APIs to ensure that there is no API change.