Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: third_party/libpng/pngconf.h

Issue 1591483003: XFA: Upgrade libpng to 1.6.20. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: rebase Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libpng/png.c ('k') | third_party/libpng/pngdebug.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* pngconf.h - machine configurable file for libpng 2 /* pngconf.h - machine configurable file for libpng
3 * 3 *
4 * libpng version 1.6.3 - July 18, 2013 4 * libpng version 1.6.20, December 3, 2015
5 * 5 *
6 * Copyright (c) 1998-2013 Glenn Randers-Pehrson 6 * Copyright (c) 1998-2015 Glenn Randers-Pehrson
7 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) 7 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
8 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) 8 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
9 * 9 *
10 * This code is released under the libpng license. 10 * This code is released under the libpng license.
11 * For conditions of distribution and use, see the disclaimer 11 * For conditions of distribution and use, see the disclaimer
12 * and license in png.h 12 * and license in png.h
13 * 13 *
14 */ 14 * Any machine specific code is near the front of this file, so if you
15
16 /* Any machine specific code is near the front of this file, so if you
17 * are configuring libpng for a machine, you may want to read the section 15 * are configuring libpng for a machine, you may want to read the section
18 * starting here down to where it starts to typedef png_color, png_text, 16 * starting here down to where it starts to typedef png_color, png_text,
19 * and png_info. 17 * and png_info.
20 */ 18 */
21 19
22 #ifndef PNGCONF_H 20 #ifndef PNGCONF_H
23 #define PNGCONF_H 21 #define PNGCONF_H
24 22
25 /* To do: Do all of this in scripts/pnglibconf.dfa */
26 #ifdef PNG_SAFE_LIMITS_SUPPORTED
27 # ifdef PNG_USER_WIDTH_MAX
28 # undef PNG_USER_WIDTH_MAX
29 # define PNG_USER_WIDTH_MAX 1000000L
30 # endif
31 # ifdef PNG_USER_HEIGHT_MAX
32 # undef PNG_USER_HEIGHT_MAX
33 # define PNG_USER_HEIGHT_MAX 1000000L
34 # endif
35 # ifdef PNG_USER_CHUNK_MALLOC_MAX
36 # undef PNG_USER_CHUNK_MALLOC_MAX
37 # define PNG_USER_CHUNK_MALLOC_MAX 4000000L
38 # endif
39 # ifdef PNG_USER_CHUNK_CACHE_MAX
40 # undef PNG_USER_CHUNK_CACHE_MAX
41 # define PNG_USER_CHUNK_CACHE_MAX 128
42 # endif
43 #endif
44
45 #ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */ 23 #ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */
46 24
47 /* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C 25 /* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C
48 * compiler for correct compilation. The following header files are required by 26 * compiler for correct compilation. The following header files are required by
49 * the standard. If your compiler doesn't provide these header files, or they 27 * the standard. If your compiler doesn't provide these header files, or they
50 * do not match the standard, you will need to provide/improve them. 28 * do not match the standard, you will need to provide/improve them.
51 */ 29 */
52 #include <limits.h> 30 #include <limits.h>
53 #include <stddef.h> 31 #include <stddef.h>
54 32
(...skipping 23 matching lines...) Expand all
78 #endif 56 #endif
79 57
80 #endif /* PNG_BUILDING_SYMBOL_TABLE */ 58 #endif /* PNG_BUILDING_SYMBOL_TABLE */
81 59
82 /* Prior to 1.6.0 it was possible to turn off 'const' in declarations using 60 /* Prior to 1.6.0 it was possible to turn off 'const' in declarations using
83 * PNG_NO_CONST; this is no longer supported except for data declarations which 61 * PNG_NO_CONST; this is no longer supported except for data declarations which
84 * apparently still cause problems in 2011 on some compilers. 62 * apparently still cause problems in 2011 on some compilers.
85 */ 63 */
86 #define PNG_CONST const /* backward compatibility only */ 64 #define PNG_CONST const /* backward compatibility only */
87 65
88 /* This controls optimization of the reading of 16 and 32 bit values 66 /* This controls optimization of the reading of 16-bit and 32-bit values
89 * from PNG files. It can be set on a per-app-file basis - it 67 * from PNG files. It can be set on a per-app-file basis - it
90 * just changes whether a macro is used when the function is called. 68 * just changes whether a macro is used when the function is called.
91 * The library builder sets the default; if read functions are not 69 * The library builder sets the default; if read functions are not
92 * built into the library the macro implementation is forced on. 70 * built into the library the macro implementation is forced on.
93 */ 71 */
94 #ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED 72 #ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED
95 # define PNG_USE_READ_MACROS 73 # define PNG_USE_READ_MACROS
96 #endif 74 #endif
97 #if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) 75 #if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
98 # if PNG_DEFAULT_READ_MACROS 76 # if PNG_DEFAULT_READ_MACROS
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 #endif 288 #endif
311 289
312 #ifndef PNG_EXPORT_TYPE 290 #ifndef PNG_EXPORT_TYPE
313 # define PNG_EXPORT_TYPE(type) PNG_IMPEXP type 291 # define PNG_EXPORT_TYPE(type) PNG_IMPEXP type
314 #endif 292 #endif
315 293
316 /* The ordinal value is only relevant when preprocessing png.h for symbol 294 /* The ordinal value is only relevant when preprocessing png.h for symbol
317 * table entries, so we discard it here. See the .dfn files in the 295 * table entries, so we discard it here. See the .dfn files in the
318 * scripts directory. 296 * scripts directory.
319 */ 297 */
298
320 #ifndef PNG_EXPORTA 299 #ifndef PNG_EXPORTA
321 300 # define PNG_EXPORTA(ordinal, type, name, args, attributes) \
322 # define PNG_EXPORTA(ordinal, type, name, args, attributes)\ 301 PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
323 PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args), \ 302 PNG_LINKAGE_API attributes)
324 extern attributes)
325 #endif 303 #endif
326 304
327 /* ANSI-C (C90) does not permit a macro to be invoked with an empty argument, 305 /* ANSI-C (C90) does not permit a macro to be invoked with an empty argument,
328 * so make something non-empty to satisfy the requirement: 306 * so make something non-empty to satisfy the requirement:
329 */ 307 */
330 #define PNG_EMPTY /*empty list*/ 308 #define PNG_EMPTY /*empty list*/
331 309
332 #define PNG_EXPORT(ordinal, type, name, args)\ 310 #define PNG_EXPORT(ordinal, type, name, args) \
333 PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY) 311 PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
334 312
335 /* Use PNG_REMOVED to comment out a removed interface. */ 313 /* Use PNG_REMOVED to comment out a removed interface. */
336 #ifndef PNG_REMOVED 314 #ifndef PNG_REMOVED
337 # define PNG_REMOVED(ordinal, type, name, args, attributes) 315 # define PNG_REMOVED(ordinal, type, name, args, attributes)
338 #endif 316 #endif
339 317
340 #ifndef PNG_CALLBACK 318 #ifndef PNG_CALLBACK
341 # define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args) 319 # define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args)
342 #endif 320 #endif
(...skipping 11 matching lines...) Expand all
354 # endif 332 # endif
355 #endif 333 #endif
356 334
357 #ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED 335 #ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
358 /* Support for compiler specific function attributes. These are used 336 /* Support for compiler specific function attributes. These are used
359 * so that where compiler support is available, incorrect use of API 337 * so that where compiler support is available, incorrect use of API
360 * functions in png.h will generate compiler warnings. Added at libpng 338 * functions in png.h will generate compiler warnings. Added at libpng
361 * version 1.2.41. Disabling these removes the warnings but may also produce 339 * version 1.2.41. Disabling these removes the warnings but may also produce
362 * less efficient code. 340 * less efficient code.
363 */ 341 */
364 # if defined(__GNUC__) 342 # if defined(__clang__) && defined(__has_attribute)
343 /* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */
344 # if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__)
345 # define PNG_USE_RESULT __attribute__((__warn_unused_result__))
346 # endif
347 # if !defined(PNG_NORETURN) && __has_attribute(__noreturn__)
348 # define PNG_NORETURN __attribute__((__noreturn__))
349 # endif
350 # if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__)
351 # define PNG_ALLOCATED __attribute__((__malloc__))
352 # endif
353 # if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__)
354 # define PNG_DEPRECATED __attribute__((__deprecated__))
355 # endif
356 # if !defined(PNG_PRIVATE)
357 # ifdef __has_extension
358 # if __has_extension(attribute_unavailable_with_message)
359 # define PNG_PRIVATE __attribute__((__unavailable__(\
360 "This function is not exported by libpng.")))
361 # endif
362 # endif
363 # endif
364 # ifndef PNG_RESTRICT
365 # define PNG_RESTRICT __restrict
366 # endif
367
368 # elif defined(__GNUC__)
365 # ifndef PNG_USE_RESULT 369 # ifndef PNG_USE_RESULT
366 # define PNG_USE_RESULT __attribute__((__warn_unused_result__)) 370 # define PNG_USE_RESULT __attribute__((__warn_unused_result__))
367 # endif 371 # endif
368 # ifndef PNG_NORETURN 372 # ifndef PNG_NORETURN
369 # define PNG_NORETURN __attribute__((__noreturn__)) 373 # define PNG_NORETURN __attribute__((__noreturn__))
370 # endif 374 # endif
371 # if __GNUC__ >= 3 375 # if __GNUC__ >= 3
372 # ifndef PNG_ALLOCATED 376 # ifndef PNG_ALLOCATED
373 # define PNG_ALLOCATED __attribute__((__malloc__)) 377 # define PNG_ALLOCATED __attribute__((__malloc__))
374 # endif 378 # endif
375 # ifndef PNG_DEPRECATED 379 # ifndef PNG_DEPRECATED
376 # define PNG_DEPRECATED __attribute__((__deprecated__)) 380 # define PNG_DEPRECATED __attribute__((__deprecated__))
377 # endif 381 # endif
378 # ifndef PNG_PRIVATE 382 # ifndef PNG_PRIVATE
379 # if 0 /* Doesn't work so we use deprecated instead*/ 383 # if 0 /* Doesn't work so we use deprecated instead*/
380 # define PNG_PRIVATE \ 384 # define PNG_PRIVATE \
381 __attribute__((warning("This function is not exported by libpng."))) 385 __attribute__((warning("This function is not exported by libpng.")))
382 # else 386 # else
383 # define PNG_PRIVATE \ 387 # define PNG_PRIVATE \
384 __attribute__((__deprecated__)) 388 __attribute__((__deprecated__))
385 # endif 389 # endif
386 # endif 390 # endif
387 # if ((__GNUC__ != 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1)) 391 # if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1))
388 # ifndef PNG_RESTRICT 392 # ifndef PNG_RESTRICT
389 # define PNG_RESTRICT __restrict 393 # define PNG_RESTRICT __restrict
390 # endif 394 # endif
391 # endif /* __GNUC__ == 3.0 */ 395 # endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */
392 # endif /* __GNUC__ >= 3 */ 396 # endif /* __GNUC__ >= 3 */
393 397
394 # elif defined(_MSC_VER) && (_MSC_VER >= 1300) 398 # elif defined(_MSC_VER) && (_MSC_VER >= 1300)
395 # ifndef PNG_USE_RESULT 399 # ifndef PNG_USE_RESULT
396 # define PNG_USE_RESULT /* not supported */ 400 # define PNG_USE_RESULT /* not supported */
397 # endif 401 # endif
398 # ifndef PNG_NORETURN 402 # ifndef PNG_NORETURN
399 # define PNG_NORETURN __declspec(noreturn) 403 # define PNG_NORETURN __declspec(noreturn)
400 # endif 404 # endif
401 # ifndef PNG_ALLOCATED 405 # ifndef PNG_ALLOCATED
402 # if (_MSC_VER >= 1400) 406 # if (_MSC_VER >= 1400)
403 # define PNG_ALLOCATED __declspec(restrict) 407 # define PNG_ALLOCATED __declspec(restrict)
404 # endif 408 # endif
405 # endif 409 # endif
406 # ifndef PNG_DEPRECATED 410 # ifndef PNG_DEPRECATED
407 # define PNG_DEPRECATED __declspec(deprecated) 411 # define PNG_DEPRECATED __declspec(deprecated)
408 # endif 412 # endif
409 # ifndef PNG_PRIVATE 413 # ifndef PNG_PRIVATE
410 # define PNG_PRIVATE __declspec(deprecated) 414 # define PNG_PRIVATE __declspec(deprecated)
411 # endif 415 # endif
412 # ifndef PNG_RESTRICT 416 # ifndef PNG_RESTRICT
413 # if (_MSC_VER >= 1400) 417 # if (_MSC_VER >= 1400)
414 # define PNG_RESTRICT __restrict 418 # define PNG_RESTRICT __restrict
415 # endif 419 # endif
416 # endif 420 # endif
417 421
418 # elif defined(__WATCOMC__) 422 # elif defined(__WATCOMC__)
419 # ifndef PNG_RESTRICT 423 # ifndef PNG_RESTRICT
420 # define PNG_RESTRICT __restrict 424 # define PNG_RESTRICT __restrict
421 # endif 425 # endif
422 # endif /* _MSC_VER */ 426 # endif
423 #endif /* PNG_PEDANTIC_WARNINGS */ 427 #endif /* PNG_PEDANTIC_WARNINGS */
424 428
425 #ifndef PNG_DEPRECATED 429 #ifndef PNG_DEPRECATED
426 # define PNG_DEPRECATED /* Use of this function is deprecated */ 430 # define PNG_DEPRECATED /* Use of this function is deprecated */
427 #endif 431 #endif
428 #ifndef PNG_USE_RESULT 432 #ifndef PNG_USE_RESULT
429 # define PNG_USE_RESULT /* The result of this function must be checked */ 433 # define PNG_USE_RESULT /* The result of this function must be checked */
430 #endif 434 #endif
431 #ifndef PNG_NORETURN 435 #ifndef PNG_NORETURN
432 # define PNG_NORETURN /* This function does not return */ 436 # define PNG_NORETURN /* This function does not return */
433 #endif 437 #endif
434 #ifndef PNG_ALLOCATED 438 #ifndef PNG_ALLOCATED
435 # define PNG_ALLOCATED /* The result of the function is new memory */ 439 # define PNG_ALLOCATED /* The result of the function is new memory */
436 #endif 440 #endif
437 #ifndef PNG_PRIVATE 441 #ifndef PNG_PRIVATE
438 # define PNG_PRIVATE /* This is a private libpng function */ 442 # define PNG_PRIVATE /* This is a private libpng function */
439 #endif 443 #endif
440 #ifndef PNG_RESTRICT 444 #ifndef PNG_RESTRICT
441 # define PNG_RESTRICT /* The C99 "restrict" feature */ 445 # define PNG_RESTRICT /* The C99 "restrict" feature */
442 #endif 446 #endif
447
443 #ifndef PNG_FP_EXPORT /* A floating point API. */ 448 #ifndef PNG_FP_EXPORT /* A floating point API. */
444 # ifdef PNG_FLOATING_POINT_SUPPORTED 449 # ifdef PNG_FLOATING_POINT_SUPPORTED
445 # define PNG_FP_EXPORT(ordinal, type, name, args)\ 450 # define PNG_FP_EXPORT(ordinal, type, name, args)\
446 PNG_EXPORT(ordinal, type, name, args); 451 PNG_EXPORT(ordinal, type, name, args);
447 # else /* No floating point APIs */ 452 # else /* No floating point APIs */
448 # define PNG_FP_EXPORT(ordinal, type, name, args) 453 # define PNG_FP_EXPORT(ordinal, type, name, args)
449 # endif 454 # endif
450 #endif 455 #endif
451 #ifndef PNG_FIXED_EXPORT /* A fixed point API. */ 456 #ifndef PNG_FIXED_EXPORT /* A fixed point API. */
452 # ifdef PNG_FIXED_POINT_SUPPORTED 457 # ifdef PNG_FIXED_POINT_SUPPORTED
(...skipping 15 matching lines...) Expand all
468 * verified at library build time. 473 * verified at library build time.
469 * 474 *
470 * png_byte must always be one byte in size. 475 * png_byte must always be one byte in size.
471 * 476 *
472 * The checks below use constants from limits.h, as defined by the ISOC90 477 * The checks below use constants from limits.h, as defined by the ISOC90
473 * standard. 478 * standard.
474 */ 479 */
475 #if CHAR_BIT == 8 && UCHAR_MAX == 255 480 #if CHAR_BIT == 8 && UCHAR_MAX == 255
476 typedef unsigned char png_byte; 481 typedef unsigned char png_byte;
477 #else 482 #else
478 # error "libpng requires 8 bit bytes" 483 # error "libpng requires 8-bit bytes"
479 #endif 484 #endif
480 485
481 #if INT_MIN == -32768 && INT_MAX == 32767 486 #if INT_MIN == -32768 && INT_MAX == 32767
482 typedef int png_int_16; 487 typedef int png_int_16;
483 #elif SHRT_MIN == -32768 && SHRT_MAX == 32767 488 #elif SHRT_MIN == -32768 && SHRT_MAX == 32767
484 typedef short png_int_16; 489 typedef short png_int_16;
485 #else 490 #else
486 # error "libpng requires a signed 16 bit type" 491 # error "libpng requires a signed 16-bit type"
487 #endif 492 #endif
488 493
489 #if UINT_MAX == 65535 494 #if UINT_MAX == 65535
490 typedef unsigned int png_uint_16; 495 typedef unsigned int png_uint_16;
491 #elif USHRT_MAX == 65535 496 #elif USHRT_MAX == 65535
492 typedef unsigned short png_uint_16; 497 typedef unsigned short png_uint_16;
493 #else 498 #else
494 # error "libpng requires an unsigned 16 bit type" 499 # error "libpng requires an unsigned 16-bit type"
495 #endif 500 #endif
496 501
497 #if INT_MIN < -2147483646 && INT_MAX > 2147483646 502 #if INT_MIN < -2147483646 && INT_MAX > 2147483646
498 typedef int png_int_32; 503 typedef int png_int_32;
499 #elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646 504 #elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
500 typedef long int png_int_32; 505 typedef long int png_int_32;
501 #else 506 #else
502 # error "libpng requires a signed 32 bit (or more) type" 507 # error "libpng requires a signed 32-bit (or more) type"
503 #endif 508 #endif
504 509
505 #if UINT_MAX > 4294967294 510 #if UINT_MAX > 4294967294
506 typedef unsigned int png_uint_32; 511 typedef unsigned int png_uint_32;
507 #elif ULONG_MAX > 4294967294 512 #elif ULONG_MAX > 4294967294
508 typedef unsigned long int png_uint_32; 513 typedef unsigned long int png_uint_32;
509 #else 514 #else
510 # error "libpng requires an unsigned 32 bit (or more) type" 515 # error "libpng requires an unsigned 32-bit (or more) type"
511 #endif 516 #endif
512 517
513 /* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however, 518 /* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however,
514 * requires an ISOC90 compiler and relies on consistent behavior of sizeof. 519 * requires an ISOC90 compiler and relies on consistent behavior of sizeof.
515 */ 520 */
516 typedef size_t png_size_t; 521 typedef size_t png_size_t;
517 typedef ptrdiff_t png_ptrdiff_t; 522 typedef ptrdiff_t png_ptrdiff_t;
518 523
519 /* libpng needs to know the maximum value of 'size_t' and this controls the 524 /* libpng needs to know the maximum value of 'size_t' and this controls the
520 * definition of png_alloc_size_t, below. This maximum value of size_t limits 525 * definition of png_alloc_size_t, below. This maximum value of size_t limits
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 #ifdef PNG_FLOATING_POINT_SUPPORTED 613 #ifdef PNG_FLOATING_POINT_SUPPORTED
609 typedef double * * png_doublepp; 614 typedef double * * png_doublepp;
610 #endif 615 #endif
611 616
612 /* Pointers to pointers to pointers; i.e., pointer to array */ 617 /* Pointers to pointers to pointers; i.e., pointer to array */
613 typedef char * * * png_charppp; 618 typedef char * * * png_charppp;
614 619
615 #endif /* PNG_BUILDING_SYMBOL_TABLE */ 620 #endif /* PNG_BUILDING_SYMBOL_TABLE */
616 621
617 #endif /* PNGCONF_H */ 622 #endif /* PNGCONF_H */
OLDNEW
« no previous file with comments | « third_party/libpng/png.c ('k') | third_party/libpng/pngdebug.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698