123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- #include "tiffiop.h"
- static int NotConfigured(TIFF *, int);
- #ifndef LZW_SUPPORT
- #define TIFFInitLZW NotConfigured
- #endif
- #ifndef PACKBITS_SUPPORT
- #define TIFFInitPackBits NotConfigured
- #endif
- #ifndef THUNDER_SUPPORT
- #define TIFFInitThunderScan NotConfigured
- #endif
- #ifndef NEXT_SUPPORT
- #define TIFFInitNeXT NotConfigured
- #endif
- #ifndef JPEG_SUPPORT
- #define TIFFInitJPEG NotConfigured
- #endif
- #ifndef OJPEG_SUPPORT
- #define TIFFInitOJPEG NotConfigured
- #endif
- #ifndef CCITT_SUPPORT
- #define TIFFInitCCITTRLE NotConfigured
- #define TIFFInitCCITTRLEW NotConfigured
- #define TIFFInitCCITTFax3 NotConfigured
- #define TIFFInitCCITTFax4 NotConfigured
- #endif
- #ifndef JBIG_SUPPORT
- #define TIFFInitJBIG NotConfigured
- #endif
- #ifndef ZIP_SUPPORT
- #define TIFFInitZIP NotConfigured
- #endif
- #ifndef PIXARLOG_SUPPORT
- #define TIFFInitPixarLog NotConfigured
- #endif
- #ifndef LOGLUV_SUPPORT
- #define TIFFInitSGILog NotConfigured
- #endif
- #ifndef LERC_SUPPORT
- #define TIFFInitLERC NotConfigured
- #endif
- #ifndef LZMA_SUPPORT
- #define TIFFInitLZMA NotConfigured
- #endif
- #ifndef ZSTD_SUPPORT
- #define TIFFInitZSTD NotConfigured
- #endif
- #ifndef WEBP_SUPPORT
- #define TIFFInitWebP NotConfigured
- #endif
- const TIFFCodec _TIFFBuiltinCODECS[] = {
- {"None", COMPRESSION_NONE, TIFFInitDumpMode},
- {"LZW", COMPRESSION_LZW, TIFFInitLZW},
- {"PackBits", COMPRESSION_PACKBITS, TIFFInitPackBits},
- {"ThunderScan", COMPRESSION_THUNDERSCAN, TIFFInitThunderScan},
- {"NeXT", COMPRESSION_NEXT, TIFFInitNeXT},
- {"JPEG", COMPRESSION_JPEG, TIFFInitJPEG},
- {"Old-style JPEG", COMPRESSION_OJPEG, TIFFInitOJPEG},
- {"CCITT RLE", COMPRESSION_CCITTRLE, TIFFInitCCITTRLE},
- {"CCITT RLE/W", COMPRESSION_CCITTRLEW, TIFFInitCCITTRLEW},
- {"CCITT Group 3", COMPRESSION_CCITTFAX3, TIFFInitCCITTFax3},
- {"CCITT Group 4", COMPRESSION_CCITTFAX4, TIFFInitCCITTFax4},
- {"ISO JBIG", COMPRESSION_JBIG, TIFFInitJBIG},
- {"Deflate", COMPRESSION_DEFLATE, TIFFInitZIP},
- {"AdobeDeflate", COMPRESSION_ADOBE_DEFLATE, TIFFInitZIP},
- {"PixarLog", COMPRESSION_PIXARLOG, TIFFInitPixarLog},
- {"SGILog", COMPRESSION_SGILOG, TIFFInitSGILog},
- {"SGILog24", COMPRESSION_SGILOG24, TIFFInitSGILog},
- {"LZMA", COMPRESSION_LZMA, TIFFInitLZMA},
- {"ZSTD", COMPRESSION_ZSTD, TIFFInitZSTD},
- {"WEBP", COMPRESSION_WEBP, TIFFInitWebP},
- {"LERC", COMPRESSION_LERC, TIFFInitLERC},
- {NULL, 0, NULL}};
- static int _notConfigured(TIFF *tif)
- {
- const TIFFCodec *c = TIFFFindCODEC(tif->tif_dir.td_compression);
- char compression_code[20];
- snprintf(compression_code, sizeof(compression_code), "%" PRIu16,
- tif->tif_dir.td_compression);
- TIFFErrorExtR(tif, tif->tif_name,
- "%s compression support is not configured",
- c ? c->name : compression_code);
- return (0);
- }
- static int NotConfigured(TIFF *tif, int scheme)
- {
- (void)scheme;
- tif->tif_fixuptags = _notConfigured;
- tif->tif_decodestatus = FALSE;
- tif->tif_setupdecode = _notConfigured;
- tif->tif_encodestatus = FALSE;
- tif->tif_setupencode = _notConfigured;
- return (1);
- }
- int TIFFIsCODECConfigured(uint16_t scheme)
- {
- const TIFFCodec *codec = TIFFFindCODEC(scheme);
- if (codec == NULL)
- {
- return 0;
- }
- if (codec->init == NULL)
- {
- return 0;
- }
- if (codec->init != NotConfigured)
- {
- return 1;
- }
- return 0;
- }
|