diff options
Diffstat (limited to 'Build/source/libs/libpng/libpng-1.6.2/scripts/pnglibconf.dfa')
-rw-r--r-- | Build/source/libs/libpng/libpng-1.6.2/scripts/pnglibconf.dfa | 856 |
1 files changed, 0 insertions, 856 deletions
diff --git a/Build/source/libs/libpng/libpng-1.6.2/scripts/pnglibconf.dfa b/Build/source/libs/libpng/libpng-1.6.2/scripts/pnglibconf.dfa deleted file mode 100644 index c95b10255a8..00000000000 --- a/Build/source/libs/libpng/libpng-1.6.2/scripts/pnglibconf.dfa +++ /dev/null @@ -1,856 +0,0 @@ -# scripts/pnglibconf.dfa - library build configuration control -# -@/*- pnglibconf.dfn intermediate file -@ * generated from scripts/pnglibconf.dfa -@ */ -# -com pnglibconf.h - library build configuration -com -version -com -com Copyright (c) 1998-2012 Glenn Randers-Pehrson -com -com This code is released under the libpng license. -com For conditions of distribution and use, see the disclaimer -com and license in png.h -com - -file pnglibconf.h scripts/pnglibconf.dfa PNGLCONF_H - -# This file is preprocessed by scripts/options.awk and the -# C compiler to generate 'pnglibconf.h' - a list of all the -# configuration options. The file lists the various options -# that can *only* be specified during the libpng build; -# pnglibconf.h freezes the definitions selected for the specific -# build. -# -# The syntax is detailed in scripts/options.awk; this is a summary -# only: -# -# setting <name> [requires ...] [default] -# #define PNG_<name> <value> /* value comes from current setting */ -# option <name> [requires ...] [if ...] [enables ...] [disabled] -# #define PNG_<name>_SUPPORTED if the requirements are met and -# enable the other options listed -# chunk <name> [requires ...] [enables ...] [disabled] -# Enable chunk processing for the given ancillary chunk; any -# 'requires something' expands to READ_something for read and -# WRITE_something for write, but the enables list members are -# used as given (e.g. enables GAMMA just expands to that on the -# correspond READ_name and WRITE_name lines.) -# -# "," may be used to separate options on an 'option' line and is ignored; it -# doesn't change the meaning of the line. (NOT setting, where "," becomes -# part of the setting!) A comma at the end of an option line causes a -# continuation (the next line is included in the option too.) -# -# Note that the 'on' and 'off' keywords, while valid on both option -# and chunk, should not be used in this file because they force the -# relevant options on or off. - -#---------------------------------------------------------------------- - -# The following setting, option and chunk values can all be changed -# while building libpng: -# -# setting: change 'setting' lines to fine tune library performance; -# changes to the settings don't affect the libpng API functionally -# -# option: change 'option' lines to remove or add capabilities from -# or to the library; options change the library API -# -# chunk: change 'chunk' lines to remove capabilities to process -# optional ('ancillary') chunks. This does not prevent PNG -# decoding but does change the libpng API because some chunks -# will be ignored. -# -# There are three ways of disabling features, in no particular order: -# -# 1) Create 'pngusr.h', enter the required private build information -# detailed below and #define PNG_NO_<option> for each option you -# don't want in that file in that file. You can also turn on options -# using PNG_<option>_SUPPORTED. When you have finished rerun -# configure and rebuild pnglibconf.h file with -DPNG_USER_CONFIG: -# -# make clean -# CPPFLAGS='-DPNG_USER_CONFIG' ./configure -# make pnglibconf.h -# -# pngusr.h is only used during the creation of pnglibconf.h, but it -# is safer to ensure that -DPNG_USER_CONFIG is specified throughout -# the build by changing the CPPFLAGS passed to the initial ./configure -# -# 2) Add definitions of the settings you want to change to -# CPPFLAGS; for example: -# -# -DPNG_DEFAULT_READ_MACROS=0 -# -# (This would change the default to *not* use read macros.) Be -# very careful to change only settings that don't alter the API -# because this approach bypasses the private build checking. You -# can also change settings from pngpriv.h (read pngpriv.h) safely -# without API changes. Do that in the same way. -# -# 3) Write a new '.dfa' file (say 'pngusr.dfa') and in this file -# provide override values for setting entries and turn option or -# chunk values explicitly 'on' or 'off': -# -# setting FOO default VALUE -# option BAR [on|off] -# -# Then add this file to the options.awk command line (the *first* -# one) after this file. The make macro DFA_XTRA is provided to make -# this easier (set it like CPPFLAGS prior to running ./configure). -# Look at the builds below contrib/pngminim for some extreme examples -# of how this can be used. -# -# Don't edit this file unless you are contributing a patch to -# libpng and need new or modified options/settings. -#---------------------------------------------------------------------- - -# The following causes commented out #undef lines to be written to -# pnglibconf.h; this can be stopped by logunsupported=0 in a later -# file or on the command line (after pnglibconf.dfa) - -logunsupported = 1 - -# PNG_USER_CONFIG has to be defined on the compiler command line -# to cause pngusr.h to be read while constructing pnglibconf.h -# -# If you create a private DLL you need to define the following -# macros in the file 'pngusr.h' and set -DPNG_USER_CONFIG for -# compilation (i.e. in CFLAGS.) -# #define PNG_USER_PRIVATEBUILD \ -# <Describes by whom and why this version of the DLL was built> -# e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." -# #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to -# distinguish your DLL from those of the official release. These -# correspond to the trailing letters that come after the version -# number and must match your private DLL name> -# e.g. // private DLL "libpng13gx.dll" -# #define PNG_USER_DLLFNAME_POSTFIX "gx" -# -# The following macros are also at your disposal if you want to complete the -# DLL VERSIONINFO structure. -# - PNG_USER_VERSIONINFO_COMMENTS -# - PNG_USER_VERSIONINFO_COMPANYNAME -# - PNG_USER_VERSIONINFO_LEGALTRADEMARKS - -# It is necessary to include configures definitions here so that AC_DEFINE -# in configure.ac works in a comprehensible way -@#if defined(HAVE_CONFIG_H) && !defined(PNG_NO_CONFIG_H) -@# include "config.h" -@#endif - -@#ifdef PNG_USER_CONFIG -@# include "pngusr.h" -@#endif - -# This is a special fixup for the Watcom C compiler on Windows, which has -# multiple procedure call standards. Unless PNG_API_RULE is set explicitly -# (i.e. if it is not defined at this point) it will be forced to '2' here when -# using Watcom. This indicates to the other header files that Watcom behaviour -# is required where appropriate. - -@#ifdef __WATCOMC__ -@# ifndef PNG_API_RULE -@# define PNG_API_RULE 2 /* Use Watcom calling conventions */ -@# endif -@#endif - -# This changes the default for the ARM NEON optimizations according to -# __ARM_NEON__ -@#ifdef __ARM_NEON__ -@# define PNG_ARM_NEON_SUPPORTED -@#endif - -# IN DEVELOPMENT -# These are currently experimental features; define them if you want (NOTE: -# experimental options must be disabled before they are defined in this file!) - -# NONE - -# Note that PNG_USR_CONFIG only has an effect when building -# pnglibconf.h - -setting USER_CONFIG -setting USER_PRIVATEBUILD -setting USER_DLLFNAME_POSTFIX -setting USER_VERSIONINFO_COMMENTS -setting USER_VERSIONINFO_COMPANYNAME -setting USER_VERSIONINFO_LEGALTRADEMARKS - -# Record the 'API rule' used to select calling conventions on -# those systems that support such things (see all the comments in -# pngconf.h) -# Changing this setting has a fundamental affect on the PNG ABI, -# do not release shared libraries with this changed. - -setting API_RULE default 0 - -# This allows a prefix to be added to the front of every API functon name (and -# therefore every symbol) by redefining all the function names with the prefix -# at the end of pnglibconf.h. It also turns on similar internal symbol renaming -# by causing a similar build-time only file, pngprefix.h, to be generated. - -setting PREFIX - -# Default to using the read macros - -setting DEFAULT_READ_MACROS default 1 - -# This setting allows a hardware or configuration specific filter optimization -# function to be specified, the argument is the name of the filter initializaion -# function to use. - -setting FILTER_OPTIMIZATIONS - -# Implementation specific control of the optimizations, enabled by those -# hardware or software options that need it (typically when run-time choices -# must be made by the user) -option SET_OPTION disabled - -# These options are specific to the ARM NEON hardware optimizations: -# -# ARM_NEON: the optimization itself -# ARM_NEON_API: allow the optimization to be switched on with png_set_hardware -# ARM_NEON_CHECK: compile a run-time check to see if Neon extensions are -# supported, this is poorly supported and deprectated - use the -# png_set_hardware API. -option ARM_NEON disabled, - sets FILTER_OPTIMIZATIONS png_init_filter_functions_neon -option ARM_NEON_API disabled enables SET_OPTION ARM_NEON -option ARM_NEON_CHECK disabled enables ARM_NEON - -# These settings configure the default compression level (0-9) and 'strategy'; -# strategy is as defined by the implementors of zlib, it describes the input -# data and modifies the zlib parameters in an attempt to optimize the balance -# between search and huffman encoding in the zlib algorithms. The defaults are -# the zlib.h defaults - the apparently recursive definition does not arise -# because the name of the setting is prefixed by PNG_ -# -# The TEXT values are the defaults when writing compressed text (all forms) -# -# Include the zlib header too, so that the defaults below are known -@# include <zlib.h> - -# The '@' here means to substitute the value when pnglibconf.h is built -setting Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION -setting Z_DEFAULT_STRATEGY default @Z_FILTERED -setting Z_DEFAULT_NOFILTER_STRATEGY default @Z_DEFAULT_STRATEGY - -setting TEXT_Z_DEFAULT_COMPRESSION default @Z_DEFAULT_COMPRESSION -setting TEXT_Z_DEFAULT_STRATEGY default @Z_DEFAULT_STRATEGY - -# The alternative is to call functions to read PNG values, if -# the functions are turned *off* the read macros must always -# be enabled, so turning this off will actually force the -# USE_READ_MACROS option on (see pngconf.h) - -option READ_INT_FUNCTIONS requires READ - -# The same for write, but these can only be switched off if -# no writing is required at all - hence the use of an 'enables' -# not a 'requires' below: - -option WRITE_INT_FUNCTIONS disabled -option WRITE enables WRITE_INT_FUNCTIONS - -# Error controls -# -# WARNINGS: normally on, if off no warnings are generated -# ERROR_TEXT: normally on, if off errors happen but there is no message -# ERROR_NUMBERS: unimplemented feature, therefore disabled -# BENIGN_ERRORS: support for just issuing warnings for recoverable errors -# -# BENIGN_READ_ERRORS: -# By default recoverable errors on read should just generate warnings, -# generally safe but PNG files that don't conform to the specification will -# be accepted if a meaningful result can be produced. -# -# BENIGN_WRITE_ERRORS: -# By default recoverable errors on write should just generate warnings, -# not generally safe because this allows the application to write invalid -# PNG files. Applications should enable this themselves; it's useful -# because it means that a failure to write an ancilliary chunk can often be -# ignored. - -option WARNINGS -option ERROR_TEXT -option ERROR_NUMBERS disabled - -option BENIGN_ERRORS -option BENIGN_WRITE_ERRORS requires BENIGN_ERRORS disabled -option BENIGN_READ_ERRORS requires BENIGN_ERRORS - - -# Generic options - affect both read and write. - -option MNG_FEATURES - -# Arithmetic options, the first is the big switch that chooses between internal -# floating and fixed point arithmetic implementations - it does not affect any -# APIs. The second two (the _POINT settings) switch off individual APIs. - -option FLOATING_ARITHMETIC -option FLOATING_POINT enables ok_math -option FIXED_POINT enables ok_math - -# The following is always on (defined empty) - -setting CALLOC_SUPPORTED default - -# This protects us against compilers that run on a windowing system -# and thus don't have or would rather us not use the stdio types: -# stdin, stdout, and stderr. The only one currently used is stderr -# in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will -# prevent these from being compiled and used. #defining PNG_NO_STDIO -# will also prevent these, plus will prevent the entire set of stdio -# macros and functions (FILE *, printf, etc.) from being compiled and used, -# unless (PNG_DEBUG > 0) has been #defined. - -option STDIO -option CONSOLE_IO requires STDIO - -# Note: prior to 1.5.0 this option could not be disabled if STDIO -# was enabled. Prior to 1.5.3 this option required STDIO - -option TIME_RFC1123 - -# PNG_SETJMP_NOT_SUPPORTED is an old equivalent for NO_SETJMP - -option SETJMP -= NO_SETJMP SETJMP_NOT_SUPPORTED - -# If this is disabled it is not possible for apps to get the -# values from the 'info' structure, this effectively removes -# quite a lot of the READ API. - -option EASY_ACCESS - -# Added at libpng-1.2.0 - -option USER_MEM - -# Added at libpng-1.4.0 - -option IO_STATE - -# This is only for PowerPC big-endian and 680x0 systems -# some testing, not enabled by default. -# NO LONGER USED - -#option READ_BIG_ENDIAN disabled - -# Allow users to control limits on what the READ code will -# read: - -# Added at libpng-1.2.43; adds limit fields to png_struct, -# allows some usages of these fields - -option USER_LIMITS - -# Added at libpng-1.2.6; adds setting APIs, allows additional -# usage of this field (UTSL) - -option SET_USER_LIMITS requires USER_LIMITS - -# Feature added at libpng-1.4.0, this flag added at 1.4.1 -option SET_USER_LIMITS enables SET_CHUNK_CACHE_LIMIT -# Feature added at libpng-1.4.1, this flag added at 1.4.1 - -option SET_USER_LIMITS enables SET_CHUNK_MALLOC_LIMIT - -# Libpng limits. -# -# If these settings are *not* set libpng will not limit the size of -# images or the size of data in ancilliary chunks. This does lead to -# security issues if PNG files come from untrusted sources. -setting USER_WIDTH_MAX -setting USER_HEIGHT_MAX -setting USER_CHUNK_CACHE_MAX -setting USER_CHUNK_MALLOC_MAX - -# To default all these settings to values that are large but probably -# safe turn the SAFE_LIMITS option on; this will cause the value in -# pngpriv.h to be used. Individual values can also be set, simply set -# them in pngusr.dfa with '@#define PNG_setting value' lines. -option SAFE_LIMITS enables USER_LIMITS disabled -= SAFE_LIMITS SAFE_LIMITS - -# All of the following options relate to code capabilities for -# processing image data before creating a PNG or after reading one. -# You can remove these capabilities safely and still be PNG -# conformant, however the library that results is still non-standard. -# See the comments above about how to change options and settings. - -# READ options -# -# WARNING: in libpng 1.5 maintained configuration compatibility with earlier -# versions. In some cases turning off an option turned off other options, in -# others it was ineffective unless dependent options were also turned off. -# Libpng 1.6 changes this: in general if you turn off an option that affects -# APIs it stays off and simply disables APIs that depend on it. -# -# As a result if you simply port the libpng 1.5 configuration to libpng 1.6 you -# will probably see build failures due to missing APIs. Fixing these failures -# requires some, perhaps considerable, knowledge of what your libpng using -# applications are doing, fortunately there is no great reason for you to move -# to libpng 1.6; the new interfaces in 1.6 will take several years to become -# popular. - -option READ enables READ_INTERLACING - -# Disabling READ_16BIT does not disable reading 16-bit PNG files, but it -# forces them to be chopped down to 8-bit, and disables any 16-bit -# processing after that has happened. You need to be sure to enable -# READ_SCALE_16_TO_8 or READ_STRIP_16_TO_8 when you disable READ_16BIT for -# this to work properly. You should disable the other option if you need to -# ensure a particular conversion (otherwise the app can chose.) - -option READ_16BIT requires READ enables 16BIT - -option READ_QUANTIZE requires READ - -option READ_TRANSFORMS requires READ -= NO_READ_TRANSFORMS READ_TRANSFORMS_NOT_SUPPORTED - -# Read gamma handling. Gamma processing is a core part of libpng and many of -# the capabilities are dependent on libpng performing gamma correction. -# -# In libpng 1.6 disabling gamma processing (setting PNG_NO_READ_GAMMA) -# consistently disables those parts of the API that depend on it. Prior to -# 1.6.0 this was not true; the results were unpredictable and varied between -# releases. -# -# If you disable gamma processing and your program no longer compiles you need -# to ask whether you really need the APIs that are missing. If you do then you -# almost certainly need the gamma processing. -# -# If you handle gamma issues outside libpng then you do not need the libpng -# gamma processing; and it is an enormous waste of space. You just need to -# remove the use of libpng APIs that depend on it. -option READ_GAMMA requires READ_TRANSFORMS, READ_gAMA - -option READ_ALPHA_MODE requires READ_TRANSFORMS, READ_GAMMA -option READ_BACKGROUND requires READ_TRANSFORMS, READ_STRIP_ALPHA, READ_GAMMA -option READ_BGR requires READ_TRANSFORMS -option READ_EXPAND_16 requires READ_TRANSFORMS, READ_16BIT, READ_EXPAND -option READ_EXPAND requires READ_TRANSFORMS -option READ_FILLER requires READ_TRANSFORMS -option READ_GRAY_TO_RGB requires READ_TRANSFORMS -option READ_INVERT_ALPHA requires READ_TRANSFORMS -option READ_INVERT requires READ_TRANSFORMS -option READ_PACK requires READ_TRANSFORMS -option READ_PACKSWAP requires READ_TRANSFORMS -option READ_RGB_TO_GRAY requires READ_TRANSFORMS, READ_GAMMA -option READ_SCALE_16_TO_8 requires READ_TRANSFORMS -option READ_SHIFT requires READ_TRANSFORMS -option READ_STRIP_16_TO_8 requires READ_TRANSFORMS -option READ_STRIP_ALPHA requires READ_TRANSFORMS -option READ_SWAP_ALPHA requires READ_TRANSFORMS -option READ_SWAP requires READ_TRANSFORMS, READ_16BIT -option READ_USER_TRANSFORM requires READ_TRANSFORMS - -option PROGRESSIVE_READ requires READ -option SEQUENTIAL_READ requires READ - -# You can define PNG_NO_PROGRESSIVE_READ if you don't do progressive reading. -# This is not talking about interlacing capability! You'll still have -# interlacing unless you turn off the following which is required -# for PNG-compliant decoders. (In other words, do not do this - in -# fact it can't be disabled from the command line!) -#option READ_INTERLACING requires READ - -option READ_COMPOSITE_NODIV requires READ -= NO_READ_COMPOSITE_NODIV NO_READ_COMPOSITED_NODIV - -# Inch conversions - -option INCH_CONVERSIONS -= INCH_CONVERSIONS INCH_CONVERSIONS - -# API to build a grayscale palette - -option BUILD_GRAYSCALE_PALETTE - -# WRITE options - -option WRITE - -# Disabling WRITE_16BIT prevents 16-bit PNG files from being -# generated. -option WRITE_16BIT requires WRITE enables 16BIT - -option WRITE_TRANSFORMS requires WRITE -= NO_WRITE_TRANSFORMS WRITE_TRANSFORMS_NOT_SUPPORTED - -option WRITE_SHIFT requires WRITE_TRANSFORMS -option WRITE_PACK requires WRITE_TRANSFORMS -option WRITE_BGR requires WRITE_TRANSFORMS -option WRITE_SWAP requires WRITE_TRANSFORMS, WRITE_16BIT -option WRITE_PACKSWAP requires WRITE_TRANSFORMS -option WRITE_INVERT requires WRITE_TRANSFORMS -option WRITE_FILLER requires WRITE_TRANSFORMS -option WRITE_SWAP_ALPHA requires WRITE_TRANSFORMS -option WRITE_INVERT_ALPHA requires WRITE_TRANSFORMS -option WRITE_USER_TRANSFORM requires WRITE_TRANSFORMS - -# This is not required for PNG-compliant encoders, but can cause -# trouble if left undefined - -option WRITE_INTERLACING requires WRITE - -# The following depends, internally, on WEIGHT_SHIFT and COST_SHIFT -# where are set below. - -option WRITE_WEIGHTED_FILTER requires WRITE - -option WRITE_FLUSH requires WRITE - -# Note: these can be turned off explicitly if not required by the -# apps implementing the user transforms -option USER_TRANSFORM_PTR if READ_USER_TRANSFORM, WRITE_USER_TRANSFORM -option USER_TRANSFORM_INFO if READ_USER_TRANSFORM, WRITE_USER_TRANSFORM - -# This enables API to set compression parameters for compressing -# non-IDAT chunks (zTXt, iTXt, iCCP, and unknown chunks). This feature -# was added at libpng-1.5.3. -option WRITE_CUSTOMIZE_ZTXT_COMPRESSION requires WRITE - -# Any chunks you are not interested in, you can undef here. The -# ones that allocate memory may be expecially important (hIST, -# tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info -# a bit smaller. - -# The size of the png_text structure changed in libpng-1.0.6 when -# iTXt support was added. iTXt support was turned off by default through -# libpng-1.2.x, to support old apps that malloc the png_text structure -# instead of calling png_set_text() and letting libpng malloc it. It -# was turned on by default in libpng-1.4.0. - -option READ_ANCILLARY_CHUNKS requires READ -# PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. -= NO_READ_ANCILLARY_CHUNKS READ_ANCILLARY_CHUNKS_NOT_SUPPORTED - -option WRITE_ANCILLARY_CHUNKS requires WRITE -# PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. -= NO_WRITE_ANCILLARY_CHUNKS WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED - -# These options disable *all* the text chunks if turned off - -option READ_TEXT requires READ_ANCILLARY_CHUNKS enables TEXT -option WRITE_TEXT requires WRITE_ANCILLARY_CHUNKS enables TEXT - -# Moved to pnglibconf.h at libpng-1.5.0 -# Feature support: in 1.4 this was in pngconf.h, but the following -# features have no affect on the libpng API. Add library -# only features to the end of this list. Add features that -# affect the API above. (Note: the list of chunks follows -# the library-only settings.) -# -# BUILD TIME ONLY OPTIONS -# These options do not affect the API but rather alter how the -# API is implemented, they get recorded in pnglibconf.h, but -# can't be changed by the application. - -# Colorspace support (enabled as required); just the support for colorant -# information. Gamma support, likewise, is just support for the gamma -# information, READ_GAMMA is required for gamma transformations (so it -# is possible to read PNG gamma without enabling all the libpng transform -# code - do this for applications that do their own gamma processing) -# -# As of 1.6.0 COLORSPACE is only useful if the application processes the -# information; this is because the library does not do any colorspace -# processing, it just validates the data in the PNG file. - -option GAMMA disabled -option COLORSPACE enables GAMMA disabled - -# When an ICC profile is read, or png_set, it will be checked for a match -# against known sRGB profiles if the sRGB handling is enabled. This -# setting controls how much work is done during the check: -# -# 0: Just validate the profile MD5 signature if present, otherwise use -# the checks in option 1. -# -# 1: Additionally check the length, intent and adler32 checksum of the -# actual data. If enabled this will reject known profiles that have -# had the rendering intent in the header changed as well as other edits -# done without updating the checksum. See the discussion below. -# -# 2: Additionally checksum all the data using the ethernet CRC32 algorithm. -# This makes it more difficult to fake profiles and makes it less likely -# to get a false positive on profiles with no signature, but is probably -# just a waste of time since all currently approved ICC sRGB profiles have -# a secure MD5 signature. -# -# The rendering intent. An ICC profile stores an intended rendering intent, -# but does not include the value in the signature. The intent is documented -# as the intent that should be used when combining two profiles. The sRGB -# profile is intended, however, to be used with any of the four defined intents. -# For this reason the sRGB chunk includes an 'intent' to be used when displaying -# the image (intent is really a property of the image not the profile.) -# -# Unfortunately the iCCP chunk does not. It may therefore be that some -# applications modify the intent in profiles (including sRGB profiles) to work -# round this problem. Selecting an option other than option '0' will cause such -# modified profiles to be rejected. -# -# Security. The use of Adler32 and CRC32 checksums does not help significantly -# with any security issues. It is relatively easy to produce arbitrary profiles -# with the required checksums on current computer systems. Nevertheless -# security does not seem to be an issue because the only consequence of a false -# positive is a false assertion that the profile is an sRGB profile. This might -# be used to hide data from libpng using applications, but it doesn't seem -# possible to damage them. - -setting sRGB_PROFILE_CHECKS default 2 - -# Artificially align memory - the code typically aligns to 8 byte -# boundaries if this is switched on, it's a small waste of space -# but can help (in theory) on some architectures. Only affects -# internal structures. Added at libpng 1.4.0 - -option ALIGNED_MEMORY - -# Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING -# See png[wr]util.c, normally this should always be *on* - -option POINTER_INDEXING - -# Other defines for things like memory and the like can go here. - -# BUILD TIME SETTINGS -# Like build time options these do not affect the API, but they -# may be useful to applications because they record details of -# how the API will behave particularly with regard to overall -# accuracy. - -# This controls how fine the quantizing gets. As this allocates -# a largish chunk of memory (32K), those who are not as concerned -# with quantizing quality can decrease some or all of these. - -setting QUANTIZE_RED_BITS default 5 -setting QUANTIZE_GREEN_BITS default 5 -setting QUANTIZE_BLUE_BITS default 5 - -# This controls how fine the gamma correction becomes when you -# are only interested in 8 bits anyway. Increasing this value -# results in more memory being used, and more pow() functions -# being called to fill in the gamma tables. Don't set this value -# less then 8, and even that may not work (I haven't tested it). - -setting MAX_GAMMA_8 default 11 - -# This controls how much a difference in gamma we can tolerate before -# we actually start doing gamma conversion, it's a fixed point value, -# so the default below is 0.05, meaning libpng ignores corrections in -# the range 0.95 to 1.05 - -setting GAMMA_THRESHOLD_FIXED default 5000 - -# Scaling factor for filter heuristic weighting calculations - -setting WEIGHT_SHIFT default 8 -setting COST_SHIFT default 3 - -# Precision to use when converting a floating point value to a PNG -# extension format string in an sCAL chunk (only relevant if the -# floating point API is enabled) - -setting sCAL_PRECISION default 5 - -# 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 -# machine. One of these will be allocated per png_struct. When this -# is full, it writes the data to the disk, and does some other -# calculations. Making this an extremely small size may slow -# the library down, but you may want to experiment to determine -# where it becomes significant, if you are concerned with memory -# usage. Note that zlib allocates at least 32Kb also. For readers, -# this describes the size of the buffer available to read the data in. -# Unless this gets smaller than the size of a row (compressed), -# it should not make much difference how big this is. - -setting ZBUF_SIZE default 8192 - -# This is the size of the decompression buffer used when counting or checking -# the decompressed size of an LZ stream from a compressed ancilliary chunk; the -# decompressed data is never used so a different size may be optimal. This size -# was determined using contrib/libtests/timepng.c with compressed zTXt data -# around 11MByte in size. Slight speed improvements (up to about 14% in -# timepng) can be achieved by very large increases (to 32kbyte) on regular data, -# but highly compressible data shows only around 2% improvement. The size is -# chosen to minimize the effects of DoS attacks based on using very large -# amounts of highly compressible data. - -setting INFLATE_BUF_SIZE default 1024 - -# This is the maximum amount of IDAT data that the sequential reader will -# process at one time. The setting does not affect the size of IDAT chunks -# read, just the amount read at once. Neither does it affect the progressive -# reader, which processes just the amount of data the application gives it. -# The sequential reader is currently unable to process more than one IDAT at -# once - it has to read and process each one in turn. There is no point setting -# this to a value larger than the IDAT chunks typically encountered (it would -# just waste memory) but there may be some point in reducing it below the value -# of ZBUF_SIZE (the size of IDAT chunks written by libpng.) - -setting IDAT_READ_SIZE default PNG_ZBUF_SIZE - -# Ancillary chunks -chunk bKGD -chunk cHRM enables COLORSPACE -chunk gAMA enables GAMMA -chunk hIST -chunk iCCP enables COLORSPACE, GAMMA -chunk iTXt -chunk oFFs -chunk pCAL -chunk pHYs -chunk sBIT -chunk sCAL -chunk sPLT -chunk sRGB enables COLORSPACE, GAMMA -chunk tEXt requires TEXT -chunk tIME -chunk tRNS -chunk zTXt - -# This only affects support of the optional PLTE chunk in RGB and RGBA -# images. Notice that READ_ANCILLARY_CHUNKS therefore disables part -# of the regular chunk reading too. - -option READ_OPT_PLTE requires READ_ANCILLARY_CHUNKS - -# Unknown chunk handling -# -# 'UNKNOWN_CHUNKS' is a global option to disable all unknown chunk handling on -# read or write; everything else below requires it (directly or indirectly). -option UNKNOWN_CHUNKS - -# There are three main options to control the ability to read and write unknown -# chunks. If either read option is turned on then unknown chunks will be read, -# otherwise they are skipped. If the write option is turned on unknown chunks -# set by png_set_unknown_chunks will be written otherwise it is an error to call -# that API on a write struct. -option WRITE_UNKNOWN_CHUNKS requires WRITE requires UNKNOWN_CHUNKS -option WRITE_UNKNOWN_CHUNKS enables STORE_UNKNOWN_CHUNKS - -# The first way to read user chunks is to have libpng save them for a later call -# to png_get_unknown_chunks, the application must call -# png_set_keep_unknown_chunks to cause this to actually happen (see png.h) -option SAVE_UNKNOWN_CHUNKS requires READ requires SET_UNKNOWN_CHUNKS -option SAVE_UNKNOWN_CHUNKS enables READ_UNKNOWN_CHUNKS, STORE_UNKNOWN_CHUNKS - -# The second approach is to use an application provided callback to process the -# chunks, the callback can either handle the chunk entirely itself or request -# that libpng store the chunk for later retrieval via png_get_unknown_chunks. -# -# Note that there is no 'WRITE_USER_CHUNKS' so the USER_CHUNKS option is always -# the same as READ_USER_CHUNKS at present -option READ_USER_CHUNKS requires READ, UNKNOWN_CHUNKS -option READ_USER_CHUNKS enables READ_UNKNOWN_CHUNKS, USER_CHUNKS - -# Two further options are provided to allow detailed control of the handling. -# The first enables png_set_keep_unknown_chunks; this allows the default to be -# changed from discarding unknown chunks and allows per-chunk control. This is -# required to use the SAVE_UNKNOWN_CHUNKS option. If enabled this option also -# applies to write (see png.h), otherwise the write API simply writes all the -# chunks it is given. -# -# The second option extends the unknown handling to allow known chunks to be -# handled as though they were unknown. This option doesn't change any APIs, it -# merely turns on the code to check known as well as unknown chunks. -# -# This option no longer affects the write code. It can be safely disabled and -# will prevent applications stopping libpng reading known chunks. -option SET_UNKNOWN_CHUNKS requires UNKNOWN_CHUNKS -option HANDLE_AS_UNKNOWN requires SET_UNKNOWN_CHUNKS - -# The following options are derived from the above and should not be turned on -# explicitly. -option READ_UNKNOWN_CHUNKS requires UNKNOWN_CHUNKS disabled -option STORE_UNKNOWN_CHUNKS requires UNKNOWN_CHUNKS disabled - -option CONVERT_tIME requires WRITE_ANCILLARY_CHUNKS -# The "tm" structure is not supported on WindowsCE - -@#ifdef _WIN32_WCE -@# define PNG_NO_CONVERT_tIME -@#endif - -option WRITE_FILTER requires WRITE - -option SAVE_INT_32 disabled -# png_save_int_32 is required internally for writing the ancillary chunks oFFs -# and pCAL and for both reading and writing iCCP (for the generation/checking of -# the corresponding cHRM/gAMA chunks) if full ICC is supported. - -# added at libpng-1.5.4 - -option WRITE_OPTIMIZE_CMF requires WRITE - -option READ_COMPRESSED_TEXT disabled -option READ_iCCP enables READ_COMPRESSED_TEXT -option READ_iTXt enables READ_COMPRESSED_TEXT -option READ_zTXt enables READ_COMPRESSED_TEXT -option READ_COMPRESSED_TEXT enables READ_TEXT - -option WRITE_oFFs enables SAVE_INT_32 -option WRITE_pCAL enables SAVE_INT_32 - -option WRITE_COMPRESSED_TEXT disabled -option WRITE_iCCP enables WRITE_COMPRESSED_TEXT -option WRITE_iTXt enables WRITE_COMPRESSED_TEXT -option WRITE_zTXt enables WRITE_COMPRESSED_TEXT -option WRITE_COMPRESSED_TEXT enables WRITE_TEXT - -# Turn this off to disable png_read_png() and png_write_png() and -# leave the row_pointers member out of the info structure. - -option INFO_IMAGE - -# added at libpng-1.5.10 -# Turn this off to disable warning about invalid palette index and -# leave the num_palette_max member out of the png structure. - -option CHECK_FOR_INVALID_INDEX enables READ_CHECK_FOR_INVALID_INDEX -option CHECK_FOR_INVALID_INDEX enables WRITE_CHECK_FOR_INVALID_INDEX -option READ_CHECK_FOR_INVALID_INDEX requires READ, CHECK_FOR_INVALID_INDEX -option WRITE_CHECK_FOR_INVALID_INDEX requires WRITE, CHECK_FOR_INVALID_INDEX - -# added at libpng-1.5.15 -option GET_PALETTE_MAX enables READ_GET_PALETTE_MAX WRITE_GET_PALETTE_MAX -option READ_GET_PALETTE_MAX requires READ_CHECK_FOR_INVALID_INDEX disabled -option WRITE_GET_PALETTE_MAX requires WRITE_CHECK_FOR_INVALID_INDEX disabled - -# Simplified API options (added at libpng-1.6.0) -# Read: -option SIMPLIFIED_READ, - requires SEQUENTIAL_READ READ_TRANSFORMS, SETJMP, BENIGN_ERRORS READ_GAMMA, - enables READ_EXPAND, READ_16BIT READ_EXPAND_16, READ_SCALE_16_TO_8, - READ_RGB_TO_GRAY, READ_ALPHA_MODE READ_BACKGROUND READ_STRIP_ALPHA, - READ_FILLER, READ_SWAP - -option SIMPLIFIED_READ_AFIRST requires SIMPLIFIED_READ disabled -option READ_SWAP_ALPHA enables SIMPLIFIED_READ_AFIRST - -option SIMPLIFIED_READ_BGR requires SIMPLIFIED_READ disabled -option READ_BGR enables SIMPLIFIED_READ_BGR - -# Write: -option SIMPLIFIED_WRITE, - requires WRITE STDIO, SETJMP, - enables WRITE_SWAP WRITE_gAMA, WRITE_sRGB WRITE_cHRM - -option SIMPLIFIED_WRITE_AFIRST requires SIMPLIFIED_WRITE disabled -option WRITE_SWAP_ALPHA enables SIMPLIFIED_WRITE_AFIRST - -option SIMPLIFIED_WRITE_BGR requires SIMPLIFIED_WRITE disabled -option WRITE_BGR enables SIMPLIFIED_WRITE_BGR - -# Formats: -option FORMAT_AFIRST if SIMPLIFIED_READ_AFIRST, SIMPLIFIED_WRITE_AFIRST -option FORMAT_BGR if SIMPLIFIED_READ_BGR, SIMPLIFIED_WRITE_BGR |