[devel] Imported from libpng-1.5.0beta17.tar

This commit is contained in:
Glenn Randers-Pehrson 2010-04-16 19:27:08 -05:00
parent 0f0a19e9ce
commit 3cd7cffd0c
38 changed files with 287 additions and 190 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.5.0beta17 - April 1, 2010 Libpng 1.5.0beta17 - April 17, 2010
This is not intended to be a public release. It will be replaced 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. within a few weeks by a public version or by another test version.
@ -142,7 +142,13 @@ version 1.5.0beta16 [April 1, 2010]
Combined multiple png_warning() calls for a single error. Combined multiple png_warning() calls for a single error.
Restored the macro definition of png_check_sig(). Restored the macro definition of png_check_sig().
version 1.5.0beta17 [April 1, 2010] version 1.5.0beta17 [April 17, 2010]
Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
more accurately what it actually does. At the same time, renamed
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
Added some "(long)" typecasts to printf calls in png_handle_cHRM().
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

13
CHANGES
View File

@ -2054,7 +2054,7 @@ version 1.4.0beta46 [December 10, 2008]
PNG_TRANSFORM_STRIP_FILLER (Jim Barry). PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
version 1.4.0beta47 [December 15, 2008] version 1.4.0beta47 [December 15, 2008]
Support for dithering was removed by default, because it has never Support for dithering was disabled by default, because it has never
been well tested and doesn't work very well. The code has not been well tested and doesn't work very well. The code has not
been removed, however, and can be enabled by building libpng with been removed, however, and can be enabled by building libpng with
PNG_READ_DITHER_SUPPORTED defined. PNG_READ_DITHER_SUPPORTED defined.
@ -2611,7 +2611,7 @@ version 1.5.0beta15 [March 17, 2010]
Removed makefile.mingw. Removed makefile.mingw.
Eliminated PNG_NO_EXTERN and PNG_ALL_EXTERN Eliminated PNG_NO_EXTERN and PNG_ALL_EXTERN
version 1.5.0beta16 [April 14, 2010] version 1.5.0beta16 [April 1, 2010]
Make png_text_struct independent of PNG_iTXt_SUPPORTED, so that Make png_text_struct independent of PNG_iTXt_SUPPORTED, so that
fields are initialized in all configurations. The READ/WRITE fields are initialized in all configurations. The READ/WRITE
macros (PNG_(READ|WRITE)_iTXt_SUPPORTED) still function as macros (PNG_(READ|WRITE)_iTXt_SUPPORTED) still function as
@ -2622,6 +2622,15 @@ version 1.5.0beta16 [April 14, 2010]
Combined multiple png_warning() calls for a single error. Combined multiple png_warning() calls for a single error.
Restored the macro definition of png_check_sig(). Restored the macro definition of png_check_sig().
version 1.5.0beta17 [April 17, 2010]
Added some "(long)" typecasts to printf calls in png_handle_cHRM().
Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
more accurately what it actually does. At the same time, renamed
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
Added some "(long)" typecasts to printf calls in png_handle_cHRM().
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement https://lists.sourceforge.net/lists/listinfo/png-mng-implement

View File

@ -1,5 +1,5 @@
Installing libpng version 1.5.0beta17 - April 1, 2010 Installing libpng version 1.5.0beta17 - April 17, 2010
On Unix/Linux and similar systems, you can simply type On Unix/Linux and similar systems, you can simply type

View File

@ -10,7 +10,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 1, 2010, are libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 17, 2010, are
Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors 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 Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
April 1, 2010 April 17, 2010

2
README
View File

@ -1,4 +1,4 @@
README for libpng version 1.5.0beta17 - April 1, 2010 (shared library 15.0) README for libpng version 1.5.0beta17 - April 17, 2010 (shared library 15.0)
See the note about version numbers near the top of png.h See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng. See INSTALL for instructions on how to install libpng.

View File

@ -25,7 +25,7 @@
#define PNG_NO_READ_GAMMA #define PNG_NO_READ_GAMMA
#define PNG_NO_READ_BACKGROUND #define PNG_NO_READ_BACKGROUND
#define PNG_NO_READ_DITHER #define PNG_NO_READ_QUANTIZE
#define PNG_NO_READ_INVERT #define PNG_NO_READ_INVERT
#define PNG_NO_READ_SHIFT #define PNG_NO_READ_SHIFT
#define PNG_NO_READ_PACK #define PNG_NO_READ_PACK

View File

@ -23,7 +23,7 @@
#define PNG_NO_WRITE_BACKGROUND #define PNG_NO_WRITE_BACKGROUND
#define PNG_NO_WRITE_GAMMA #define PNG_NO_WRITE_GAMMA
#define PNG_NO_WRITE_DITHER #define PNG_NO_WRITE_QUANTIZE
#define PNG_NO_WRITE_INVERT #define PNG_NO_WRITE_INVERT
#define PNG_NO_WRITE_SHIFT #define PNG_NO_WRITE_SHIFT
#define PNG_NO_WRITE_PACK #define PNG_NO_WRITE_PACK

View File

@ -19,7 +19,7 @@
#define png_error(s1,s2) png_err(s1) #define png_error(s1,s2) png_err(s1)
#define png_chunk_error(s1,s2) png_err(s1) #define png_chunk_error(s1,s2) png_err(s1)
#define PNG_NO_READ_DITHER #define PNG_NO_READ_QUANTIZE
#define PNG_NO_READ_INVERT #define PNG_NO_READ_INVERT
#define PNG_NO_READ_SHIFT #define PNG_NO_READ_SHIFT
#define PNG_NO_READ_PACK #define PNG_NO_READ_PACK

View File

