source: trunk/third/tiff/libtiff/tif_codec.c @ 18174

Revision 18174, 3.8 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18173, which included commits to RCS files with non-trunk default branches.
Line 
1/* $Header: /afs/dev.mit.edu/source/repository/third/tiff/libtiff/tif_codec.c,v 1.1.1.1 2002-12-26 02:37:58 ghudson Exp $ */
2
3/*
4 * Copyright (c) 1988-1997 Sam Leffler
5 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
6 *
7 * Permission to use, copy, modify, distribute, and sell this software and
8 * its documentation for any purpose is hereby granted without fee, provided
9 * that (i) the above copyright notices and this permission notice appear in
10 * all copies of the software and related documentation, and (ii) the names of
11 * Sam Leffler and Silicon Graphics may not be used in any advertising or
12 * publicity relating to the software without the specific, prior written
13 * permission of Sam Leffler and Silicon Graphics.
14 *
15 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
17 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
18 *
19 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
20 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
21 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
22 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24 * OF THIS SOFTWARE.
25 */
26
27/*
28 * TIFF Library
29 *
30 * Builtin Compression Scheme Configuration Support.
31 */
32#include "tiffiop.h"
33
34static  int NotConfigured(TIFF*, int);
35
36#ifndef LZW_SUPPORT
37#define TIFFInitLZW             NotConfigured
38#endif
39#ifndef PACKBITS_SUPPORT
40#define TIFFInitPackbits        NotConfigured
41#endif
42#ifndef THUNDER_SUPPORT
43#define TIFFInitThunderScan     NotConfigured
44#endif
45#ifndef NEXT_SUPPORT
46#define TIFFInitNeXT            NotConfigured
47#endif
48#ifndef JPEG_SUPPORT
49#define TIFFInitJPEG            NotConfigured
50#endif
51#ifndef OJPEG_SUPPORT
52#define TIFFInitOJPEG           NotConfigured
53#endif
54#ifndef CCITT_SUPPORT
55#define TIFFInitCCITTRLE        NotConfigured
56#define TIFFInitCCITTRLEW       NotConfigured
57#define TIFFInitCCITTFax3       NotConfigured
58#define TIFFInitCCITTFax4       NotConfigured
59#endif
60#ifndef JBIG_SUPPORT
61#define TIFFInitJBIG            NotConfigured
62#endif
63#ifndef ZIP_SUPPORT
64#define TIFFInitZIP             NotConfigured
65#endif
66#ifndef PIXARLOG_SUPPORT
67#define TIFFInitPixarLog        NotConfigured
68#endif
69#ifndef LOGLUV_SUPPORT
70#define TIFFInitSGILog          NotConfigured
71#endif
72
73/*
74 * Compression schemes statically built into the library.
75 */
76#ifdef VMS
77const TIFFCodec _TIFFBuiltinCODECS[] = {
78#else
79TIFFCodec _TIFFBuiltinCODECS[] = {
80#endif
81    { "None",           COMPRESSION_NONE,       TIFFInitDumpMode },
82    { "LZW",            COMPRESSION_LZW,        TIFFInitLZW },
83    { "PackBits",       COMPRESSION_PACKBITS,   TIFFInitPackBits },
84    { "ThunderScan",    COMPRESSION_THUNDERSCAN,TIFFInitThunderScan },
85    { "NeXT",           COMPRESSION_NEXT,       TIFFInitNeXT },
86    { "JPEG",           COMPRESSION_JPEG,       TIFFInitJPEG },
87    { "Old-style JPEG", COMPRESSION_OJPEG,      TIFFInitOJPEG },
88    { "CCITT RLE",      COMPRESSION_CCITTRLE,   TIFFInitCCITTRLE },
89    { "CCITT RLE/W",    COMPRESSION_CCITTRLEW,  TIFFInitCCITTRLEW },
90    { "CCITT Group 3",  COMPRESSION_CCITTFAX3,  TIFFInitCCITTFax3 },
91    { "CCITT Group 4",  COMPRESSION_CCITTFAX4,  TIFFInitCCITTFax4 },
92    { "ISO JBIG",       COMPRESSION_JBIG,       TIFFInitJBIG },
93    { "Deflate",        COMPRESSION_DEFLATE,    TIFFInitZIP },
94    { "AdobeDeflate",   COMPRESSION_ADOBE_DEFLATE , TIFFInitZIP },
95    { "PixarLog",       COMPRESSION_PIXARLOG,   TIFFInitPixarLog },
96    { "SGILog",         COMPRESSION_SGILOG,     TIFFInitSGILog },
97    { "SGILog24",       COMPRESSION_SGILOG24,   TIFFInitSGILog },
98    { NULL }
99};
100
101static int
102_notConfigured(TIFF* tif)
103{
104        const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression);
105
106        TIFFError(tif->tif_name,
107            "%s compression support is not configured", c->name);
108        return (0);
109}
110
111static int
112NotConfigured(TIFF* tif, int scheme)
113{
114        tif->tif_setupdecode = _notConfigured;
115        tif->tif_setupencode = _notConfigured;
116        return (1);
117}
Note: See TracBrowser for help on using the repository browser.