~ubuntu-branches/ubuntu/raring/wxwidgets2.8/raring

« back to all changes in this revision

Viewing changes to src/tiff/tif_codec.c

  • Committer: Package Import Robot
  • Author(s): Stéphane Graber
  • Date: 2012-01-07 13:59:25 UTC
  • mfrom: (1.1.9) (5.1.10 sid)
  • Revision ID: package-import@ubuntu.com-20120107135925-2601miy9ullcon9j
Tags: 2.8.12.1-6ubuntu1
* Resync from Debian, changes that were kept:
  - debian/rules: re-enable mediactrl. This allows libwx_gtk2u_media-2.8 to be
    built, as this is required by some applications (LP: #632984)
  - debian/control: Build-dep on libxt-dev for mediactrl.
  - Patches
    + fix-bashism-in-example
* Add conflict on python-wxgtk2.8 (<< 2.8.12.1-6ubuntu1~) to python-wxversion
  to guarantee upgrade ordering when moving from pycentral to dh_python2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Header$ */
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
 
 
34
 
static  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
77
 
const TIFFCodec _TIFFBuiltinCODECS[] = {
78
 
#else
79
 
TIFFCodec _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
 
 
101
 
static 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
 
 
111
 
static int
112
 
NotConfigured(TIFF* tif, int scheme)
113
 
{
114
 
    (void) scheme;
115
 
    
116
 
    tif->tif_decodestatus = FALSE;
117
 
    tif->tif_setupdecode = _notConfigured;
118
 
    tif->tif_encodestatus = FALSE;
119
 
    tif->tif_setupencode = _notConfigured;
120
 
    return (1);
121
 
}
122
 
 
123
 
/************************************************************************/
124
 
/*                       TIFFIsCODECConfigured()                        */
125
 
/************************************************************************/
126
 
 
127
 
/**
128
 
 * Check whether we have working codec for the specific coding scheme.
129
 
 * 
130
 
 * @return returns 1 if the codec is configured and working. Otherwise
131
 
 * 0 will be returned.
132
 
 */
133
 
 
134
 
int
135
 
TIFFIsCODECConfigured(uint16 scheme)
136
 
{
137
 
        const TIFFCodec* codec = TIFFFindCODEC(scheme);
138
 
 
139
 
        if(codec == NULL) {
140
 
            return 0;
141
 
        }
142
 
        if(codec->init == NULL) {
143
 
            return 0;
144
 
        }
145
 
        if(codec->init != NotConfigured){
146
 
            return 1;
147
 
        }
148
 
        return 0;
149
 
}
150