@ -2,7 +2,7 @@
#if 0 /* in case someone actually tries to compile this */ #if 0 /* in case someone actually tries to compile this */
/* example.c - an example of using libpng /* example.c - an example of using libpng
* Last changed in libpng 1.5.0 [April 14, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* This file has been placed in the public domain by the authors. * This file has been placed in the public domain by the authors.
* Maintained 1998-2010 Glenn Randers-Pehrson * Maintained 1998-2010 Glenn Randers-Pehrson
* Maintained 1996, 1997 Andreas Dilger) * Maintained 1996, 1997 Andreas Dilger)
@ -160,7 +160,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* File is already open */
* If you have enough memory to read in the entire image at once, * If you have enough memory to read in the entire image at once,
* and you need to specify only transforms that can be controlled * and you need to specify only transforms that can be controlled
* with one of the PNG_TRANSFORM_* bits (this presently excludes * with one of the PNG_TRANSFORM_* bits (this presently excludes
* dithering, filling, setting background, and doing gamma * quantizing, filling, setting background, and doing gamma
* adjustment), then you can read the entire image (including * adjustment), then you can read the entire image (including
* pixels) into the info structure with this call: * pixels) into the info structure with this call:
*/ */
@ -271,8 +271,8 @@ void read_png(FILE *fp, unsigned int sig_read) /* File is already open */
png_set_gamma(png_ptr, screen_gamma, 0.45455); png_set_gamma(png_ptr, screen_gamma, 0.45455);
} }
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
/* Dither RGB files down to 8 bit palette or reduce palettes /* Quantize RGB files down to 8 bit palette or reduce palettes
* to the number of colors available on your screen. * to the number of colors available on your screen.
*/ */
if (color_type & PNG_COLOR_MASK_COLOR) if (color_type & PNG_COLOR_MASK_COLOR)
@ -283,10 +283,10 @@ void read_png(FILE *fp, unsigned int sig_read) /* File is already open */
/* This reduces the image to the application supplied palette */ /* This reduces the image to the application supplied palette */
if (/* We have our own palette */) if (/* We have our own palette */)
{ {
/* An array of colors to which the image should be dithered */ /* An array of colors to which the image should be quantized */
png_color std_color_cube[MAX_SCREEN_COLORS]; png_color std_color_cube[MAX_SCREEN_COLORS];
png_set_dither(png_ptr, std_color_cube, MAX_SCREEN_COLORS, png_set_quantize(png_ptr, std_color_cube, MAX_SCREEN_COLORS,
MAX_SCREEN_COLORS, NULL, 0); MAX_SCREEN_COLORS, NULL, 0);
} }
/* This reduces the image to the palette supplied in the file */ /* This reduces the image to the palette supplied in the file */
@ -296,11 +296,11 @@ void read_png(FILE *fp, unsigned int sig_read) /* File is already open */
png_get_hIST(png_ptr, info_ptr, &histogram); png_get_hIST(png_ptr, info_ptr, &histogram);
png_set_dither(png_ptr, palette, num_palette, png_set_quantize(png_ptr, palette, num_palette,
max_screen_colors, histogram, 0); max_screen_colors, histogram, 0);
} }
} }
#endif /* PNG_READ_DITHER_SUPPORTED */ #endif /* PNG_READ_QUANTIZE_SUPPORTED */
/* Invert monochrome files to have 0 as white and 1 as black */ /* Invert monochrome files to have 0 as white and 1 as black */
png_set_invert_mono(png_ptr); png_set_invert_mono(png_ptr);

View File

