mingw32 libpng static library and headers updated to 1.2.22, to prevent
any possible libpng related exploits git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2760 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
f8c14ae09e
commit
0004fda94a
3 changed files with 251 additions and 150 deletions
Binary file not shown.
|
@ -1,15 +1,15 @@
|
||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.2.10 - April 23, 2006
|
* libpng version 1.2.22 - October 13, 2007
|
||||||
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2007 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.)
|
||||||
*
|
*
|
||||||
* 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.2.10 - April 23, 2006: Glenn
|
* libpng versions 0.97, January 1998, through 1.2.22 - October 13, 2007: Glenn
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*
|
*
|
||||||
* Note about libpng version numbers:
|
* Note about libpng version numbers:
|
||||||
|
@ -103,14 +103,14 @@
|
||||||
* 1.0.16 10 10016 10.so.0.1.0.16
|
* 1.0.16 10 10016 10.so.0.1.0.16
|
||||||
* 1.2.6 13 10206 12.so.0.1.2.6
|
* 1.2.6 13 10206 12.so.0.1.2.6
|
||||||
* 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
|
* 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
|
||||||
* 1.0.17rc1 10 10017 12.so.0.1.0.17rc1
|
* 1.0.17rc1 10 10017 10.so.0.1.0.17rc1
|
||||||
* 1.2.7rc1 13 10207 12.so.0.1.2.7rc1
|
* 1.2.7rc1 13 10207 12.so.0.1.2.7rc1
|
||||||
* 1.0.17 10 10017 12.so.0.1.0.17
|
* 1.0.17 10 10017 10.so.0.1.0.17
|
||||||
* 1.2.7 13 10207 12.so.0.1.2.7
|
* 1.2.7 13 10207 12.so.0.1.2.7
|
||||||
* 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
|
* 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
|
||||||
* 1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5
|
* 1.0.18rc1-5 10 10018 10.so.0.1.0.18rc1-5
|
||||||
* 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5
|
* 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5
|
||||||
* 1.0.18 10 10018 12.so.0.1.0.18
|
* 1.0.18 10 10018 10.so.0.1.0.18
|
||||||
* 1.2.8 13 10208 12.so.0.1.2.8
|
* 1.2.8 13 10208 12.so.0.1.2.8
|
||||||
* 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3
|
* 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3
|
||||||
* 1.2.9beta4-11 13 10209 12.so.0.9[.0]
|
* 1.2.9beta4-11 13 10209 12.so.0.9[.0]
|
||||||
|
@ -119,6 +119,56 @@
|
||||||
* 1.2.10beta1-8 13 10210 12.so.0.10[.0]
|
* 1.2.10beta1-8 13 10210 12.so.0.10[.0]
|
||||||
* 1.2.10rc1-3 13 10210 12.so.0.10[.0]
|
* 1.2.10rc1-3 13 10210 12.so.0.10[.0]
|
||||||
* 1.2.10 13 10210 12.so.0.10[.0]
|
* 1.2.10 13 10210 12.so.0.10[.0]
|
||||||
|
* 1.2.11beta1-4 13 10211 12.so.0.11[.0]
|
||||||
|
* 1.0.19rc1-5 10 10019 10.so.0.19[.0]
|
||||||
|
* 1.2.11rc1-5 13 10211 12.so.0.11[.0]
|
||||||
|
* 1.0.19 10 10019 10.so.0.19[.0]
|
||||||
|
* 1.2.11 13 10211 12.so.0.11[.0]
|
||||||
|
* 1.0.20 10 10020 10.so.0.20[.0]
|
||||||
|
* 1.2.12 13 10212 12.so.0.12[.0]
|
||||||
|
* 1.2.13beta1 13 10213 12.so.0.13[.0]
|
||||||
|
* 1.0.21 10 10021 10.so.0.21[.0]
|
||||||
|
* 1.2.13 13 10213 12.so.0.13[.0]
|
||||||
|
* 1.2.14beta1-2 13 10214 12.so.0.14[.0]
|
||||||
|
* 1.0.22rc1 10 10022 10.so.0.22[.0]
|
||||||
|
* 1.2.14rc1 13 10214 12.so.0.14[.0]
|
||||||
|
* 1.0.22 10 10022 10.so.0.22[.0]
|
||||||
|
* 1.2.14 13 10214 12.so.0.14[.0]
|
||||||
|
* 1.2.15beta1-6 13 10215 12.so.0.15[.0]
|
||||||
|
* 1.0.23rc1-5 10 10023 10.so.0.23[.0]
|
||||||
|
* 1.2.15rc1-5 13 10215 12.so.0.15[.0]
|
||||||
|
* 1.0.23 10 10023 10.so.0.23[.0]
|
||||||
|
* 1.2.15 13 10215 12.so.0.15[.0]
|
||||||
|
* 1.2.16beta1-2 13 10216 12.so.0.16[.0]
|
||||||
|
* 1.2.16rc1 13 10216 12.so.0.16[.0]
|
||||||
|
* 1.0.24 10 10024 10.so.0.24[.0]
|
||||||
|
* 1.2.16 13 10216 12.so.0.16[.0]
|
||||||
|
* 1.2.17beta1-2 13 10217 12.so.0.17[.0]
|
||||||
|
* 1.0.25rc1 10 10025 10.so.0.25[.0]
|
||||||
|
* 1.2.17rc1-3 13 10217 12.so.0.17[.0]
|
||||||
|
* 1.0.25 10 10025 10.so.0.25[.0]
|
||||||
|
* 1.2.17 13 10217 12.so.0.17[.0]
|
||||||
|
* 1.0.26 10 10026 10.so.0.26[.0]
|
||||||
|
* 1.2.18 13 10218 12.so.0.18[.0]
|
||||||
|
* 1.2.19beta1-31 13 10219 12.so.0.19[.0]
|
||||||
|
* 1.0.27rc1-6 10 10027 10.so.0.27[.0]
|
||||||
|
* 1.2.19rc1-6 13 10219 12.so.0.19[.0]
|
||||||
|
* 1.0.27 10 10027 10.so.0.27[.0]
|
||||||
|
* 1.2.19 13 10219 12.so.0.19[.0]
|
||||||
|
* 1.2.20beta01-04 13 10220 12.so.0.20[.0]
|
||||||
|
* 1.0.28rc1-6 10 10028 10.so.0.28[.0]
|
||||||
|
* 1.2.20rc1-6 13 10220 12.so.0.20[.0]
|
||||||
|
* 1.0.28 10 10028 10.so.0.28[.0]
|
||||||
|
* 1.2.20 13 10220 12.so.0.20[.0]
|
||||||
|
* 1.2.21beta1-2 13 10221 12.so.0.21[.0]
|
||||||
|
* 1.2.21rc1-3 13 10221 12.so.0.21[.0]
|
||||||
|
* 1.0.29 10 10029 10.so.0.29[.0]
|
||||||
|
* 1.2.21 13 10221 12.so.0.21[.0]
|
||||||
|
* 1.2.22beta1-4 13 10222 12.so.0.22[.0]
|
||||||
|
* 1.0.30rc1 10 10030 10.so.0.30[.0]
|
||||||
|
* 1.2.22rc1 13 10222 12.so.0.22[.0]
|
||||||
|
* 1.0.30 10 10030 10.so.0.30[.0]
|
||||||
|
* 1.2.22 13 10222 12.so.0.22[.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
|
||||||
|
@ -148,8 +198,8 @@
|
||||||
* If you modify libpng you may insert additional notices immediately following
|
* If you modify libpng you may insert additional notices immediately following
|
||||||
* this sentence.
|
* this sentence.
|
||||||
*
|
*
|
||||||
* libpng versions 1.2.6, August 15, 2004, through 1.2.10, April 23, 2006, are
|
* libpng versions 1.2.6, August 15, 2004, through 1.2.22, October 13, 2007, are
|
||||||
* Copyright (c) 2004, 2006 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:
|
||||||
*
|
*
|
||||||
|
@ -260,13 +310,13 @@
|
||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* April 23, 2006
|
* October 13, 2007
|
||||||
*
|
*
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* 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.2.10 are Y2K compliant. It is my belief that earlier
|
* upward through 1.2.22 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
|
||||||
|
@ -322,9 +372,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.2.10"
|
#define PNG_LIBPNG_VER_STRING "1.2.22"
|
||||||
#define PNG_HEADER_VERSION_STRING \
|
#define PNG_HEADER_VERSION_STRING \
|
||||||
" libpng version 1.2.10 - April 23, 2006 (header)\n"
|
" libpng version 1.2.22 - October 13, 2007\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 0
|
#define PNG_LIBPNG_VER_SONUM 0
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 13
|
#define PNG_LIBPNG_VER_DLLNUM 13
|
||||||
|
@ -332,7 +382,7 @@
|
||||||
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
||||||
#define PNG_LIBPNG_VER_MAJOR 1
|
#define PNG_LIBPNG_VER_MAJOR 1
|
||||||
#define PNG_LIBPNG_VER_MINOR 2
|
#define PNG_LIBPNG_VER_MINOR 2
|
||||||
#define PNG_LIBPNG_VER_RELEASE 10
|
#define PNG_LIBPNG_VER_RELEASE 22
|
||||||
/* This should match the numeric part of the final component of
|
/* This should match the numeric part of the final component of
|
||||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
|
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
|
||||||
|
|
||||||
|
@ -360,7 +410,7 @@
|
||||||
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
|
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
|
||||||
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
||||||
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
|
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
|
||||||
#define PNG_LIBPNG_VER 10210 /* 1.2.10 */
|
#define PNG_LIBPNG_VER 10222 /* 1.2.22 */
|
||||||
|
|
||||||
#ifndef PNG_VERSION_INFO_ONLY
|
#ifndef PNG_VERSION_INFO_ONLY
|
||||||
/* include the compression library's header */
|
/* include the compression library's header */
|
||||||
|
@ -448,7 +498,7 @@ extern "C" {
|
||||||
* the version above.
|
* the version above.
|
||||||
*/
|
*/
|
||||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||||
PNG_EXPORT_VAR (const char) png_libpng_ver[18];
|
PNG_EXPORT_VAR (PNG_CONST char) png_libpng_ver[18];
|
||||||
/* need room for 99.99.99beta99z */
|
/* need room for 99.99.99beta99z */
|
||||||
#else
|
#else
|
||||||
#define png_libpng_ver png_get_header_ver(NULL)
|
#define png_libpng_ver png_get_header_ver(NULL)
|
||||||
|
@ -457,17 +507,14 @@ PNG_EXPORT_VAR (const char) png_libpng_ver[18];
|
||||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||||
/* This was removed in version 1.0.5c */
|
/* This was removed in version 1.0.5c */
|
||||||
/* Structures to facilitate easy interlacing. See png.c for more details */
|
/* Structures to facilitate easy interlacing. See png.c for more details */
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_start[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_start[7];
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_inc[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_inc[7];
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_ystart[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_ystart[7];
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_yinc[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_yinc[7];
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_mask[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_mask[7];
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_dsp_mask[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_dsp_mask[7];
|
||||||
#ifdef PNG_USE_PNGGCCRD
|
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_width[7];
|
|
||||||
#endif
|
|
||||||
/* This isn't currently used. If you need it, see png.c for more details.
|
/* This isn't currently used. If you need it, see png.c for more details.
|
||||||
PNG_EXPORT_VAR (const int FARDATA) png_pass_height[7];
|
PNG_EXPORT_VAR (PNG_CONST int FARDATA) png_pass_height[7];
|
||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1238,8 +1285,7 @@ struct png_struct_def
|
||||||
png_size_t current_text_left; /* how much text left to read in input */
|
png_size_t current_text_left; /* how much text left to read in input */
|
||||||
png_charp current_text; /* current text chunk buffer */
|
png_charp current_text; /* current text chunk buffer */
|
||||||
png_charp current_text_ptr; /* current location in current_text */
|
png_charp current_text_ptr; /* current location in current_text */
|
||||||
# endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */
|
# endif /* PNG_TEXT_SUPPORTED */
|
||||||
|
|
||||||
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
|
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
|
||||||
|
|
||||||
#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
|
#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
|
||||||
|
@ -1321,16 +1367,20 @@ struct png_struct_def
|
||||||
png_byte filter_type;
|
png_byte filter_type;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_1_0_X) || (defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD))
|
#if defined(PNG_1_0_X)
|
||||||
/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */
|
/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */
|
||||||
png_uint_32 row_buf_size;
|
png_uint_32 row_buf_size;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* New members added in libpng-1.2.0 */
|
/* New members added in libpng-1.2.0 */
|
||||||
#if !defined(PNG_1_0_X) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
||||||
|
# if !defined(PNG_1_0_X)
|
||||||
|
# if defined(PNG_MMX_CODE_SUPPORTED)
|
||||||
png_byte mmx_bitdepth_threshold;
|
png_byte mmx_bitdepth_threshold;
|
||||||
png_uint_32 mmx_rowbytes_threshold;
|
png_uint_32 mmx_rowbytes_threshold;
|
||||||
|
# endif
|
||||||
png_uint_32 asm_flags;
|
png_uint_32 asm_flags;
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
|
/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
|
||||||
|
@ -1360,13 +1410,18 @@ struct png_struct_def
|
||||||
png_uint_32 user_height_max;
|
png_uint_32 user_height_max;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* New member added in libpng-1.0.25 and 1.2.17 */
|
||||||
|
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
||||||
|
/* storage for unknown chunk that the library doesn't recognize. */
|
||||||
|
png_unknown_chunk unknown_chunk;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* 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_2_10;
|
typedef png_structp version_1_2_22;
|
||||||
|
|
||||||
typedef png_struct FAR * FAR * png_structpp;
|
typedef png_struct FAR * FAR * png_structpp;
|
||||||
|
|
||||||
|
@ -2014,6 +2069,7 @@ extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr,
|
||||||
int check));
|
int check));
|
||||||
#endif /* USE_FAR_KEYWORD */
|
#endif /* USE_FAR_KEYWORD */
|
||||||
|
|
||||||
|
#ifndef PNG_NO_ERROR_TEXT
|
||||||
/* Fatal error in PNG image of libpng - can't continue */
|
/* Fatal error in PNG image of libpng - can't continue */
|
||||||
extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr,
|
||||||
png_const_charp error_message));
|
png_const_charp error_message));
|
||||||
|
@ -2021,14 +2077,22 @@ extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr,
|
||||||
/* The same, but the chunk name is prepended to the error string. */
|
/* The same, but the chunk name is prepended to the error string. */
|
||||||
extern PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr,
|
||||||
png_const_charp error_message));
|
png_const_charp error_message));
|
||||||
|
#else
|
||||||
|
/* Fatal error in PNG image of libpng - can't continue */
|
||||||
|
extern PNG_EXPORT(void,png_err) PNGARG((png_structp png_ptr));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PNG_NO_WARNINGS
|
||||||
/* Non-fatal error in libpng. Can continue, but may have a problem. */
|
/* Non-fatal error in libpng. Can continue, but may have a problem. */
|
||||||
extern PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr,
|
||||||
png_const_charp warning_message));
|
png_const_charp warning_message));
|
||||||
|
|
||||||
|
#ifdef PNG_READ_SUPPORTED
|
||||||
/* Non-fatal error in libpng, chunk name is prepended to message. */
|
/* Non-fatal error in libpng, chunk name is prepended to message. */
|
||||||
extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr,
|
extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr,
|
||||||
png_const_charp warning_message));
|
png_const_charp warning_message));
|
||||||
|
#endif /* PNG_READ_SUPPORTED */
|
||||||
|
#endif /* PNG_NO_WARNINGS */
|
||||||
|
|
||||||
/* The png_set_<chunk> functions are for storing values in the png_info_struct.
|
/* The png_set_<chunk> functions are for storing values in the png_info_struct.
|
||||||
* Similarly, the png_get_<chunk> calls are used to read values from the
|
* Similarly, the png_get_<chunk> calls are used to read values from the
|
||||||
|
@ -2362,7 +2426,7 @@ extern PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr,
|
||||||
handling or default unknown chunk handling is not desired. Any chunks not
|
handling or default unknown chunk handling is not desired. Any chunks not
|
||||||
listed will be handled in the default manner. The IHDR and IEND chunks
|
listed will be handled in the default manner. The IHDR and IEND chunks
|
||||||
must not be listed.
|
must not be listed.
|
||||||
keep = 0: follow default behavour
|
keep = 0: follow default behaviour
|
||||||
= 1: do not keep
|
= 1: do not keep
|
||||||
= 2: keep only if safe-to-copy
|
= 2: keep only if safe-to-copy
|
||||||
= 3: keep even if unsafe-to-copy
|
= 3: keep even if unsafe-to-copy
|
||||||
|
@ -2450,10 +2514,6 @@ extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr,
|
||||||
#define png_debug2(l, m, p1, p2)
|
#define png_debug2(l, m, p1, p2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
|
||||||
extern PNG_EXPORT(png_bytep,png_sig_bytes) PNGARG((void));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr));
|
||||||
extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr));
|
||||||
extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
|
extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
|
||||||
|
@ -2472,6 +2532,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
|
||||||
|
|
||||||
/* Added to version 1.2.0 */
|
/* Added to version 1.2.0 */
|
||||||
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
||||||
|
#if defined(PNG_MMX_CODE_SUPPORTED)
|
||||||
#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */
|
#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */
|
||||||
#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */
|
#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */
|
||||||
#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04
|
#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04
|
||||||
|
@ -2497,6 +2558,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
|
||||||
|
|
||||||
#define PNG_SELECT_READ 1
|
#define PNG_SELECT_READ 1
|
||||||
#define PNG_SELECT_WRITE 2
|
#define PNG_SELECT_WRITE 2
|
||||||
|
#endif /* PNG_MMX_CODE_SUPPORTED */
|
||||||
|
|
||||||
#if !defined(PNG_1_0_X)
|
#if !defined(PNG_1_0_X)
|
||||||
/* pngget.c */
|
/* pngget.c */
|
||||||
|
@ -2529,11 +2591,11 @@ extern PNG_EXPORT(void,png_set_mmx_thresholds)
|
||||||
png_uint_32 mmx_rowbytes_threshold));
|
png_uint_32 mmx_rowbytes_threshold));
|
||||||
|
|
||||||
#endif /* PNG_1_0_X */
|
#endif /* PNG_1_0_X */
|
||||||
#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
|
|
||||||
|
|
||||||
#if !defined(PNG_1_0_X)
|
#if !defined(PNG_1_0_X)
|
||||||
/* png.c, pnggccrd.c, or pngvcrd.c */
|
/* png.c, pnggccrd.c, or pngvcrd.c */
|
||||||
extern PNG_EXPORT(int,png_mmx_support) PNGARG((void));
|
extern PNG_EXPORT(int,png_mmx_support) PNGARG((void));
|
||||||
|
#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
|
||||||
|
|
||||||
/* Strip the prepended error numbers ("#nnn ") from error and warning
|
/* Strip the prepended error numbers ("#nnn ") from error and warning
|
||||||
* messages before passing them to the error or warning handler. */
|
* messages before passing them to the error or warning handler. */
|
||||||
|
@ -2641,16 +2703,21 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
||||||
* be found in the files where the functions are located.
|
* be found in the files where the functions are located.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(PNG_INTERNAL)
|
|
||||||
|
|
||||||
/* Various modes of operation. Note that after an init, mode is set to
|
/* Various modes of operation, that are visible to applications because
|
||||||
* zero automatically when the structure is created.
|
* they are used for unknown chunk location.
|
||||||
*/
|
*/
|
||||||
#define PNG_HAVE_IHDR 0x01
|
#define PNG_HAVE_IHDR 0x01
|
||||||
#define PNG_HAVE_PLTE 0x02
|
#define PNG_HAVE_PLTE 0x02
|
||||||
#define PNG_HAVE_IDAT 0x04
|
#define PNG_HAVE_IDAT 0x04
|
||||||
#define PNG_AFTER_IDAT 0x08
|
#define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */
|
||||||
#define PNG_HAVE_IEND 0x10
|
#define PNG_HAVE_IEND 0x10
|
||||||
|
|
||||||
|
#if defined(PNG_INTERNAL)
|
||||||
|
|
||||||
|
/* More modes of operation. Note that after an init, mode is set to
|
||||||
|
* zero automatically when the structure is created.
|
||||||
|
*/
|
||||||
#define PNG_HAVE_gAMA 0x20
|
#define PNG_HAVE_gAMA 0x20
|
||||||
#define PNG_HAVE_cHRM 0x40
|
#define PNG_HAVE_cHRM 0x40
|
||||||
#define PNG_HAVE_sRGB 0x80
|
#define PNG_HAVE_sRGB 0x80
|
||||||
|
@ -2659,6 +2726,7 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
||||||
#define PNG_WROTE_INFO_BEFORE_PLTE 0x400
|
#define PNG_WROTE_INFO_BEFORE_PLTE 0x400
|
||||||
#define PNG_BACKGROUND_IS_GRAY 0x800
|
#define PNG_BACKGROUND_IS_GRAY 0x800
|
||||||
#define PNG_HAVE_PNG_SIGNATURE 0x1000
|
#define PNG_HAVE_PNG_SIGNATURE 0x1000
|
||||||
|
#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */
|
||||||
|
|
||||||
/* flags for the transformations the PNG library does on the image data */
|
/* flags for the transformations the PNG library does on the image data */
|
||||||
#define PNG_BGR 0x0001
|
#define PNG_BGR 0x0001
|
||||||
|
@ -2769,11 +2837,8 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
||||||
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
|
||||||
/* place to hold the signature string for a PNG file. */
|
/* place to hold the signature string for a PNG file. */
|
||||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sig[8];
|
PNG_EXPORT_VAR (PNG_CONST png_byte FARDATA) png_sig[8];
|
||||||
#else
|
#else
|
||||||
#if 0
|
|
||||||
#define png_sig png_sig_bytes(NULL)
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
#endif /* PNG_NO_EXTERN */
|
#endif /* PNG_NO_EXTERN */
|
||||||
|
|
||||||
|
@ -2781,50 +2846,50 @@ extern PNG_EXPORT(void,png_save_uint_16)
|
||||||
* define the name here, and add an invocation of the macro in png.c and
|
* define the name here, and add an invocation of the macro in png.c and
|
||||||
* wherever it's needed.
|
* wherever it's needed.
|
||||||
*/
|
*/
|
||||||
#define PNG_IHDR const png_byte png_IHDR[5] = { 73, 72, 68, 82, '\0'}
|
#define PNG_IHDR png_byte png_IHDR[5] = { 73, 72, 68, 82, '\0'}
|
||||||
#define PNG_IDAT const png_byte png_IDAT[5] = { 73, 68, 65, 84, '\0'}
|
#define PNG_IDAT png_byte png_IDAT[5] = { 73, 68, 65, 84, '\0'}
|
||||||
#define PNG_IEND const png_byte png_IEND[5] = { 73, 69, 78, 68, '\0'}
|
#define PNG_IEND png_byte png_IEND[5] = { 73, 69, 78, 68, '\0'}
|
||||||
#define PNG_PLTE const png_byte png_PLTE[5] = { 80, 76, 84, 69, '\0'}
|
#define PNG_PLTE png_byte png_PLTE[5] = { 80, 76, 84, 69, '\0'}
|
||||||
#define PNG_bKGD const png_byte png_bKGD[5] = { 98, 75, 71, 68, '\0'}
|
#define PNG_bKGD png_byte png_bKGD[5] = { 98, 75, 71, 68, '\0'}
|
||||||
#define PNG_cHRM const png_byte png_cHRM[5] = { 99, 72, 82, 77, '\0'}
|
#define PNG_cHRM png_byte png_cHRM[5] = { 99, 72, 82, 77, '\0'}
|
||||||
#define PNG_gAMA const png_byte png_gAMA[5] = {103, 65, 77, 65, '\0'}
|
#define PNG_gAMA png_byte png_gAMA[5] = {103, 65, 77, 65, '\0'}
|
||||||
#define PNG_hIST const png_byte png_hIST[5] = {104, 73, 83, 84, '\0'}
|
#define PNG_hIST png_byte png_hIST[5] = {104, 73, 83, 84, '\0'}
|
||||||
#define PNG_iCCP const png_byte png_iCCP[5] = {105, 67, 67, 80, '\0'}
|
#define PNG_iCCP png_byte png_iCCP[5] = {105, 67, 67, 80, '\0'}
|
||||||
#define PNG_iTXt const png_byte png_iTXt[5] = {105, 84, 88, 116, '\0'}
|
#define PNG_iTXt png_byte png_iTXt[5] = {105, 84, 88, 116, '\0'}
|
||||||
#define PNG_oFFs const png_byte png_oFFs[5] = {111, 70, 70, 115, '\0'}
|
#define PNG_oFFs png_byte png_oFFs[5] = {111, 70, 70, 115, '\0'}
|
||||||
#define PNG_pCAL const png_byte png_pCAL[5] = {112, 67, 65, 76, '\0'}
|
#define PNG_pCAL png_byte png_pCAL[5] = {112, 67, 65, 76, '\0'}
|
||||||
#define PNG_sCAL const png_byte png_sCAL[5] = {115, 67, 65, 76, '\0'}
|
#define PNG_sCAL png_byte png_sCAL[5] = {115, 67, 65, 76, '\0'}
|
||||||
#define PNG_pHYs const png_byte png_pHYs[5] = {112, 72, 89, 115, '\0'}
|
#define PNG_pHYs png_byte png_pHYs[5] = {112, 72, 89, 115, '\0'}
|
||||||
#define PNG_sBIT const png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'}
|
#define PNG_sBIT png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'}
|
||||||
#define PNG_sPLT const png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'}
|
#define PNG_sPLT png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'}
|
||||||
#define PNG_sRGB const png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'}
|
#define PNG_sRGB png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'}
|
||||||
#define PNG_tEXt const png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'}
|
#define PNG_tEXt png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'}
|
||||||
#define PNG_tIME const png_byte png_tIME[5] = {116, 73, 77, 69, '\0'}
|
#define PNG_tIME png_byte png_tIME[5] = {116, 73, 77, 69, '\0'}
|
||||||
#define PNG_tRNS const png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'}
|
#define PNG_tRNS png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'}
|
||||||
#define PNG_zTXt const png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'}
|
#define PNG_zTXt png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'}
|
||||||
|
|
||||||
#ifdef PNG_USE_GLOBAL_ARRAYS
|
#ifdef PNG_USE_GLOBAL_ARRAYS
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IHDR[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_IHDR[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IDAT[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_IDAT[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_IEND[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_IEND[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_PLTE[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_PLTE[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_bKGD[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_bKGD[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_cHRM[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_cHRM[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_gAMA[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_gAMA[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_hIST[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_hIST[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_iCCP[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_iCCP[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_iTXt[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_iTXt[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_oFFs[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_oFFs[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_pCAL[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_pCAL[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sCAL[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_sCAL[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_pHYs[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_pHYs[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sBIT[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_sBIT[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sPLT[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_sPLT[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_sRGB[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_sRGB[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tEXt[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_tEXt[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tIME[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_tIME[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_tRNS[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_tRNS[5];
|
||||||
PNG_EXPORT_VAR (const png_byte FARDATA) png_zTXt[5];
|
PNG_EXPORT_VAR (png_byte FARDATA) png_zTXt[5];
|
||||||
#endif /* PNG_USE_GLOBAL_ARRAYS */
|
#endif /* PNG_USE_GLOBAL_ARRAYS */
|
||||||
|
|
||||||
#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
|
#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
|
||||||
|
@ -3434,9 +3499,34 @@ PNG_EXTERN void png_do_write_intrapixel PNGARG((png_row_infop row_info,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
|
||||||
|
#if defined(PNG_MMX_CODE_SUPPORTED)
|
||||||
/* png.c */ /* PRIVATE */
|
/* png.c */ /* PRIVATE */
|
||||||
PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr));
|
PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr));
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
|
||||||
|
PNG_EXTERN png_uint_32 png_get_pixels_per_inch PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr));
|
||||||
|
|
||||||
|
PNG_EXTERN png_uint_32 png_get_x_pixels_per_inch PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr));
|
||||||
|
|
||||||
|
PNG_EXTERN png_uint_32 png_get_y_pixels_per_inch PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr));
|
||||||
|
|
||||||
|
PNG_EXTERN float png_get_x_offset_inches PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr));
|
||||||
|
|
||||||
|
PNG_EXTERN float png_get_y_offset_inches PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr));
|
||||||
|
|
||||||
|
#if defined(PNG_pHYs_SUPPORTED)
|
||||||
|
PNG_EXTERN png_uint_32 png_get_pHYs_dpi PNGARG((png_structp png_ptr,
|
||||||
|
png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type));
|
||||||
|
#endif /* PNG_pHYs_SUPPORTED */
|
||||||
|
#endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */
|
||||||
|
|
||||||
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
|
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
|
||||||
|
|
||||||
#endif /* PNG_INTERNAL */
|
#endif /* PNG_INTERNAL */
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
/* pngconf.h - machine configurable file for libpng
|
/* pngconf.h - machine configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.2.10 - April 23, 2006
|
* libpng version 1.2.22 - October 13, 2007
|
||||||
* 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-2005 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2007 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.)
|
||||||
*/
|
*/
|
||||||
|
@ -75,6 +75,14 @@
|
||||||
|
|
||||||
/* End of material added to libpng-1.2.8 */
|
/* End of material added to libpng-1.2.8 */
|
||||||
|
|
||||||
|
/* Added at libpng-1.2.19, removed at libpng-1.2.20 because it caused trouble
|
||||||
|
Restored at libpng-1.2.21 */
|
||||||
|
#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \
|
||||||
|
!defined(PNG_WARN_UNINITIALIZED_ROW)
|
||||||
|
# define PNG_WARN_UNINITIALIZED_ROW 1
|
||||||
|
#endif
|
||||||
|
/* End of material added at libpng-1.2.19/1.2.21 */
|
||||||
|
|
||||||
/* This is the size of the compression buffer, and thus the size of
|
/* This is the size of the compression buffer, and thus the size of
|
||||||
* an IDAT chunk. Make this whatever size you feel is best for your
|
* an IDAT chunk. Make this whatever size you feel is best for your
|
||||||
* machine. One of these will be allocated per png_struct. When this
|
* machine. One of these will be allocated per png_struct. When this
|
||||||
|
@ -276,6 +284,7 @@
|
||||||
# define PNGARG(arglist) arglist
|
# define PNGARG(arglist) arglist
|
||||||
#endif /* _NO_PROTO */
|
#endif /* _NO_PROTO */
|
||||||
|
|
||||||
|
|
||||||
#endif /* OF */
|
#endif /* OF */
|
||||||
|
|
||||||
#endif /* PNGARG */
|
#endif /* PNGARG */
|
||||||
|
@ -594,16 +603,16 @@
|
||||||
#endif /* PNG_READ_TRANSFORMS_SUPPORTED */
|
#endif /* PNG_READ_TRANSFORMS_SUPPORTED */
|
||||||
|
|
||||||
#if !defined(PNG_NO_PROGRESSIVE_READ) && \
|
#if !defined(PNG_NO_PROGRESSIVE_READ) && \
|
||||||
!defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */
|
!defined(PNG_PROGRESSIVE_READ_SUPPORTED) /* if you don't do progressive */
|
||||||
# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */
|
# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */
|
||||||
#endif /* about interlacing capability! You'll */
|
#endif /* about interlacing capability! You'll */
|
||||||
/* still have interlacing unless you change the following line: */
|
/* still have interlacing unless you change the following line: */
|
||||||
|
|
||||||
#define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */
|
#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */
|
||||||
|
|
||||||
#ifndef PNG_NO_READ_COMPOSITE_NODIV
|
#ifndef PNG_NO_READ_COMPOSITE_NODIV
|
||||||
# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */
|
# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */
|
||||||
# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */
|
# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -721,26 +730,46 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0
|
/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0
|
||||||
even when PNG_USE_PNGVCRD or PNG_USE_PNGGCCRD is not defined */
|
* and removed from version 1.2.20. The following will be removed
|
||||||
|
* from libpng-1.4.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE)
|
||||||
|
# ifndef PNG_OPTIMIZED_CODE_SUPPORTED
|
||||||
|
# define PNG_OPTIMIZED_CODE_SUPPORTED
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
|
#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
|
||||||
# ifndef PNG_ASSEMBLER_CODE_SUPPORTED
|
# ifndef PNG_ASSEMBLER_CODE_SUPPORTED
|
||||||
# define PNG_ASSEMBLER_CODE_SUPPORTED
|
# define PNG_ASSEMBLER_CODE_SUPPORTED
|
||||||
# endif
|
# endif
|
||||||
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) && \
|
|
||||||
defined(__MMX__)
|
# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4)
|
||||||
|
/* work around 64-bit gcc compiler bugs in gcc-3.x */
|
||||||
|
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||||
|
# define PNG_NO_MMX_CODE
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if defined(__APPLE__)
|
||||||
|
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||||
|
# define PNG_NO_MMX_CODE
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh))
|
||||||
|
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||||
|
# define PNG_NO_MMX_CODE
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
|
||||||
# define PNG_MMX_CODE_SUPPORTED
|
# define PNG_MMX_CODE_SUPPORTED
|
||||||
# endif
|
# endif
|
||||||
# if !defined(PNG_USE_PNGGCCRD) && !defined(PNG_NO_MMX_CODE) && \
|
|
||||||
!defined(PNG_USE_PNGVCRD) && defined(__MMX__)
|
|
||||||
# define PNG_USE_PNGGCCRD
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If you are sure that you don't need thread safety and you are compiling
|
#endif
|
||||||
with PNG_USE_PNGCCRD for an MMX application, you can define this for
|
/* end of obsolete code to be removed from libpng-1.4.0 */
|
||||||
faster execution. See pnggccrd.c.
|
|
||||||
#define PNG_THREAD_UNSAFE_OK
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if !defined(PNG_1_0_X)
|
#if !defined(PNG_1_0_X)
|
||||||
#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED)
|
#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED)
|
||||||
|
@ -1262,7 +1291,8 @@ typedef z_stream FAR * png_zstreamp;
|
||||||
* but might be required for some pre-1.0.5c applications.
|
* but might be required for some pre-1.0.5c applications.
|
||||||
*/
|
*/
|
||||||
#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
|
#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
|
||||||
# if defined(PNG_NO_GLOBAL_ARRAYS) || (defined(__GNUC__) && defined(PNG_DLL))
|
# if defined(PNG_NO_GLOBAL_ARRAYS) || \
|
||||||
|
(defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER)
|
||||||
# define PNG_USE_LOCAL_ARRAYS
|
# define PNG_USE_LOCAL_ARRAYS
|
||||||
# else
|
# else
|
||||||
# define PNG_USE_GLOBAL_ARRAYS
|
# define PNG_USE_GLOBAL_ARRAYS
|
||||||
|
@ -1399,6 +1429,7 @@ typedef z_stream FAR * png_zstreamp;
|
||||||
# define NOCHECK 0
|
# define NOCHECK 0
|
||||||
# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
|
# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
|
||||||
# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
|
# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
|
||||||
|
# define png_snprintf _fsnprintf /* Added to v 1.2.19 */
|
||||||
# define png_strcpy _fstrcpy
|
# define png_strcpy _fstrcpy
|
||||||
# define png_strncpy _fstrncpy /* Added to v 1.2.6 */
|
# define png_strncpy _fstrncpy /* Added to v 1.2.6 */
|
||||||
# define png_strlen _fstrlen
|
# define png_strlen _fstrlen
|
||||||
|
@ -1408,6 +1439,27 @@ typedef z_stream FAR * png_zstreamp;
|
||||||
#else /* use the usual functions */
|
#else /* use the usual functions */
|
||||||
# define CVT_PTR(ptr) (ptr)
|
# define CVT_PTR(ptr) (ptr)
|
||||||
# define CVT_PTR_NOCHECK(ptr) (ptr)
|
# define CVT_PTR_NOCHECK(ptr) (ptr)
|
||||||
|
# ifndef PNG_NO_SNPRINTF
|
||||||
|
# ifdef _MSC_VER
|
||||||
|
# define png_snprintf _snprintf /* Added to v 1.2.19 */
|
||||||
|
# define png_snprintf2 _snprintf
|
||||||
|
# define png_snprintf6 _snprintf
|
||||||
|
# else
|
||||||
|
# define png_snprintf snprintf /* Added to v 1.2.19 */
|
||||||
|
# define png_snprintf2 snprintf
|
||||||
|
# define png_snprintf6 snprintf
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
/* You don't have or don't want to use snprintf(). Caution: Using
|
||||||
|
* sprintf instead of snprintf exposes your application to accidental
|
||||||
|
* or malevolent buffer overflows. If you don't have snprintf()
|
||||||
|
* as a general rule you should provide one (you can get one from
|
||||||
|
* Portable OpenSSH). */
|
||||||
|
# define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1)
|
||||||
|
# define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2)
|
||||||
|
# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \
|
||||||
|
sprintf(s1,fmt,x1,x2,x3,x4,x5,x6)
|
||||||
|
# endif
|
||||||
# define png_strcpy strcpy
|
# define png_strcpy strcpy
|
||||||
# define png_strncpy strncpy /* Added to v 1.2.6 */
|
# define png_strncpy strncpy /* Added to v 1.2.6 */
|
||||||
# define png_strlen strlen
|
# define png_strlen strlen
|
||||||
|
@ -1425,47 +1477,6 @@ typedef z_stream FAR * png_zstreamp;
|
||||||
# define PNG_ZBUF_SIZE 65536L
|
# define PNG_ZBUF_SIZE 65536L
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_READ_SUPPORTED
|
|
||||||
/* Prior to libpng-1.0.9, this block was in pngasmrd.h */
|
|
||||||
#if defined(PNG_INTERNAL)
|
|
||||||
|
|
||||||
/* These are the default thresholds before the MMX code kicks in; if either
|
|
||||||
* rowbytes or bitdepth is below the threshold, plain C code is used. These
|
|
||||||
* can be overridden at runtime via the png_set_mmx_thresholds() call in
|
|
||||||
* libpng 1.2.0 and later. The values below were chosen by Intel.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT
|
|
||||||
# define PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT 128 /* >= */
|
|
||||||
#endif
|
|
||||||
#ifndef PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT
|
|
||||||
# define PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT 9 /* >= */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set this in the makefile for VC++ on Pentium, not here. */
|
|
||||||
/* Platform must be Pentium. Makefile must assemble and load pngvcrd.c .
|
|
||||||
* MMX will be detected at run time and used if present.
|
|
||||||
*/
|
|
||||||
#ifdef PNG_USE_PNGVCRD
|
|
||||||
# define PNG_HAVE_ASSEMBLER_COMBINE_ROW
|
|
||||||
# define PNG_HAVE_ASSEMBLER_READ_INTERLACE
|
|
||||||
# define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set this in the makefile for gcc/as on Pentium, not here. */
|
|
||||||
/* Platform must be Pentium. Makefile must assemble and load pnggccrd.c .
|
|
||||||
* MMX will be detected at run time and used if present.
|
|
||||||
*/
|
|
||||||
#ifdef PNG_USE_PNGGCCRD
|
|
||||||
# define PNG_HAVE_ASSEMBLER_COMBINE_ROW
|
|
||||||
# define PNG_HAVE_ASSEMBLER_READ_INTERLACE
|
|
||||||
# define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
|
|
||||||
#endif
|
|
||||||
/* - see pnggccrd.c for info about what is currently enabled */
|
|
||||||
|
|
||||||
#endif /* PNG_INTERNAL */
|
|
||||||
#endif /* PNG_READ_SUPPORTED */
|
|
||||||
|
|
||||||
/* Added at libpng-1.2.8 */
|
/* Added at libpng-1.2.8 */
|
||||||
#endif /* PNG_VERSION_INFO_ONLY */
|
#endif /* PNG_VERSION_INFO_ONLY */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue