[devel] Made FIXED and FLOATING options consistent in the APIs they enable
and disable. Corrected scripts/options.awk to handle both command line options and options specified in the .dfa files.
This commit is contained in:
parent
a81c59a960
commit
a272d8fe3d
23
ANNOUNCE
23
ANNOUNCE
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Libpng 1.5.0beta32 - June 26, 2010
|
Libpng 1.5.0beta33 - June 26, 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.
|
||||||
@ -9,20 +9,20 @@ Files available for download:
|
|||||||
Source files with LF line endings (for Unix/Linux) and with a
|
Source files with LF line endings (for Unix/Linux) and with a
|
||||||
"configure" script
|
"configure" script
|
||||||
|
|
||||||
1.5.0beta32.tar.xz (LZMA-compressed, recommended)
|
1.5.0beta33.tar.xz (LZMA-compressed, recommended)
|
||||||
1.5.0beta32.tar.gz
|
1.5.0beta33.tar.gz
|
||||||
1.5.0beta32.tar.bz2
|
1.5.0beta33.tar.bz2
|
||||||
|
|
||||||
Source files with CRLF line endings (for Windows), without the
|
Source files with CRLF line endings (for Windows), without the
|
||||||
"configure" script
|
"configure" script
|
||||||
|
|
||||||
lp150b32.zip
|
lp150b33.zip
|
||||||
lp150b32.7z
|
lp150b33.7z
|
||||||
|
|
||||||
Other information:
|
Other information:
|
||||||
|
|
||||||
1.5.0beta32-README.txt
|
1.5.0beta33-README.txt
|
||||||
1.5.0beta32-LICENSE.txt
|
1.5.0beta33-LICENSE.txt
|
||||||
|
|
||||||
Changes since the last public release (1.4.1):
|
Changes since the last public release (1.4.1):
|
||||||
|
|
||||||
@ -252,7 +252,12 @@ version 1.5.0beta31 [June 26, 2010]
|
|||||||
Removed some trailing blanks.
|
Removed some trailing blanks.
|
||||||
|
|
||||||
version 1.5.0beta32 [June 26, 2010]
|
version 1.5.0beta32 [June 26, 2010]
|
||||||
Removed leftover scripts/options.patch and scripts/options.rej.
|
Removed leftover scripts/options.patch and scripts/options.rej
|
||||||
|
|
||||||
|
version 1.5.0beta32 [June 26, 2010]
|
||||||
|
Made FIXED and FLOATING options consistent in the APIs they enable and
|
||||||
|
disable. Corrected scripts/options.awk to handle both command line
|
||||||
|
options and options specified in the .dfa files.
|
||||||
|
|
||||||
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
|
||||||
|
5
CHANGES
5
CHANGES
@ -2736,6 +2736,11 @@ version 1.5.0beta31 [June 26, 2010]
|
|||||||
version 1.5.0beta32 [June 26, 2010]
|
version 1.5.0beta32 [June 26, 2010]
|
||||||
Removed leftover scripts/options.patch and scripts/options.rej
|
Removed leftover scripts/options.patch and scripts/options.rej
|
||||||
|
|
||||||
|
version 1.5.0beta32 [June 26, 2010]
|
||||||
|
Made FIXED and FLOATING options consistent in the APIs they enable and
|
||||||
|
disable. Corrected scripts/options.awk to handle both command line
|
||||||
|
options and options specified in the .dfa files.
|
||||||
|
|
||||||
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
|
||||||
|
41
png.h
41
png.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.5.0beta32 - June 26, 2010
|
* libpng version 1.5.0beta33 - June 26, 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.0beta32 - June 26, 2010: Glenn
|
* libpng versions 0.97, January 1998, through 1.5.0beta33 - June 26, 2010: Glenn
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*
|
*
|
||||||
* Note about libpng version numbers:
|
* Note about libpng version numbers:
|
||||||
@ -140,7 +140,7 @@
|
|||||||
* 1.4.1 14 10401 14.so.14.1[.0]
|
* 1.4.1 14 10401 14.so.14.1[.0]
|
||||||
* 1.4.2 14 10402 14.so.14.2[.0]
|
* 1.4.2 14 10402 14.so.14.2[.0]
|
||||||
* 1.4.3 14 10403 14.so.14.3[.0]
|
* 1.4.3 14 10403 14.so.14.3[.0]
|
||||||
* 1.5.0beta01-32 15 10500 15.so.15.0[.0]
|
* 1.5.0beta01-33 15 10500 15.so.15.0[.0]
|
||||||
*
|
*
|
||||||
* Henceforth the source version will match the shared-library major
|
* Henceforth the source version will match the shared-library major
|
||||||
* and minor numbers; the shared-library major version number will be
|
* and minor numbers; the shared-library major version number will be
|
||||||
@ -172,7 +172,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.0beta32, June 26, 2010, are
|
* libpng versions 1.2.6, August 15, 2004, through 1.5.0beta33, June 26, 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:
|
||||||
@ -290,7 +290,7 @@
|
|||||||
* an official declaration.
|
* an official declaration.
|
||||||
*
|
*
|
||||||
* This is your unofficial assurance that libpng from version 0.71 and
|
* This is your unofficial assurance that libpng from version 0.71 and
|
||||||
* upward through 1.5.0beta32 are Y2K compliant. It is my belief that earlier
|
* upward through 1.5.0beta33 are Y2K compliant. It is my belief that earlier
|
||||||
* versions were also Y2K compliant.
|
* versions were also Y2K compliant.
|
||||||
*
|
*
|
||||||
* Libpng only has three year fields. One is a 2-byte unsigned integer
|
* Libpng only has three year fields. One is a 2-byte unsigned integer
|
||||||
@ -346,9 +346,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* 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.0beta32"
|
#define PNG_LIBPNG_VER_STRING "1.5.0beta33"
|
||||||
#define PNG_HEADER_VERSION_STRING \
|
#define PNG_HEADER_VERSION_STRING \
|
||||||
" libpng version 1.5.0beta32 - June 26, 2010\n"
|
" libpng version 1.5.0beta33 - June 26, 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
|
||||||
@ -361,7 +361,7 @@
|
|||||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_BUILD 32
|
#define PNG_LIBPNG_VER_BUILD 33
|
||||||
|
|
||||||
/* Release Status */
|
/* Release Status */
|
||||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||||
@ -836,7 +836,7 @@ typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp),);
|
|||||||
/* This triggers a compiler error in png.c, if png.c and png.h
|
/* This triggers a compiler error in png.c, if png.c and png.h
|
||||||
* do not agree upon the version number.
|
* do not agree upon the version number.
|
||||||
*/
|
*/
|
||||||
typedef png_structp version_1_5_0beta32;
|
typedef png_structp version_1_5_0beta33;
|
||||||
|
|
||||||
typedef png_struct FAR * FAR * png_structpp;
|
typedef png_struct FAR * FAR * png_structpp;
|
||||||
|
|
||||||
@ -998,16 +998,17 @@ extern PNG_EXPORT(void,png_set_bgr,(png_structp png_ptr),,30);
|
|||||||
#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED
|
#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED
|
||||||
/* Expand the grayscale to 24-bit RGB if necessary. */
|
/* Expand the grayscale to 24-bit RGB if necessary. */
|
||||||
extern PNG_EXPORT(void,png_set_gray_to_rgb,(png_structp png_ptr),,31);
|
extern PNG_EXPORT(void,png_set_gray_to_rgb,(png_structp png_ptr),,31);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
|
|
||||||
/* Reduce RGB to grayscale. */
|
/* Reduce RGB to grayscale. */
|
||||||
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_rgb_to_gray,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_rgb_to_gray,(png_structp png_ptr,
|
||||||
int error_action, double red, double green ),,32);
|
int error_action, double red, double green ),,32);
|
||||||
# endif
|
# endif
|
||||||
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed,(png_structp png_ptr,
|
||||||
int error_action, png_fixed_point red, png_fixed_point green),,33);
|
int error_action, png_fixed_point red, png_fixed_point green),,33);
|
||||||
|
# endif
|
||||||
|
|
||||||
extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status,(png_structp png_ptr),,
|
extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status,(png_structp png_ptr),,
|
||||||
34);
|
34);
|
||||||
#endif
|
#endif
|
||||||
@ -1081,6 +1082,7 @@ extern PNG_EXPORT(void,png_set_background,(png_structp png_ptr,
|
|||||||
png_color_16p background_color, int background_gamma_code,
|
png_color_16p background_color, int background_gamma_code,
|
||||||
int need_expand, double background_gamma),,47);
|
int need_expand, double background_gamma),,47);
|
||||||
# endif
|
# endif
|
||||||
|
/* TODO: png_set_background_fixed */
|
||||||
# define PNG_BACKGROUND_GAMMA_UNKNOWN 0
|
# define PNG_BACKGROUND_GAMMA_UNKNOWN 0
|
||||||
# define PNG_BACKGROUND_GAMMA_SCREEN 1
|
# define PNG_BACKGROUND_GAMMA_SCREEN 1
|
||||||
# define PNG_BACKGROUND_GAMMA_FILE 2
|
# define PNG_BACKGROUND_GAMMA_FILE 2
|
||||||
@ -1107,6 +1109,7 @@ extern PNG_EXPORT(void,png_set_quantize,(png_structp png_ptr,
|
|||||||
extern PNG_EXPORT(void,png_set_gamma,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_gamma,(png_structp png_ptr,
|
||||||
double screen_gamma, double default_file_gamma),,50);
|
double screen_gamma, double default_file_gamma),,50);
|
||||||
# endif
|
# endif
|
||||||
|
/* TODO: png_set_gamma_fixed */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -1267,6 +1270,7 @@ extern PNG_EXPORT(void,png_set_filter_heuristics,(png_structp png_ptr,
|
|||||||
int heuristic_method, int num_weights, png_doublep filter_weights,
|
int heuristic_method, int num_weights, png_doublep filter_weights,
|
||||||
png_doublep filter_costs),,68);
|
png_doublep filter_costs),,68);
|
||||||
# endif
|
# endif
|
||||||
|
/* TODO: png_set_filter_heuristics_fixed */
|
||||||
#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
|
#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
|
||||||
|
|
||||||
/* Heuristic used for row filter selection. These defines should NOT be
|
/* Heuristic used for row filter selection. These defines should NOT be
|
||||||
@ -1582,6 +1586,7 @@ extern PNG_EXPORT(png_uint_32, png_get_y_pixels_per_meter,
|
|||||||
extern PNG_EXPORT(float, png_get_pixel_aspect_ratio,
|
extern PNG_EXPORT(float, png_get_pixel_aspect_ratio,
|
||||||
(png_structp png_ptr, png_infop info_ptr),,125);
|
(png_structp png_ptr, png_infop info_ptr),,125);
|
||||||
# endif
|
# endif
|
||||||
|
/* TODO: png_get_pixel_aspect_ratio_fixed */
|
||||||
|
|
||||||
/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */
|
/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */
|
||||||
extern PNG_EXPORT(png_int_32, png_get_x_offset_pixels,
|
extern PNG_EXPORT(png_int_32, png_get_x_offset_pixels,
|
||||||
@ -1648,8 +1653,10 @@ extern PNG_EXPORT(void,png_set_cHRM_fixed,(png_structp png_ptr,
|
|||||||
extern PNG_EXPORT(png_uint_32,png_get_gAMA,(png_structp png_ptr,
|
extern PNG_EXPORT(png_uint_32,png_get_gAMA,(png_structp png_ptr,
|
||||||
png_infop info_ptr, double *file_gamma),,137);
|
png_infop info_ptr, double *file_gamma),,137);
|
||||||
# endif
|
# endif
|
||||||
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed,(png_structp png_ptr,
|
extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed,(png_structp png_ptr,
|
||||||
png_infop info_ptr, png_fixed_point *int_file_gamma),,138);
|
png_infop info_ptr, png_fixed_point *int_file_gamma),,138);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_gAMA_SUPPORTED
|
#ifdef PNG_gAMA_SUPPORTED
|
||||||
@ -1657,8 +1664,10 @@ extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed,(png_structp png_ptr,
|
|||||||
extern PNG_EXPORT(void,png_set_gAMA,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_gAMA,(png_structp png_ptr,
|
||||||
png_infop info_ptr, double file_gamma),,139);
|
png_infop info_ptr, double file_gamma),,139);
|
||||||
# endif
|
# endif
|
||||||
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_gAMA_fixed,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_gAMA_fixed,(png_structp png_ptr,
|
||||||
png_infop info_ptr, png_fixed_point int_file_gamma),,140);
|
png_infop info_ptr, png_fixed_point int_file_gamma),,140);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_hIST_SUPPORTED
|
#ifdef PNG_hIST_SUPPORTED
|
||||||
@ -1813,12 +1822,11 @@ extern PNG_EXPORT(void,png_set_tRNS,(png_structp png_ptr,
|
|||||||
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(png_uint_32,png_get_sCAL,(png_structp png_ptr,
|
extern PNG_EXPORT(png_uint_32,png_get_sCAL,(png_structp png_ptr,
|
||||||
png_infop info_ptr, int *unit, double *width, double *height),,168);
|
png_infop info_ptr, int *unit, double *width, double *height),,168);
|
||||||
# else
|
# endif
|
||||||
# ifdef PNG_FIXED_POINT_SUPPORTED
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(png_uint_32,png_get_sCAL_s,(png_structp png_ptr,
|
extern PNG_EXPORT(png_uint_32,png_get_sCAL_s,(png_structp png_ptr,
|
||||||
png_infop info_ptr, int *unit, png_charpp swidth,
|
png_infop info_ptr, int *unit, png_charpp swidth,
|
||||||
png_charpp sheight),,169);
|
png_charpp sheight),,169);
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
#endif /* PNG_sCAL_SUPPORTED */
|
#endif /* PNG_sCAL_SUPPORTED */
|
||||||
|
|
||||||
@ -1826,12 +1834,11 @@ extern PNG_EXPORT(png_uint_32,png_get_sCAL_s,(png_structp png_ptr,
|
|||||||
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
# ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_sCAL,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_sCAL,(png_structp png_ptr,
|
||||||
png_infop info_ptr, int unit, double width, double height),,170);
|
png_infop info_ptr, int unit, double width, double height),,170);
|
||||||
# else
|
# endif
|
||||||
# ifdef PNG_FIXED_POINT_SUPPORTED
|
# ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
extern PNG_EXPORT(void,png_set_sCAL_s,(png_structp png_ptr,
|
extern PNG_EXPORT(void,png_set_sCAL_s,(png_structp png_ptr,
|
||||||
png_infop info_ptr, int unit, png_charp swidth,
|
png_infop info_ptr, int unit, png_charp swidth,
|
||||||
png_charp sheight),,171);
|
png_charp sheight),,171);
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
#endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
|
#endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
|
||||||
|
|
||||||
|
3
pngget.c
3
pngget.c
@ -684,7 +684,7 @@ png_get_sCAL(png_structp png_ptr, png_infop info_ptr,
|
|||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
#else
|
#endif
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
png_uint_32 PNGAPI
|
png_uint_32 PNGAPI
|
||||||
png_get_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
png_get_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
||||||
@ -703,7 +703,6 @@ png_get_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef PNG_pHYs_SUPPORTED
|
#ifdef PNG_pHYs_SUPPORTED
|
||||||
png_uint_32 PNGAPI
|
png_uint_32 PNGAPI
|
||||||
|
44
pngrtran.c
44
pngrtran.c
@ -662,26 +662,12 @@ png_set_gray_to_rgb(png_structp png_ptr)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
|
#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
|
||||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
void
|
||||||
/* Convert a RGB image to a grayscale of the same width. This allows us,
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
* for example, to convert a 24 bpp RGB image into an 8 bpp grayscale image.
|
PNGAPI
|
||||||
*/
|
#else
|
||||||
|
/* PRIVATE */
|
||||||
void PNGAPI
|
|
||||||
png_set_rgb_to_gray(png_structp png_ptr, int error_action, double red,
|
|
||||||
double green)
|
|
||||||
{
|
|
||||||
int red_fixed = (int)((float)red*100000.0 + 0.5);
|
|
||||||
int green_fixed = (int)((float)green*100000.0 + 0.5);
|
|
||||||
|
|
||||||
if (png_ptr == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
png_set_rgb_to_gray_fixed(png_ptr, error_action, red_fixed, green_fixed);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void PNGAPI
|
|
||||||
png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
|
png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
|
||||||
png_fixed_point red, png_fixed_point green)
|
png_fixed_point red, png_fixed_point green)
|
||||||
{
|
{
|
||||||
@ -741,6 +727,26 @@ png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
|
|||||||
(png_uint_16)(32768 - red_int - green_int);
|
(png_uint_16)(32768 - red_int - green_int);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
|
/* Convert a RGB image to a grayscale of the same width. This allows us,
|
||||||
|
* for example, to convert a 24 bpp RGB image into an 8 bpp grayscale image.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void PNGAPI
|
||||||
|
png_set_rgb_to_gray(png_structp png_ptr, int error_action, double red,
|
||||||
|
double green)
|
||||||
|
{
|
||||||
|
int red_fixed = (int)((float)red*100000.0 + 0.5);
|
||||||
|
int green_fixed = (int)((float)green*100000.0 + 0.5);
|
||||||
|
|
||||||
|
if (png_ptr == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
png_set_rgb_to_gray_fixed(png_ptr, error_action, red_fixed, green_fixed);
|
||||||
|
}
|
||||||
|
#endif /* FLOATING POINT */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
|
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
|
||||||
|
@ -746,8 +746,8 @@ png_handle_gAMA(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
|
|||||||
png_ptr->gamma = file_gamma;
|
png_ptr->gamma = file_gamma;
|
||||||
# endif
|
# endif
|
||||||
png_set_gAMA(png_ptr, info_ptr, file_gamma);
|
png_set_gAMA(png_ptr, info_ptr, file_gamma);
|
||||||
#endif
|
#else
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
/* Fixed point must be set! */
|
||||||
png_set_gAMA_fixed(png_ptr, info_ptr, igamma);
|
png_set_gAMA_fixed(png_ptr, info_ptr, igamma);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -3187,7 +3187,7 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
png_warning(png_ptr, "Ignoring bad adaptive filter type");
|
png_error(png_ptr, "Ignoring bad adaptive filter type");
|
||||||
*row = 0;
|
*row = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
17
pngset.c
17
pngset.c
@ -141,6 +141,7 @@ png_set_gAMA(png_structp png_ptr, png_infop info_ptr, double file_gamma)
|
|||||||
png_warning(png_ptr, "Setting gamma = 0");
|
png_warning(png_ptr, "Setting gamma = 0");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point
|
png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point
|
||||||
int_gamma)
|
int_gamma)
|
||||||
@ -172,15 +173,14 @@ png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point
|
|||||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
info_ptr->gamma = (float)(png_gamma/100000.);
|
info_ptr->gamma = (float)(png_gamma/100000.);
|
||||||
#endif
|
#endif
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
|
||||||
info_ptr->int_gamma = png_gamma;
|
info_ptr->int_gamma = png_gamma;
|
||||||
#endif
|
|
||||||
info_ptr->valid |= PNG_INFO_gAMA;
|
info_ptr->valid |= PNG_INFO_gAMA;
|
||||||
|
|
||||||
if (png_gamma == 0)
|
if (png_gamma == 0)
|
||||||
png_warning(png_ptr, "Setting gamma = 0");
|
png_warning(png_ptr, "Setting gamma = 0");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_hIST_SUPPORTED
|
#ifdef PNG_hIST_SUPPORTED
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
@ -368,7 +368,7 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_sCAL_SUPPORTED) || defined(PNG_WRITE_sCAL_SUPPORTED)
|
#ifdef PNG_sCAL_SUPPORTED
|
||||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
|
png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
|
||||||
@ -385,7 +385,7 @@ png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
|
|||||||
|
|
||||||
info_ptr->valid |= PNG_INFO_sCAL;
|
info_ptr->valid |= PNG_INFO_sCAL;
|
||||||
}
|
}
|
||||||
#else
|
#endif
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
||||||
@ -440,7 +440,6 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef PNG_pHYs_SUPPORTED
|
#ifdef PNG_pHYs_SUPPORTED
|
||||||
void PNGAPI
|
void PNGAPI
|
||||||
@ -558,13 +557,13 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
|
|||||||
png_set_sRGB(png_ptr, info_ptr, intent);
|
png_set_sRGB(png_ptr, info_ptr, intent);
|
||||||
|
|
||||||
#ifdef PNG_gAMA_SUPPORTED
|
#ifdef PNG_gAMA_SUPPORTED
|
||||||
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
|
||||||
file_gamma = (float).45455;
|
|
||||||
png_set_gAMA(png_ptr, info_ptr, file_gamma);
|
|
||||||
#endif
|
|
||||||
#ifdef PNG_FIXED_POINT_SUPPORTED
|
#ifdef PNG_FIXED_POINT_SUPPORTED
|
||||||
int_file_gamma = 45455L;
|
int_file_gamma = 45455L;
|
||||||
png_set_gAMA_fixed(png_ptr, info_ptr, int_file_gamma);
|
png_set_gAMA_fixed(png_ptr, info_ptr, int_file_gamma);
|
||||||
|
#else
|
||||||
|
/* Floating point must be set! */
|
||||||
|
file_gamma = (float).45455;
|
||||||
|
png_set_gAMA(png_ptr, info_ptr, file_gamma);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -85,6 +85,36 @@ pre == -1{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# variable=value
|
||||||
|
# Sets the given variable to the given value (the syntax is fairly
|
||||||
|
# free form, except for deb (you are expected to understand how to
|
||||||
|
# set the debug variable...)
|
||||||
|
#
|
||||||
|
# This happens before the check on 'pre' below skips most of the
|
||||||
|
# rest of the actions, so the variable settings happen during
|
||||||
|
# preprocessing but are recorded in the END action too. This
|
||||||
|
# allows them to be set on the command line too.
|
||||||
|
$0 ~ /^[ ]*everything[ =]*off[ ]*$/{
|
||||||
|
everything = "off"
|
||||||
|
next
|
||||||
|
}
|
||||||
|
$0 ~ /^[ ]*everything[ =]*on[ ]*$/{
|
||||||
|
everything = "on"
|
||||||
|
next
|
||||||
|
}
|
||||||
|
$0 ~ /^[ ]*logunsupported[ =]*0[ ]*$/{
|
||||||
|
logunsupported = 0
|
||||||
|
next
|
||||||
|
}
|
||||||
|
$0 ~ /^[ ]*logunsupported[ =]*1[ ]*$/{
|
||||||
|
logunsupported = 1
|
||||||
|
next
|
||||||
|
}
|
||||||
|
$1 == "deb" && $2 == "=" && NF == 3{
|
||||||
|
deb = $3
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
# Preprocessing - this just copies the input file with lines
|
# Preprocessing - this just copies the input file with lines
|
||||||
# that need preprocessing (just chunk at present) expanded
|
# that need preprocessing (just chunk at present) expanded
|
||||||
# The bare "pre" instead of "pre != 0" crashes under Sunos awk
|
# The bare "pre" instead of "pre != 0" crashes under Sunos awk
|
||||||
@ -153,31 +183,6 @@ $1 == "file" && NF >= 2{
|
|||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
# variable=value
|
|
||||||
# Sets the given variable to the given value (the syntax is fairly
|
|
||||||
# free form, except for deb (you are expected to understand how to
|
|
||||||
# set the debug variable...)
|
|
||||||
$0 ~ /^[ ]*everything[ =]*off[ ]*$/{
|
|
||||||
everything = "off"
|
|
||||||
next
|
|
||||||
}
|
|
||||||
$0 ~ /^[ ]*everything[ =]*on[ ]*$/{
|
|
||||||
everything = "on"
|
|
||||||
next
|
|
||||||
}
|
|
||||||
$0 ~ /^[ ]*logunsupported[ =]*0[ ]*$/{
|
|
||||||
logunsupported = 0
|
|
||||||
next
|
|
||||||
}
|
|
||||||
$0 ~ /^[ ]*logunsupported[ =]*1[ ]*$/{
|
|
||||||
logunsupported = 1
|
|
||||||
next
|
|
||||||
}
|
|
||||||
$1 == "deb" && $2 == "=" && NF == 3{
|
|
||||||
deb = $3
|
|
||||||
next
|
|
||||||
}
|
|
||||||
|
|
||||||
# option NAME ( (requires|enables|if) NAME* | on | off | disabled )*
|
# option NAME ( (requires|enables|if) NAME* | on | off | disabled )*
|
||||||
# Declares an option 'NAME' and describes its default setting (disabled)
|
# Declares an option 'NAME' and describes its default setting (disabled)
|
||||||
# and its relationship to other options. The option is disabled
|
# and its relationship to other options. The option is disabled
|
||||||
@ -403,12 +408,12 @@ END{
|
|||||||
if (err) exit 1
|
if (err) exit 1
|
||||||
|
|
||||||
if (pre) {
|
if (pre) {
|
||||||
# Record the variables
|
# Record the final value of the variables
|
||||||
print "deb =", deb
|
print "deb =", deb >out
|
||||||
if (everything != "") {
|
if (everything != "") {
|
||||||
print "everything =", everything
|
print "everything =", everything >out
|
||||||
}
|
}
|
||||||
print "logunsupported =", logunsupported
|
print "logunsupported =", logunsupported >out
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ option WRITE_INT_FUNCTIONS disabled
|
|||||||
option WRITE enables WRITE_INT_FUNCTIONS
|
option WRITE enables WRITE_INT_FUNCTIONS
|
||||||
|
|
||||||
# Generic options - affect both read and write.
|
# Generic options - affect both read and write.
|
||||||
option BENIGN_ERRORS disabled
|
option BENIGN_ERRORS
|
||||||
option MNG_FEATURES
|
option MNG_FEATURES
|
||||||
option FLOATING_POINT enables ok_math
|
option FLOATING_POINT enables ok_math
|
||||||
option FIXED_POINT enables ok_math
|
option FIXED_POINT enables ok_math
|
||||||
@ -288,7 +288,7 @@ option READ_COMPOSITE_NODIV requires READ
|
|||||||
= NO_READ_COMPOSITE_NODIV PNG_NO_READ_COMPOSITED_NODIV
|
= NO_READ_COMPOSITE_NODIV PNG_NO_READ_COMPOSITED_NODIV
|
||||||
|
|
||||||
# Inch conversions: not switched on by default
|
# Inch conversions: not switched on by default
|
||||||
option INCH_CONVERSIONS requires FLOATING_POINT disabled
|
option INCH_CONVERSIONS requires FLOATING_POINT
|
||||||
= INCH_CONVERSIONS PNG_INCH_CONVERSIONS
|
= INCH_CONVERSIONS PNG_INCH_CONVERSIONS
|
||||||
|
|
||||||
# IN DEVELOPMENT
|
# IN DEVELOPMENT
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* libpng-1.5.0beta32 STANDARD API DEFINITION */
|
/* libpng-1.5.0beta33 STANDARD API DEFINITION */
|
||||||
/* pnglibconf.h - library build configuration */
|
/* pnglibconf.h - library build configuration */
|
||||||
|
|
||||||
/* last changed in libpng version 1.5.0 - June 26, 2010 */
|
/* last changed in libpng version 1.5.0 - June 26, 2010 */
|
||||||
@ -36,12 +36,12 @@
|
|||||||
#define PNG_ERROR_TEXT_SUPPORTED
|
#define PNG_ERROR_TEXT_SUPPORTED
|
||||||
#define PNG_READ_SUPPORTED
|
#define PNG_READ_SUPPORTED
|
||||||
/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
|
/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
|
||||||
/*#undef PNG_BENIGN_ERRORS_SUPPORTED*/
|
#define PNG_BENIGN_ERRORS_SUPPORTED
|
||||||
#define PNG_SETJMP_SUPPORTED
|
#define PNG_SETJMP_SUPPORTED
|
||||||
#define PNG_WRITE_FLUSH_SUPPORTED
|
#define PNG_WRITE_FLUSH_SUPPORTED
|
||||||
#define PNG_MNG_FEATURES_SUPPORTED
|
#define PNG_MNG_FEATURES_SUPPORTED
|
||||||
#define PNG_FLOATING_POINT_SUPPORTED
|
#define PNG_FLOATING_POINT_SUPPORTED
|
||||||
/*#undef PNG_INCH_CONVERSIONS_SUPPORTED*/
|
#define PNG_INCH_CONVERSIONS_SUPPORTED
|
||||||
#define PNG_STDIO_SUPPORTED
|
#define PNG_STDIO_SUPPORTED
|
||||||
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
|
||||||
#define PNG_USER_MEM_SUPPORTED
|
#define PNG_USER_MEM_SUPPORTED
|
||||||
|
@ -11,7 +11,7 @@ LIBRARY
|
|||||||
;OS2 CODE PRELOAD MOVEABLE DISCARDABLE
|
;OS2 CODE PRELOAD MOVEABLE DISCARDABLE
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
;Version 1.5.0beta32
|
;Version 1.5.0beta33
|
||||||
png_access_version_number @1
|
png_access_version_number @1
|
||||||
png_set_sig_bytes @2
|
png_set_sig_bytes @2
|
||||||
png_sig_cmp @3
|
png_sig_cmp @3
|
||||||
@ -117,6 +117,9 @@ EXPORTS
|
|||||||
png_chunk_error @103
|
png_chunk_error @103
|
||||||
png_warning @105
|
png_warning @105
|
||||||
png_chunk_warning @106
|
png_chunk_warning @106
|
||||||
|
png_benign_error @107
|
||||||
|
png_chunk_benign_error @108
|
||||||
|
png_set_benign_errors @109
|
||||||
png_get_valid @110
|
png_get_valid @110
|
||||||
png_get_rowbytes @111
|
png_get_rowbytes @111
|
||||||
png_get_rows @112
|
png_get_rows @112
|
||||||
@ -176,7 +179,9 @@ EXPORTS
|
|||||||
png_get_tRNS @166
|
png_get_tRNS @166
|
||||||
png_set_tRNS @167
|
png_set_tRNS @167
|
||||||
png_get_sCAL @168
|
png_get_sCAL @168
|
||||||
|
png_get_sCAL_s @169
|
||||||
png_set_sCAL @170
|
png_set_sCAL @170
|
||||||
|
png_set_sCAL_s @171
|
||||||
png_set_keep_unknown_chunks @172
|
png_set_keep_unknown_chunks @172
|
||||||
png_handle_as_unknown @173
|
png_handle_as_unknown @173
|
||||||
png_set_unknown_chunks @174
|
png_set_unknown_chunks @174
|
||||||
@ -197,6 +202,12 @@ EXPORTS
|
|||||||
png_get_chunk_cache_max @190
|
png_get_chunk_cache_max @190
|
||||||
png_set_chunk_malloc_max @191
|
png_set_chunk_malloc_max @191
|
||||||
png_get_chunk_malloc_max @192
|
png_get_chunk_malloc_max @192
|
||||||
|
png_get_pixels_per_inch @193
|
||||||
|
png_get_x_pixels_per_inch @194
|
||||||
|
png_get_y_pixels_per_inch @195
|
||||||
|
png_get_x_offset_inches @196
|
||||||
|
png_get_y_offset_inches @197
|
||||||
|
png_get_pHYs_dpi @198
|
||||||
png_get_io_state @199
|
png_get_io_state @199
|
||||||
png_get_io_chunk_name @200
|
png_get_io_chunk_name @200
|
||||||
png_get_uint_32 @201
|
png_get_uint_32 @201
|
||||||
|
Loading…
Reference in New Issue
Block a user