@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng libpng.txt - A description on how to use and modify libpng
libpng version 1.5.0beta17 - April 14, 2010 libpng version 1.5.0beta17 - April 17, 2010
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.5.0beta17 - April 14, 2010 libpng versions 0.97, January 1998, through 1.5.0beta17 - April 17, 2010
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -479,7 +479,7 @@ you want to do are limited to the following set:
to RGB (or GA to RGBA) to RGB (or GA to RGBA)
(This excludes setting a background color, doing gamma transformation, (This excludes setting a background color, doing gamma transformation,
dithering, and setting filler.) If this is the case, simply do this: quantizing, and setting filler.) If this is the case, simply do this:
png_read_png(png_ptr, info_ptr, png_transforms, NULL) png_read_png(png_ptr, info_ptr, png_transforms, NULL)
@ -1166,6 +1166,40 @@ recommended that PNG viewers support gamma correction.
else else
png_set_gamma(png_ptr, screen_gamma, 0.45455); png_set_gamma(png_ptr, screen_gamma, 0.45455);
If you need to reduce an RGB file to a paletted file, or if a paletted
file has more entries then will fit on your screen, png_set_quantize()
will do that. Note that this is a simple match dither that merely
finds the closest color available. This should work fairly well with
optimized palettes, and fairly badly with linear color cubes. If you
pass a palette that is larger then maximum_colors, the file will
reduce the number of colors in the palette so it will fit into
maximum_colors. If there is a histogram, it will use it to make
more intelligent choices when reducing the palette. If there is no
histogram, it may not do as good a job.
if (color_type & PNG_COLOR_MASK_COLOR)
{
if (png_get_valid(png_ptr, info_ptr,
PNG_INFO_PLTE))
{
png_uint_16p histogram = NULL;
png_get_hIST(png_ptr, info_ptr,
&histogram);
png_set_quantize(png_ptr, palette, num_palette,
max_screen_colors, histogram, 1);
}
else
{
png_color std_color_cube[MAX_SCREEN_COLORS] =
{ ... colors ... };
png_set_quantize(png_ptr, std_color_cube,
MAX_SCREEN_COLORS, MAX_SCREEN_COLORS,
NULL,0);
}
}
PNG files describe monochrome as black being zero and white being one. PNG files describe monochrome as black being zero and white being one.
The following code will reverse this (make black be one and white be The following code will reverse this (make black be one and white be
zero): zero):
@ -3118,10 +3152,14 @@ The png_zalloc() and png_zfree() functions are no longer exported.
The png_zalloc() function no longer zeroes out the memory that it The png_zalloc() function no longer zeroes out the memory that it
allocates. allocates.
Support for dithering was removed by default, because it has never Support for dithering was disabled by default in libpng-1.4.0, because
been well tested and doesn't work very well. The code has not been well tested and doesn't actually "dither". The code was not
been removed, however, and can be enabled by building libpng with removed, however, and could be enabled by building libpng with
PNG_READ_DITHER_SUPPORTED defined. PNG_READ_DITHER_SUPPORTED defined. In libpng-1.4.2, this support
was reenabled, but the function was renamed png_set_quantize() to
reflect more accurately what it actually does. At the same time,
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros were also renamed to
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
We removed the trailing '.' from the warning and error messages. We removed the trailing '.' from the warning and error messages.
@ -3263,7 +3301,7 @@ Other rules can be inferred by inspecting the libpng source.
XIII. Y2K Compliance in libpng XIII. Y2K Compliance in libpng
April 14, 2010 April 17, 2010
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "April 14, 2010" .TH LIBPNG 3 "April 17, 2010"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
.SH SYNOPSIS .SH SYNOPSIS
@ -458,10 +458,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
\fI\fB \fI\fB
\fBvoid png_set_dither (png_structp \fP\fIpng_ptr\fP\fB, png_colorp \fP\fIpalette\fP\fB, int \fP\fInum_palette\fP\fB, int \fP\fImaximum_colors\fP\fB, png_uint_16p \fP\fIhistogram\fP\fB, int \fIfull_dither\fP\fB);\fP
\fI\fB
\fBvoid png_set_error_fn (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarning_fn\fP\fB);\fP \fBvoid png_set_error_fn (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarning_fn\fP\fB);\fP
\fI\fB \fI\fB
@ -586,6 +582,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
\fI\fB \fI\fB
\fBvoid png_set_quantize (png_structp \fP\fIpng_ptr\fP\fB, png_colorp \fP\fIpalette\fP\fB, int \fP\fInum_palette\fP\fB, int \fP\fImaximum_colors\fP\fB, png_uint_16p \fP\fIhistogram\fP\fB, int \fIfull_quantize\fP\fB);\fP
\fI\fB
\fBvoid png_set_read_fn (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIio_ptr\fP\fB, png_rw_ptr \fIread_data_fn\fP\fB);\fP \fBvoid png_set_read_fn (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIio_ptr\fP\fB, png_rw_ptr \fIread_data_fn\fP\fB);\fP
\fI\fB \fI\fB
@ -789,7 +789,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng libpng.txt - A description on how to use and modify libpng
libpng version 1.5.0beta17 - April 14, 2010 libpng version 1.5.0beta17 - April 17, 2010
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -800,7 +800,7 @@ libpng.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.5.0beta17 - April 14, 2010 libpng versions 0.97, January 1998, through 1.5.0beta17 - April 17, 2010
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -1268,7 +1268,7 @@ you want to do are limited to the following set:
to RGB (or GA to RGBA) to RGB (or GA to RGBA)
(This excludes setting a background color, doing gamma transformation, (This excludes setting a background color, doing gamma transformation,
dithering, and setting filler.) If this is the case, simply do this: quantizing, and setting filler.) If this is the case, simply do this:
png_read_png(png_ptr, info_ptr, png_transforms, NULL) png_read_png(png_ptr, info_ptr, png_transforms, NULL)
@ -1955,6 +1955,40 @@ recommended that PNG viewers support gamma correction.
else else
png_set_gamma(png_ptr, screen_gamma, 0.45455); png_set_gamma(png_ptr, screen_gamma, 0.45455);
If you need to reduce an RGB file to a paletted file, or if a paletted
file has more entries then will fit on your screen, png_set_quantize()
will do that. Note that this is a simple match dither that merely
finds the closest color available. This should work fairly well with
optimized palettes, and fairly badly with linear color cubes. If you
pass a palette that is larger then maximum_colors, the file will
reduce the number of colors in the palette so it will fit into
maximum_colors. If there is a histogram, it will use it to make
more intelligent choices when reducing the palette. If there is no
histogram, it may not do as good a job.
if (color_type & PNG_COLOR_MASK_COLOR)
{
if (png_get_valid(png_ptr, info_ptr,
PNG_INFO_PLTE))
{
png_uint_16p histogram = NULL;
png_get_hIST(png_ptr, info_ptr,
&histogram);
png_set_quantize(png_ptr, palette, num_palette,
max_screen_colors, histogram, 1);
}
else
{
png_color std_color_cube[MAX_SCREEN_COLORS] =
{ ... colors ... };
png_set_quantize(png_ptr, std_color_cube,
MAX_SCREEN_COLORS, MAX_SCREEN_COLORS,
NULL,0);
}
}
PNG files describe monochrome as black being zero and white being one. PNG files describe monochrome as black being zero and white being one.
The following code will reverse this (make black be one and white be The following code will reverse this (make black be one and white be
zero): zero):
@ -3907,10 +3941,14 @@ The png_zalloc() and png_zfree() functions are no longer exported.
The png_zalloc() function no longer zeroes out the memory that it The png_zalloc() function no longer zeroes out the memory that it
allocates. allocates.
Support for dithering was removed by default, because it has never Support for dithering was disabled by default in libpng-1.4.0, because
been well tested and doesn't work very well. The code has not been well tested and doesn't actually "dither". The code was not
been removed, however, and can be enabled by building libpng with removed, however, and could be enabled by building libpng with
PNG_READ_DITHER_SUPPORTED defined. PNG_READ_DITHER_SUPPORTED defined. In libpng-1.4.2, this support
was reenabled, but the function was renamed png_set_quantize() to
reflect more accurately what it actually does. At the same time,
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros were also renamed to
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
We removed the trailing '.' from the warning and error messages. We removed the trailing '.' from the warning and error messages.
@ -4052,7 +4090,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XIII. Y2K Compliance in libpng .SH XIII. Y2K Compliance in libpng
April 14, 2010 April 17, 2010
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
@ -4292,7 +4330,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.5.0beta17 - April 14, 2010: Libpng version 1.5.0beta17 - April 17, 2010:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -4315,7 +4353,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 14, 2010, are libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 17, 2010, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -4414,7 +4452,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
April 14, 2010 April 17, 2010
.\" end of man page .\" end of man page

View File

@ -1,4 +1,4 @@
.TH LIBPNGPF 3 "April 1, 2010" .TH LIBPNGPF 3 "April 17, 2010"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
(private functions) (private functions)
@ -143,14 +143,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
\fI\fB \fI\fB
\fI\fB
\fBvoid png_do_dither (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_bytep \fP\fIpalette_lookup\fP\fB, png_bytep \fIdither_lookup\fP\fB);\fP
\fI\fB
\fI\fB
\fBvoid png_do_expand (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_color_16p \fItrans_value\fP\fB);\fP \fBvoid png_do_expand (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_color_16p \fItrans_value\fP\fB);\fP
\fI\fB \fI\fB
@ -193,6 +185,14 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta17
\fI\fB \fI\fB
\fBvoid png_do_quantize (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_bytep \fP\fIpalette_lookup\fP\fB, png_bytep \fIquantize_lookup\fP\fB);\fP
\fI\fB
\fI\fB
\fI\fB
\fBvoid png_do_read_filler (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_uint_32 \fP\fIfiller\fP\fB, png_uint_32 \fIflags\fP\fB);\fP \fBvoid png_do_read_filler (png_row_infop \fP\fIrow_info\fP\fB, png_bytep \fP\fIrow\fP\fB, png_uint_32 \fP\fIfiller\fP\fB, png_uint_32 \fIflags\fP\fB);\fP
\fI\fB \fI\fB

2
png.5
View File

@ -1,4 +1,4 @@
.TH PNG 5 "April 1, 2010" .TH PNG 5 "April 17, 2010"
.SH NAME .SH NAME
png \- Portable Network Graphics (PNG) format png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION .SH DESCRIPTION

