1
1
2
2
/* png.h - header file for PNG reference library
3
3
*
4
- * libpng version 1.6.12 - June 12 , 2014
4
+ * libpng version 1.6.16, December 22 , 2014
5
5
* Copyright (c) 1998-2014 Glenn Randers-Pehrson
6
6
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7
7
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
11
11
* Authors and maintainers:
12
12
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
13
13
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
14
- * libpng versions 0.97, January 1998, through 1.6.12 - June 12 , 2014: Glenn
14
+ * libpng versions 0.97, January 1998, through 1.6.16, December 22 , 2014: Glenn
15
15
* See also "Contributing Authors", below.
16
16
*
17
17
* Note about libpng version numbers:
200
200
* 1.6.11 16 10611 16.so.16.11[.0]
201
201
* 1.6.12rc01-03 16 10612 16.so.16.12[.0]
202
202
* 1.6.12 16 10612 16.so.16.12[.0]
203
+ * 1.6.13beta01-04 16 10613 16.so.16.13[.0]
204
+ * 1.6.13rc01-02 16 10613 16.so.16.13[.0]
205
+ * 1.6.13 16 10613 16.so.16.13[.0]
206
+ * 1.6.14beta01-07 16 10614 16.so.16.14[.0]
207
+ * 1.6.14rc01-02 16 10614 16.so.16.14[.0]
208
+ * 1.6.14 16 10614 16.so.16.14[.0]
209
+ * 1.6.15beta01-08 16 10615 16.so.16.15[.0]
210
+ * 1.6.15rc01-03 16 10615 16.so.16.15[.0]
211
+ * 1.6.15 16 10615 16.so.16.15[.0]
212
+ * 1.6.16beta01-03 16 10616 16.so.16.16[.0]
213
+ * 1.6.16rc01-02 16 10616 16.so.16.16[.0]
214
+ * 1.6.16 16 10616 16.so.16.16[.0]
203
215
*
204
216
* Henceforth the source version will match the shared-library major
205
217
* and minor numbers; the shared-library major version number will be
231
243
*
232
244
* This code is released under the libpng license.
233
245
*
234
- * libpng versions 1.2.6, August 15, 2004, through 1.6.12, June 12 , 2014, are
246
+ * libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22 , 2014, are
235
247
* Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
236
248
* distributed according to the same disclaimer and license as libpng-1.2.5
237
249
* with the following individual added to the list of Contributing Authors:
343
355
* Y2K compliance in libpng:
344
356
* =========================
345
357
*
346
- * June 12 , 2014
358
+ * December 22 , 2014
347
359
*
348
360
* Since the PNG Development group is an ad-hoc body, we can't make
349
361
* an official declaration.
350
362
*
351
363
* This is your unofficial assurance that libpng from version 0.71 and
352
- * upward through 1.6.12 are Y2K compliant. It is my belief that
364
+ * upward through 1.6.16 are Y2K compliant. It is my belief that
353
365
* earlier versions were also Y2K compliant.
354
366
*
355
367
* Libpng only has two year fields. One is a 2-byte unsigned integer
411
423
*/
412
424
413
425
/* Version information for png.h - this should match the version in png.c */
414
- #define PNG_LIBPNG_VER_STRING "1.6.12 "
426
+ #define PNG_LIBPNG_VER_STRING "1.6.16 "
415
427
#define PNG_HEADER_VERSION_STRING \
416
- " libpng version 1.6.12 - June 12 , 2014\n"
428
+ " libpng version 1.6.16 - December 22 , 2014\n"
417
429
418
430
#define PNG_LIBPNG_VER_SONUM 16
419
431
#define PNG_LIBPNG_VER_DLLNUM 16
420
432
421
433
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
422
434
#define PNG_LIBPNG_VER_MAJOR 1
423
435
#define PNG_LIBPNG_VER_MINOR 6
424
- #define PNG_LIBPNG_VER_RELEASE 12
436
+ #define PNG_LIBPNG_VER_RELEASE 16
425
437
426
438
/* This should match the numeric part of the final component of
427
439
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
452
464
* version 1.0.0 was mis-numbered 100 instead of 10000). From
453
465
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
454
466
*/
455
- #define PNG_LIBPNG_VER 10612 /* 1.6.12 */
467
+ #define PNG_LIBPNG_VER 10616 /* 1.6.16 */
456
468
457
469
/* Library configuration: these options cannot be changed after
458
470
* the library has been built.
@@ -557,7 +569,7 @@ extern "C" {
557
569
/* This triggers a compiler error in png.c, if png.c and png.h
558
570
* do not agree upon the version number.
559
571
*/
560
- typedef char * png_libpng_version_1_6_12 ;
572
+ typedef char * png_libpng_version_1_6_16 ;
561
573
562
574
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
563
575
*
@@ -1170,7 +1182,7 @@ PNG_EXPORT(24, void, png_convert_from_struct_tm, (png_timep ptime,
1170
1182
1171
1183
/* Convert from time_t to png_time. Uses gmtime() */
1172
1184
PNG_EXPORT (25 , void , png_convert_from_time_t , (png_timep ptime , time_t ttime ));
1173
- #endif /* PNG_CONVERT_tIME_SUPPORTED */
1185
+ #endif /* CONVERT_tIME */
1174
1186
1175
1187
#ifdef PNG_READ_EXPAND_SUPPORTED
1176
1188
/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */
@@ -1376,7 +1388,7 @@ PNG_EXPORT(39, void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler,
1376
1388
/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */
1377
1389
PNG_EXPORT (40 , void , png_set_add_alpha , (png_structrp png_ptr ,
1378
1390
png_uint_32 filler , int flags ));
1379
- #endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */
1391
+ #endif /* READ_FILLER || WRITE_FILLER */
1380
1392
1381
1393
#if defined(PNG_READ_SWAP_SUPPORTED ) || defined(PNG_WRITE_SWAP_SUPPORTED )
1382
1394
/* Swap bytes in 16-bit depth files. */
@@ -1640,7 +1652,7 @@ PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
1640
1652
(png_structrp png_ptr , int heuristic_method , int num_weights ,
1641
1653
png_const_fixed_point_p filter_weights ,
1642
1654
png_const_fixed_point_p filter_costs ))
1643
- #endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
1655
+ #endif /* WRITE_WEIGHTED_FILTER */
1644
1656
1645
1657
/* Heuristic used for row filter selection. These defines should NOT be
1646
1658
* changed.
@@ -1696,7 +1708,7 @@ PNG_EXPORT(225, void, png_set_text_compression_window_bits,
1696
1708
1697
1709
PNG_EXPORT (226 , void , png_set_text_compression_method , (png_structrp png_ptr ,
1698
1710
int method ));
1699
- #endif /* PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
1711
+ #endif /* WRITE_CUSTOMIZE_ZTXT_COMPRESSION */
1700
1712
1701
1713
/* These next functions are called for input/output, memory, and error
1702
1714
* handling. They are in the file pngrio.c, pngwio.c, and pngerror.c,
@@ -1863,7 +1875,7 @@ PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp));
1863
1875
*/
1864
1876
PNG_EXPORT (93 , void , png_progressive_combine_row , (png_const_structrp png_ptr ,
1865
1877
png_bytep old_row , png_const_bytep new_row ));
1866
- #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
1878
+ #endif /* PROGRESSIVE_READ */
1867
1879
1868
1880
PNG_EXPORTA (94 , png_voidp , png_malloc , (png_const_structrp png_ptr ,
1869
1881
png_alloc_size_t size ), PNG_ALLOCATED );
@@ -2064,7 +2076,7 @@ PNG_EXPORT(128, png_int_32, png_get_x_offset_microns,
2064
2076
PNG_EXPORT (129 , png_int_32 , png_get_y_offset_microns ,
2065
2077
(png_const_structrp png_ptr , png_const_inforp info_ptr ));
2066
2078
2067
- #endif /* PNG_EASY_ACCESS_SUPPORTED */
2079
+ #endif /* EASY_ACCESS */
2068
2080
2069
2081
#ifdef PNG_READ_SUPPORTED
2070
2082
/* Returns pointer to signature string read from PNG header */
@@ -2316,7 +2328,7 @@ PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_const_structrp png_ptr,
2316
2328
PNG_EXPORT (171 , void , png_set_sCAL_s , (png_const_structrp png_ptr ,
2317
2329
png_inforp info_ptr , int unit ,
2318
2330
png_const_charp swidth , png_const_charp sheight ));
2319
- #endif /* PNG_sCAL_SUPPORTED */
2331
+ #endif /* sCAL */
2320
2332
2321
2333
#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
2322
2334
/* Provide the default handling for all unknown chunks or, optionally, for
@@ -2544,8 +2556,8 @@ PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed,
2544
2556
PNG_EXPORT (198 , png_uint_32 , png_get_pHYs_dpi , (png_const_structrp png_ptr ,
2545
2557
png_const_inforp info_ptr , png_uint_32 * res_x , png_uint_32 * res_y ,
2546
2558
int * unit_type ));
2547
- # endif /* PNG_pHYs_SUPPORTED */
2548
- #endif /* PNG_INCH_CONVERSIONS_SUPPORTED */
2559
+ # endif /* pHYs */
2560
+ #endif /* INCH_CONVERSIONS */
2549
2561
2550
2562
/* Added in libpng-1.4.0 */
2551
2563
#ifdef PNG_IO_STATE_SUPPORTED
@@ -2568,7 +2580,7 @@ PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type,
2568
2580
# define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */
2569
2581
# define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */
2570
2582
# define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */
2571
- #endif /* ?PNG_IO_STATE_SUPPORTED */
2583
+ #endif /* IO_STATE */
2572
2584
2573
2585
/* Interlace support. The following macros are always defined so that if
2574
2586
* libpng interlace handling is turned off the macros may be used to handle
@@ -2672,7 +2684,7 @@ PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type,
2672
2684
(composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \
2673
2685
(png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \
2674
2686
32767) / 65535)
2675
- #endif /* PNG_READ_COMPOSITE_NODIV_SUPPORTED */
2687
+ #endif /* READ_COMPOSITE_NODIV */
2676
2688
2677
2689
#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED
2678
2690
PNG_EXPORT (201 , png_uint_32 , png_get_uint_32 , (png_const_bytep buf ));
@@ -2742,6 +2754,8 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
2742
2754
# endif
2743
2755
#endif
2744
2756
2757
+ #if defined(PNG_SIMPLIFIED_READ_SUPPORTED ) || \
2758
+ defined(PNG_SIMPLIFIED_WRITE_SUPPORTED )
2745
2759
/*******************************************************************************
2746
2760
* SIMPLIFIED API
2747
2761
*******************************************************************************
@@ -2813,7 +2827,7 @@ typedef struct
2813
2827
# define PNG_IMAGE_WARNING 1
2814
2828
# define PNG_IMAGE_ERROR 2
2815
2829
/*
2816
- * The result is a two bit code such that a value more than 1 indicates
2830
+ * The result is a two- bit code such that a value more than 1 indicates
2817
2831
* a failure in the API just called:
2818
2832
*
2819
2833
* 0 - no warning or error
@@ -3098,7 +3112,7 @@ PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image,
3098
3112
PNG_EXPORT (235 , int , png_image_begin_read_from_stdio , (png_imagep image ,
3099
3113
FILE * file ));
3100
3114
/* The PNG header is read from the stdio FILE object. */
3101
- #endif /* PNG_STDIO_SUPPORTED */
3115
+ #endif /* STDIO */
3102
3116
3103
3117
PNG_EXPORT (236 , int , png_image_begin_read_from_memory , (png_imagep image ,
3104
3118
png_const_voidp memory , png_size_t size ));
@@ -3143,7 +3157,7 @@ PNG_EXPORT(238, void, png_image_free, (png_imagep image));
3143
3157
/* Free any data allocated by libpng in image->opaque, setting the pointer to
3144
3158
* NULL. May be called at any time after the structure is initialized.
3145
3159
*/
3146
- #endif /* PNG_SIMPLIFIED_READ_SUPPORTED */
3160
+ #endif /* SIMPLIFIED_READ */
3147
3161
3148
3162
#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
3149
3163
#ifdef PNG_STDIO_SUPPORTED
@@ -3189,11 +3203,12 @@ PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
3189
3203
*
3190
3204
* Note that the write API does not support interlacing or sub-8-bit pixels.
3191
3205
*/
3192
- #endif /* PNG_STDIO_SUPPORTED */
3193
- #endif /* PNG_SIMPLIFIED_WRITE_SUPPORTED */
3206
+ #endif /* STDIO */
3207
+ #endif /* SIMPLIFIED_WRITE */
3194
3208
/*******************************************************************************
3195
3209
* END OF SIMPLIFIED API
3196
3210
******************************************************************************/
3211
+ #endif /* SIMPLIFIED_{READ|WRITE} */
3197
3212
3198
3213
#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
3199
3214
PNG_EXPORT (242 , void , png_set_check_for_invalid_index ,
@@ -3241,19 +3256,18 @@ PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
3241
3256
3242
3257
PNG_EXPORT (244 , int , png_set_option , (png_structrp png_ptr , int option ,
3243
3258
int onoff ));
3244
- #endif
3259
+ #endif /* SET_OPTION */
3245
3260
3246
3261
/*******************************************************************************
3247
3262
* END OF HARDWARE AND SOFTWARE OPTIONS
3248
3263
******************************************************************************/
3249
3264
3250
- /* Maintainer: Put new public prototypes here ^, in libpng.3, and project
3251
- * defs, scripts/pnglibconf.h, and scripts/pnglibconf.h.prebuilt
3265
+ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project
3266
+ * defs, and in scripts/symbols.def.
3252
3267
*/
3253
3268
3254
3269
/* The last ordinal number (this is the *last* one already used; the next
3255
- * one to use is one more than this.) Maintainer, remember to add an entry to
3256
- * scripts/symbols.def as well.
3270
+ * one to use is one more than this.)
3257
3271
*/
3258
3272
#ifdef PNG_EXPORT_LAST_ORDINAL
3259
3273
PNG_EXPORT_LAST_ORDINAL (244 );
0 commit comments