6
png.c
View File

@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions /* png.c - location for general purpose libpng functions
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -548,13 +548,13 @@ png_get_copyright(png_structp png_ptr)
#else #else
# ifdef __STDC__ # ifdef __STDC__
return ((png_charp) PNG_STRING_NEWLINE \ return ((png_charp) PNG_STRING_NEWLINE \
"libpng version 1.5.0beta17 - April 1, 2010" PNG_STRING_NEWLINE \ "libpng version 1.5.0beta17 - April 17, 2010" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
PNG_STRING_NEWLINE); PNG_STRING_NEWLINE);
# else # else
return ((png_charp) "libpng version 1.5.0beta17 - April 1, 2010\ return ((png_charp) "libpng version 1.5.0beta17 - April 17, 2010\
Copyright (c) 1998-2010 Glenn Randers-Pehrson\ Copyright (c) 1998-2010 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."); Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.");

18
png.h
View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.5.0beta17 - April 1, 2010 * libpng version 1.5.0beta17 - April 17, 2010
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -11,7 +11,7 @@
* Authors and maintainers: * Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * 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.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.5.0beta17 - April 1, 2010: Glenn * libpng versions 0.97, January 1998, through 1.5.0beta17 - April 17, 2010: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@ -170,7 +170,7 @@
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* *
* libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 1, 2010, are * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta17, April 17, 2010, are
* Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are * Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5 * distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors: * with the following individual added to the list of Contributing Authors:
@ -282,7 +282,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* April 1, 2010 * April 17, 2010
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
@ -346,7 +346,7 @@
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.5.0beta17" #define PNG_LIBPNG_VER_STRING "1.5.0beta17"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.5.0beta17 - April 1, 2010\n" " libpng version 1.5.0beta17 - April 17, 2010\n"
#define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15 #define PNG_LIBPNG_VER_DLLNUM 15
@ -1033,13 +1033,13 @@ extern PNG_EXPORT(void,png_set_background,(png_structp png_ptr,
extern PNG_EXPORT(void,png_set_strip_16,(png_structp png_ptr),,48); extern PNG_EXPORT(void,png_set_strip_16,(png_structp png_ptr),,48);
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
/* Turn on dithering, and reduce the palette to the number of colors /* Turn on quantizing, and reduce the palette to the number of colors
* available. * available.
*/ */
extern PNG_EXPORT(void,png_set_dither,(png_structp png_ptr, extern PNG_EXPORT(void,png_set_quantize,(png_structp png_ptr,
png_colorp palette, int num_palette, int maximum_colors, png_colorp palette, int num_palette, int maximum_colors,
png_uint_16p histogram, int full_dither),,49); png_uint_16p histogram, int full_quantize),,49);
#endif #endif
#ifdef PNG_READ_GAMMA_SUPPORTED #ifdef PNG_READ_GAMMA_SUPPORTED

View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine configurable file for libpng
* *
* libpng version 1.5.0beta17 - April 1, 2010 * libpng version 1.5.0beta17 - April 17, 2010
* *
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -523,18 +523,18 @@
/* Other defines for things like memory and the like can go here. */ /* Other defines for things like memory and the like can go here. */
/* This controls how fine the dithering gets. As this allocates /* This controls how fine the quantizing gets. As this allocates
* a largish chunk of memory (32K), those who are not as concerned * a largish chunk of memory (32K), those who are not as concerned
* with dithering quality can decrease some or all of these. * with quantizing quality can decrease some or all of these.
*/ */
#ifndef PNG_DITHER_RED_BITS #ifndef PNG_QUANTIZE_RED_BITS
# define PNG_DITHER_RED_BITS 5 # define PNG_QUANTIZE_RED_BITS 5
#endif #endif
#ifndef PNG_DITHER_GREEN_BITS #ifndef PNG_QUANTIZE_GREEN_BITS
# define PNG_DITHER_GREEN_BITS 5 # define PNG_QUANTIZE_GREEN_BITS 5
#endif #endif
#ifndef PNG_DITHER_BLUE_BITS #ifndef PNG_QUANTIZE_BLUE_BITS
# define PNG_DITHER_BLUE_BITS 5 # define PNG_QUANTIZE_BLUE_BITS 5
#endif #endif
/* This controls how fine the gamma correction becomes when you /* This controls how fine the gamma correction becomes when you
@ -629,6 +629,9 @@
# ifndef PNG_NO_READ_INVERT # ifndef PNG_NO_READ_INVERT
# define PNG_READ_INVERT_SUPPORTED # define PNG_READ_INVERT_SUPPORTED
# endif # endif
# ifndef PNG_NO_READ_QUANTIZE
# define PNG_READ_QUANTIZE_SUPPORTED
# endif
# ifndef PNG_NO_READ_BACKGROUND # ifndef PNG_NO_READ_BACKGROUND
# define PNG_READ_BACKGROUND_SUPPORTED # define PNG_READ_BACKGROUND_SUPPORTED
# endif # endif

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - April 1, 2010 * Last changed in libpng version 1.5.0 - April 17, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation /* pngerror.c - stub functions for i/o and memory allocation
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct /* pngget.c - retrieval of values from info struct
* *
* Last changed in libpng 1.4.1 [April 1, 2010] * Last changed in libpng 1.4.1 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - April 1, 2010 * Last changed in libpng version 1.5.0 - April 17, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation /* pngmem.c - stub functions for memory allocation
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode /* pngpread.c - read a png file in push mode
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngpriv.h - private declarations for use inside libpng /* pngpriv.h - private declarations for use inside libpng
* *
* libpng version 1.5.0beta17 - April 1, 2010 * libpng version 1.5.0beta17 - April 17, 2010
* For conditions of distribution and use, see copyright notice in png.h * For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -117,7 +117,7 @@
#define PNG_SHIFT 0x0008 #define PNG_SHIFT 0x0008
#define PNG_SWAP_BYTES 0x0010 #define PNG_SWAP_BYTES 0x0010
#define PNG_INVERT_MONO 0x0020 #define PNG_INVERT_MONO 0x0020
#define PNG_DITHER 0x0040 #define PNG_QUANTIZE 0x0040
#define PNG_BACKGROUND 0x0080 #define PNG_BACKGROUND 0x0080
#define PNG_BACKGROUND_EXPAND 0x0100 #define PNG_BACKGROUND_EXPAND 0x0100
/* 0x0200 unused */ /* 0x0200 unused */
@ -601,9 +601,9 @@ PNG_EXTERN void png_do_invert PNGARG((png_row_infop row_info, png_bytep row));
PNG_EXTERN void png_do_chop PNGARG((png_row_infop row_info, png_bytep row)); PNG_EXTERN void png_do_chop PNGARG((png_row_infop row_info, png_bytep row));
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
PNG_EXTERN void png_do_dither PNGARG((png_row_infop row_info, PNG_EXTERN void png_do_quantize PNGARG((png_row_infop row_info,
png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup)); png_bytep row, png_bytep palette_lookup, png_bytep quantize_lookup));
# ifdef PNG_CORRECT_PALETTE_SUPPORTED # ifdef PNG_CORRECT_PALETTE_SUPPORTED
PNG_EXTERN void png_correct_palette PNGARG((png_structp png_ptr, PNG_EXTERN void png_correct_palette PNGARG((png_structp png_ptr,

View File

@ -1,7 +1,7 @@
/* pngread.c - read a PNG file /* pngread.c - read a PNG file
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -1076,9 +1076,9 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr,
png_free(png_ptr, png_ptr->big_row_buf); png_free(png_ptr, png_ptr->big_row_buf);
png_free(png_ptr, png_ptr->prev_row); png_free(png_ptr, png_ptr->prev_row);
png_free(png_ptr, png_ptr->chunkdata); png_free(png_ptr, png_ptr->chunkdata);
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
png_free(png_ptr, png_ptr->palette_lookup); png_free(png_ptr, png_ptr->palette_lookup);
png_free(png_ptr, png_ptr->dither_index); png_free(png_ptr, png_ptr->quantize_index);
#endif #endif
#ifdef PNG_READ_GAMMA_SUPPORTED #ifdef PNG_READ_GAMMA_SUPPORTED
png_free(png_ptr, png_ptr->gamma_table); png_free(png_ptr, png_ptr->gamma_table);
@ -1253,7 +1253,7 @@ png_read_png(png_structp png_ptr, png_infop info_ptr,
png_set_expand(png_ptr); png_set_expand(png_ptr);
#endif #endif
/* We don't handle background color or gamma transformation or dithering. /* We don't handle background color or gamma transformation or quantizing.
*/ */
#ifdef PNG_READ_INVERT_SUPPORTED #ifdef PNG_READ_INVERT_SUPPORTED

View File

@ -1,7 +1,7 @@
/* pngrio.c - functions for data input /* pngrio.c - functions for data input
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers /* pngrtran.c - transforms the data in a row for PNG readers
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -140,13 +140,13 @@ png_set_strip_alpha(png_structp png_ptr)
} }
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
/* Dither file to 8 bit. Supply a palette, the current number /* Dither file to 8 bit. Supply a palette, the current number
* of elements in the palette, the maximum number of elements * of elements in the palette, the maximum number of elements
* allowed, and a histogram if possible. If the current number * allowed, and a histogram if possible. If the current number
* of colors is greater then the maximum number, the palette will be * of colors is greater then the maximum number, the palette will be
* modified to fit in the maximum number. "full_dither" indicates * modified to fit in the maximum number. "full_quantize" indicates
* whether we need a dithering cube set up for RGB images, or if we * whether we need a quantizing cube set up for RGB images, or if we
* simply are reducing the number of colors in a paletted image. * simply are reducing the number of colors in a paletted image.
*/ */
@ -160,24 +160,24 @@ typedef png_dsort FAR * png_dsortp;
typedef png_dsort FAR * FAR * png_dsortpp; typedef png_dsort FAR * FAR * png_dsortpp;
void PNGAPI void PNGAPI
png_set_dither(png_structp png_ptr, png_colorp palette, png_set_quantize(png_structp png_ptr, png_colorp palette,
int num_palette, int maximum_colors, png_uint_16p histogram, int num_palette, int maximum_colors, png_uint_16p histogram,
int full_dither) int full_quantize)
{ {
png_debug(1, "in png_set_dither"); png_debug(1, "in png_set_quantize");
if (png_ptr == NULL) if (png_ptr == NULL)
return; return;
png_ptr->transformations |= PNG_DITHER; png_ptr->transformations |= PNG_QUANTIZE;
if (!full_dither) if (!full_quantize)
{ {
int i; int i;
png_ptr->dither_index = (png_bytep)png_malloc(png_ptr, png_ptr->quantize_index = (png_bytep)png_malloc(png_ptr,
(png_uint_32)(num_palette * png_sizeof(png_byte))); (png_uint_32)(num_palette * png_sizeof(png_byte)));
for (i = 0; i < num_palette; i++) for (i = 0; i < num_palette; i++)
png_ptr->dither_index[i] = (png_byte)i; png_ptr->quantize_index[i] = (png_byte)i;
} }
if (num_palette > maximum_colors) if (num_palette > maximum_colors)
@ -191,12 +191,12 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
int i; int i;
/* Initialize an array to sort colors */ /* Initialize an array to sort colors */
png_ptr->dither_sort = (png_bytep)png_malloc(png_ptr, png_ptr->quantize_sort = (png_bytep)png_malloc(png_ptr,
(png_uint_32)(num_palette * png_sizeof(png_byte))); (png_uint_32)(num_palette * png_sizeof(png_byte)));
/* Initialize the dither_sort array */ /* Initialize the quantize_sort array */
for (i = 0; i < num_palette; i++) for (i = 0; i < num_palette; i++)
png_ptr->dither_sort[i] = (png_byte)i; png_ptr->quantize_sort[i] = (png_byte)i;
/* Find the least used palette entries by starting a /* Find the least used palette entries by starting a
* bubble sort, and running it until we have sorted * bubble sort, and running it until we have sorted
@ -213,14 +213,14 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
done = 1; done = 1;
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
{ {
if (histogram[png_ptr->dither_sort[j]] if (histogram[png_ptr->quantize_sort[j]]
< histogram[png_ptr->dither_sort[j + 1]]) < histogram[png_ptr->quantize_sort[j + 1]])
{ {
png_byte t; png_byte t;
t = png_ptr->dither_sort[j]; t = png_ptr->quantize_sort[j];
png_ptr->dither_sort[j] = png_ptr->dither_sort[j + 1]; png_ptr->quantize_sort[j] = png_ptr->quantize_sort[j + 1];
png_ptr->dither_sort[j + 1] = t; png_ptr->quantize_sort[j + 1] = t;
done = 0; done = 0;
} }
} }
@ -229,7 +229,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
} }
/* Swap the palette around, and set up a table, if necessary */ /* Swap the palette around, and set up a table, if necessary */
if (full_dither) if (full_quantize)
{ {
int j = num_palette; int j = num_palette;
@ -238,11 +238,11 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
*/ */
for (i = 0; i < maximum_colors; i++) for (i = 0; i < maximum_colors; i++)
{ {
if ((int)png_ptr->dither_sort[i] >= maximum_colors) if ((int)png_ptr->quantize_sort[i] >= maximum_colors)
{ {
do do
j--; j--;
while ((int)png_ptr->dither_sort[j] >= maximum_colors); while ((int)png_ptr->quantize_sort[j] >= maximum_colors);
palette[i] = palette[j]; palette[i] = palette[j];
} }
} }
@ -257,32 +257,32 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
for (i = 0; i < maximum_colors; i++) for (i = 0; i < maximum_colors; i++)
{ {
/* Only move the colors we need to */ /* Only move the colors we need to */
if ((int)png_ptr->dither_sort[i] >= maximum_colors) if ((int)png_ptr->quantize_sort[i] >= maximum_colors)
{ {
png_color tmp_color; png_color tmp_color;
do do
j--; j--;
while ((int)png_ptr->dither_sort[j] >= maximum_colors); while ((int)png_ptr->quantize_sort[j] >= maximum_colors);
tmp_color = palette[j]; tmp_color = palette[j];
palette[j] = palette[i]; palette[j] = palette[i];
palette[i] = tmp_color; palette[i] = tmp_color;
/* Indicate where the color went */ /* Indicate where the color went */
png_ptr->dither_index[j] = (png_byte)i; png_ptr->quantize_index[j] = (png_byte)i;
png_ptr->dither_index[i] = (png_byte)j; png_ptr->quantize_index[i] = (png_byte)j;
} }
} }
/* Find closest color for those colors we are not using */ /* Find closest color for those colors we are not using */
for (i = 0; i < num_palette; i++) for (i = 0; i < num_palette; i++)
{ {
if ((int)png_ptr->dither_index[i] >= maximum_colors) if ((int)png_ptr->quantize_index[i] >= maximum_colors)
{ {
int min_d, k, min_k, d_index; int min_d, k, min_k, d_index;
/* Find the closest color to one we threw out */ /* Find the closest color to one we threw out */
d_index = png_ptr->dither_index[i]; d_index = png_ptr->quantize_index[i];
min_d = PNG_COLOR_DIST(palette[d_index], palette[0]); min_d = PNG_COLOR_DIST(palette[d_index], palette[0]);
for (k = 1, min_k = 0; k < maximum_colors; k++) for (k = 1, min_k = 0; k < maximum_colors; k++)
{ {
@ -297,12 +297,12 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
} }
} }
/* Point to closest color */ /* Point to closest color */
png_ptr->dither_index[i] = (png_byte)min_k; png_ptr->quantize_index[i] = (png_byte)min_k;
} }
} }
} }
png_free(png_ptr, png_ptr->dither_sort); png_free(png_ptr, png_ptr->quantize_sort);
png_ptr->dither_sort = NULL; png_ptr->quantize_sort = NULL;
} }
else else
{ {
@ -409,19 +409,19 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
num_new_palette--; num_new_palette--;
palette[png_ptr->index_to_palette[j]] palette[png_ptr->index_to_palette[j]]
= palette[num_new_palette]; = palette[num_new_palette];
if (!full_dither) if (!full_quantize)
{ {
int k; int k;
for (k = 0; k < num_palette; k++) for (k = 0; k < num_palette; k++)
{ {
if (png_ptr->dither_index[k] == if (png_ptr->quantize_index[k] ==
png_ptr->index_to_palette[j]) png_ptr->index_to_palette[j])
png_ptr->dither_index[k] = png_ptr->quantize_index[k] =
png_ptr->index_to_palette[next_j]; png_ptr->index_to_palette[next_j];
if ((int)png_ptr->dither_index[k] == if ((int)png_ptr->quantize_index[k] ==
num_new_palette) num_new_palette)
png_ptr->dither_index[k] = png_ptr->quantize_index[k] =
png_ptr->index_to_palette[j]; png_ptr->index_to_palette[j];
} }
} }
@ -474,15 +474,15 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
} }
png_ptr->num_palette = (png_uint_16)num_palette; png_ptr->num_palette = (png_uint_16)num_palette;
if (full_dither) if (full_quantize)
{ {
int i; int i;
png_bytep distance; png_bytep distance;
int total_bits = PNG_DITHER_RED_BITS + PNG_DITHER_GREEN_BITS + int total_bits = PNG_QUANTIZE_RED_BITS + PNG_QUANTIZE_GREEN_BITS +
PNG_DITHER_BLUE_BITS; PNG_QUANTIZE_BLUE_BITS;
int num_red = (1 << PNG_DITHER_RED_BITS); int num_red = (1 << PNG_QUANTIZE_RED_BITS);
int num_green = (1 << PNG_DITHER_GREEN_BITS); int num_green = (1 << PNG_QUANTIZE_GREEN_BITS);
int num_blue = (1 << PNG_DITHER_BLUE_BITS); int num_blue = (1 << PNG_QUANTIZE_BLUE_BITS);
png_size_t num_entries = ((png_size_t)1 << total_bits); png_size_t num_entries = ((png_size_t)1 << total_bits);
png_ptr->palette_lookup = (png_bytep )png_calloc(png_ptr, png_ptr->palette_lookup = (png_bytep )png_calloc(png_ptr,
@ -495,16 +495,16 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
for (i = 0; i < num_palette; i++) for (i = 0; i < num_palette; i++)
{ {
int ir, ig, ib; int ir, ig, ib;
int r = (palette[i].red >> (8 - PNG_DITHER_RED_BITS)); int r = (palette[i].red >> (8 - PNG_QUANTIZE_RED_BITS));
int g = (palette[i].green >> (8 - PNG_DITHER_GREEN_BITS)); int g = (palette[i].green >> (8 - PNG_QUANTIZE_GREEN_BITS));
int b = (palette[i].blue >> (8 - PNG_DITHER_BLUE_BITS)); int b = (palette[i].blue >> (8 - PNG_QUANTIZE_BLUE_BITS));
for (ir = 0; ir < num_red; ir++) for (ir = 0; ir < num_red; ir++)
{ {
/* int dr = abs(ir - r); */ /* int dr = abs(ir - r); */
int dr = ((ir > r) ? ir - r : r - ir); int dr = ((ir > r) ? ir - r : r - ir);
int index_r = (ir << (PNG_DITHER_BLUE_BITS + int index_r = (ir << (PNG_QUANTIZE_BLUE_BITS +
PNG_DITHER_GREEN_BITS)); PNG_QUANTIZE_GREEN_BITS));
for (ig = 0; ig < num_green; ig++) for (ig = 0; ig < num_green; ig++)
{ {
@ -512,7 +512,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
int dg = ((ig > g) ? ig - g : g - ig); int dg = ((ig > g) ? ig - g : g - ig);
int dt = dr + dg; int dt = dr + dg;
int dm = ((dr > dg) ? dr : dg); int dm = ((dr > dg) ? dr : dg);
int index_g = index_r | (ig << PNG_DITHER_BLUE_BITS); int index_g = index_r | (ig << PNG_QUANTIZE_BLUE_BITS);
for (ib = 0; ib < num_blue; ib++) for (ib = 0; ib < num_blue; ib++)
{ {
@ -535,7 +535,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
png_free(png_ptr, distance); png_free(png_ptr, distance);
} }
} }
#endif /* PNG_READ_DITHER_SUPPORTED */ #endif /* PNG_READ_QUANTIZE_SUPPORTED */
#if defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED) #if defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
/* Transform the image from the file_gamma to the screen_gamma. We /* Transform the image from the file_gamma to the screen_gamma. We
@ -1233,8 +1233,8 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
info_ptr->color_type &= ~PNG_COLOR_MASK_COLOR; info_ptr->color_type &= ~PNG_COLOR_MASK_COLOR;
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
if (png_ptr->transformations & PNG_DITHER) if (png_ptr->transformations & PNG_QUANTIZE)
{ {
if (((info_ptr->color_type == PNG_COLOR_TYPE_RGB) || if (((info_ptr->color_type == PNG_COLOR_TYPE_RGB) ||
(info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)) && (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)) &&
@ -1455,15 +1455,15 @@ png_do_read_transformations(png_structp png_ptr)
png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1); png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1);
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
if (png_ptr->transformations & PNG_DITHER) if (png_ptr->transformations & PNG_QUANTIZE)
{ {
png_do_dither((png_row_infop)&(png_ptr->row_info), png_ptr->row_buf + 1, png_do_quantize((png_row_infop)&(png_ptr->row_info), png_ptr->row_buf + 1,
png_ptr->palette_lookup, png_ptr->dither_index); png_ptr->palette_lookup, png_ptr->quantize_index);
if (png_ptr->row_info.rowbytes == (png_uint_32)0) if (png_ptr->row_info.rowbytes == (png_uint_32)0)
png_error(png_ptr, "png_do_dither returned rowbytes=0"); png_error(png_ptr, "png_do_quantize returned rowbytes=0");
} }
#endif #endif /* PNG_READ_QUANTIZE_SUPPORTED */
#ifdef PNG_READ_INVERT_SUPPORTED #ifdef PNG_READ_INVERT_SUPPORTED
if (png_ptr->transformations & PNG_INVERT_MONO) if (png_ptr->transformations & PNG_INVERT_MONO)
@ -3808,16 +3808,16 @@ png_do_expand(png_row_infop row_info, png_bytep row,
} }
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
void /* PRIVATE */ void /* PRIVATE */
png_do_dither(png_row_infop row_info, png_bytep row, png_do_quantize(png_row_infop row_info, png_bytep row,
png_bytep palette_lookup, png_bytep dither_lookup) png_bytep palette_lookup, png_bytep quantize_lookup)
{ {
png_bytep sp, dp; png_bytep sp, dp;
png_uint_32 i; png_uint_32 i;
png_uint_32 row_width=row_info->width; png_uint_32 row_width=row_info->width;
png_debug(1, "in png_do_dither"); png_debug(1, "in png_do_quantize");
{ {
if (row_info->color_type == PNG_COLOR_TYPE_RGB && if (row_info->color_type == PNG_COLOR_TYPE_RGB &&
@ -3839,14 +3839,14 @@ png_do_dither(png_row_infop row_info, png_bytep row,
* (((g >> 3) & 0x1f) << 5) | * (((g >> 3) & 0x1f) << 5) |
* ((b >> 3) & 0x1f); * ((b >> 3) & 0x1f);
*/ */
p = (((r >> (8 - PNG_DITHER_RED_BITS)) & p = (((r >> (8 - PNG_QUANTIZE_RED_BITS)) &
((1 << PNG_DITHER_RED_BITS) - 1)) << ((1 << PNG_QUANTIZE_RED_BITS) - 1)) <<
(PNG_DITHER_GREEN_BITS + PNG_DITHER_BLUE_BITS)) | (PNG_QUANTIZE_GREEN_BITS + PNG_QUANTIZE_BLUE_BITS)) |
(((g >> (8 - PNG_DITHER_GREEN_BITS)) & (((g >> (8 - PNG_QUANTIZE_GREEN_BITS)) &
((1 << PNG_DITHER_GREEN_BITS) - 1)) << ((1 << PNG_QUANTIZE_GREEN_BITS) - 1)) <<
(PNG_DITHER_BLUE_BITS)) | (PNG_QUANTIZE_BLUE_BITS)) |
((b >> (8 - PNG_DITHER_BLUE_BITS)) & ((b >> (8 - PNG_QUANTIZE_BLUE_BITS)) &
((1 << PNG_DITHER_BLUE_BITS) - 1)); ((1 << PNG_QUANTIZE_BLUE_BITS) - 1));
*dp++ = palette_lookup[p]; *dp++ = palette_lookup[p];
} }
@ -3868,14 +3868,14 @@ png_do_dither(png_row_infop row_info, png_bytep row,
b = *sp++; b = *sp++;
sp++; sp++;
p = (((r >> (8 - PNG_DITHER_RED_BITS)) & p = (((r >> (8 - PNG_QUANTIZE_RED_BITS)) &
((1 << PNG_DITHER_RED_BITS) - 1)) << ((1 << PNG_QUANTIZE_RED_BITS) - 1)) <<
(PNG_DITHER_GREEN_BITS + PNG_DITHER_BLUE_BITS)) | (PNG_QUANTIZE_GREEN_BITS + PNG_QUANTIZE_BLUE_BITS)) |
(((g >> (8 - PNG_DITHER_GREEN_BITS)) & (((g >> (8 - PNG_QUANTIZE_GREEN_BITS)) &
((1 << PNG_DITHER_GREEN_BITS) - 1)) << ((1 << PNG_QUANTIZE_GREEN_BITS) - 1)) <<
(PNG_DITHER_BLUE_BITS)) | (PNG_QUANTIZE_BLUE_BITS)) |
((b >> (8 - PNG_DITHER_BLUE_BITS)) & ((b >> (8 - PNG_QUANTIZE_BLUE_BITS)) &
((1 << PNG_DITHER_BLUE_BITS) - 1)); ((1 << PNG_QUANTIZE_BLUE_BITS) - 1));
*dp++ = palette_lookup[p]; *dp++ = palette_lookup[p];
} }
@ -3885,17 +3885,17 @@ png_do_dither(png_row_infop row_info, png_bytep row,
row_info->rowbytes = PNG_ROWBYTES(row_info->pixel_depth, row_width); row_info->rowbytes = PNG_ROWBYTES(row_info->pixel_depth, row_width);
} }
else if (row_info->color_type == PNG_COLOR_TYPE_PALETTE && else if (row_info->color_type == PNG_COLOR_TYPE_PALETTE &&
dither_lookup && row_info->bit_depth == 8) quantize_lookup && row_info->bit_depth == 8)
{ {
sp = row; sp = row;
for (i = 0; i < row_width; i++, sp++) for (i = 0; i < row_width; i++, sp++)
{ {
*sp = dither_lookup[*sp]; *sp = quantize_lookup[*sp];
} }
} }
} }
} }
#endif #endif /* PNG_READ_QUANTIZE_SUPPORTED */
#ifdef PNG_FLOATING_POINT_SUPPORTED #ifdef PNG_FLOATING_POINT_SUPPORTED
#ifdef PNG_READ_GAMMA_SUPPORTED #ifdef PNG_READ_GAMMA_SUPPORTED

View File

@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file /* pngrutil.c - utilities to read a PNG file
* *
* Last changed in libpng 1.4.1 [April 1, 2010] * Last changed in libpng 1.4.1 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -904,9 +904,11 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
green_x, green_y, blue_x, blue_y); green_x, green_y, blue_x, blue_y);
#else #else
fprintf(stderr, "wx=%ld, wy=%ld, rx=%ld, ry=%ld\n", fprintf(stderr, "wx=%ld, wy=%ld, rx=%ld, ry=%ld\n",
int_x_white, int_y_white, int_x_red, int_y_red); (long)int_x_white, (long)int_y_white,
(long)int_x_red, (long)int_y_red);
fprintf(stderr, "gx=%ld, gy=%ld, bx=%ld, by=%ld\n", fprintf(stderr, "gx=%ld, gy=%ld, bx=%ld, by=%ld\n",
int_x_green, int_y_green, int_x_blue, int_y_blue); (long)int_x_green, (long)int_y_green,
(long)int_x_blue, (long)int_y_blue);
#endif #endif
#endif /* PNG_CONSOLE_IO_SUPPORTED */ #endif /* PNG_CONSOLE_IO_SUPPORTED */
} }

View File

@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct /* pngset.c - storage of image information into info struct
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* *
* Last changed in libpng version 1.5.0 - April 1, 2010 * Last changed in libpng version 1.5.0 - April 17, 2010
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
@ -187,12 +187,12 @@ struct png_struct_def
png_uint_16 offset_table_count_free; png_uint_16 offset_table_count_free;
#endif #endif
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
png_bytep palette_lookup; /* lookup table for dithering */ png_bytep palette_lookup; /* lookup table for quantizing */
png_bytep dither_index; /* index translation for palette files */ png_bytep quantize_index; /* index translation for palette files */
#endif #endif
#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED) #if defined(PNG_READ_QUANTIZE_SUPPORTED) || defined(PNG_hIST_SUPPORTED)
png_uint_16p hist; /* histogram */ png_uint_16p hist; /* histogram */
#endif #endif
@ -263,9 +263,9 @@ struct png_struct_def
/* New member added in libpng-1.0.13 and 1.2.0 */ /* New member added in libpng-1.0.13 and 1.2.0 */
png_bytep big_row_buf; /* buffer to save current (unfiltered) row */ png_bytep big_row_buf; /* buffer to save current (unfiltered) row */
#ifdef PNG_READ_DITHER_SUPPORTED #ifdef PNG_READ_QUANTIZE_SUPPORTED
/* The following three members were added at version 1.0.14 and 1.2.4 */ /* The following three members were added at version 1.0.14 and 1.2.4 */
png_bytep dither_sort; /* working sort array */ png_bytep quantize_sort; /* working sort array */
png_bytep index_to_palette; /* where the original index currently is png_bytep index_to_palette; /* where the original index currently is
in the palette */ in the palette */
png_bytep palette_to_index; /* which original index points to this png_bytep palette_to_index; /* which original index points to this

View File

@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng /* pngtest.c - a simple test program to test libpng
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers) /* pngtrans.c - transforms the data in a row (used by both readers and writers)
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngwio.c - functions for data output /* pngwio.c - functions for data output
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file /* pngwrite.c - general routines to write a PNG file
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers /* pngwtran.c - transforms the data in a row for PNG writers
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file /* pngwutil.c - utilities to write a PNG file
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@ -1,5 +1,5 @@
Makefiles for libpng version 1.5.0beta17 - April 1, 2010 Makefiles for libpng version 1.5.0beta17 - April 17, 2010
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile
(gcc, creates libpng15.so.15.1.5.0beta17) (gcc, creates libpng15.so.15.1.5.0beta17)

View File

@ -1,7 +1,7 @@
/* pngwin.dfn - find all exported symbols /* pngwin.dfn - find all exported symbols
* *
* Last changed in libpng 1.5.0 [April 1, 2010] * Last changed in libpng 1.5.0 [April 17, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson * Copyright (c) 1998-2010 Glenn Randers-Pehrson
* *
* This code is released under the libpng license. * This code is released under the libpng license.

View File

@ -54,7 +54,7 @@ EXPORTS
png_set_invert_mono @46 png_set_invert_mono @46
png_set_background @47 png_set_background @47
png_set_strip_16 @48 png_set_strip_16 @48
png_set_dither @49 ; png_set_dither @49
png_set_gamma @50 png_set_gamma @50
png_set_flush @51 png_set_flush @51
png_write_flush @52 png_write_flush @52
@ -213,3 +213,4 @@ EXPORTS
png_save_uint_32 @205 png_save_uint_32 @205
png_save_int_32 @206 png_save_int_32 @206
png_save_uint_16 @207 png_save_uint_16 @207
png_set_quantize @208