MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_types.h
Go to the documentation of this file.
1
/* $Id$ */
2
/* //////////////////////////////////////////////////////////////////////////
3
// //
4
// This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5
// Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6
// prohibited. Access to and use of this code is permitted only under //
7
// license from LizardTech, Inc. Portions of the code are protected by //
8
// US and foreign patents and other filings. All Rights Reserved. //
9
// //
11
/* PUBLIC - C*/
12
13
#ifndef LTI_TYPES_H
14
#define LTI_TYPES_H
15
16
#include "
lt_base.h
"
17
#include <stddef.h>
// NULL
18
19
20
21
#ifdef LT_CPLUSPLUS
22
extern
"C"
{
23
#endif
24
38
typedef
enum
LTIColorSpace
39
{
40
LTI_COLORSPACE_INVALID
= 0x000000,
41
LTI_COLORSPACE_MASK_ALPHA
= 0x010000,
42
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
= 0x020000,
43
44
// 1-banded colorspaces
45
LTI_COLORSPACE_GRAYSCALE
= 0x000101,
46
LTI_COLORSPACE_PALETTE
= 0x000102,
47
LTI_COLORSPACE_GRAYSCALEA
=
LTI_COLORSPACE_GRAYSCALE
|
LTI_COLORSPACE_MASK_ALPHA
,
48
LTI_COLORSPACE_GRAYSCALEA_PM
=
LTI_COLORSPACE_GRAYSCALEA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
49
50
// 3-banded colorspaces
51
LTI_COLORSPACE_RGB
= 0x000301,
52
LTI_COLORSPACE_CMY
= 0x000302,
53
LTI_COLORSPACE_YIQ
= 0x000303,
54
LTI_COLORSPACE_RGBA
=
LTI_COLORSPACE_RGB
|
LTI_COLORSPACE_MASK_ALPHA
,
55
LTI_COLORSPACE_RGBA_PM
=
LTI_COLORSPACE_RGBA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
56
LTI_COLORSPACE_CMYA
=
LTI_COLORSPACE_CMY
|
LTI_COLORSPACE_MASK_ALPHA
,
57
LTI_COLORSPACE_CMYA_PM
=
LTI_COLORSPACE_CMYA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
58
LTI_COLORSPACE_YIQA
=
LTI_COLORSPACE_YIQ
|
LTI_COLORSPACE_MASK_ALPHA
,
59
LTI_COLORSPACE_YIQA_PM
=
LTI_COLORSPACE_YIQA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
60
61
// 4-banded colorspaces
62
LTI_COLORSPACE_RGBK
= 0x000401,
63
LTI_COLORSPACE_CMYK
= 0x000402,
64
LTI_COLORSPACE_YIQK
= 0x000403,
65
LTI_COLORSPACE_RGBKA
=
LTI_COLORSPACE_RGBK
|
LTI_COLORSPACE_MASK_ALPHA
,
66
LTI_COLORSPACE_RGBKA_PM
=
LTI_COLORSPACE_RGBKA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
67
LTI_COLORSPACE_CMYKA
=
LTI_COLORSPACE_CMYK
|
LTI_COLORSPACE_MASK_ALPHA
,
68
LTI_COLORSPACE_CMYKA_PM
=
LTI_COLORSPACE_CMYKA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
69
LTI_COLORSPACE_YIQKA
=
LTI_COLORSPACE_YIQK
|
LTI_COLORSPACE_MASK_ALPHA
,
70
LTI_COLORSPACE_YIQKA_PM
=
LTI_COLORSPACE_YIQKA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
,
71
72
// N-banded colorspaces
73
LTI_COLORSPACE_MULTISPECTRAL
= 0x00FF01,
74
LTI_COLORSPACE_MULTISPECTRALA
=
LTI_COLORSPACE_MULTISPECTRAL
|
LTI_COLORSPACE_MASK_ALPHA
,
75
LTI_COLORSPACE_MULTISPECTRALA_PM
=
LTI_COLORSPACE_MULTISPECTRALA
|
LTI_COLORSPACE_MASK_ALPHA_PRE_MULTIPLIED
76
}
LTIColorSpace
;
77
83
typedef
enum
LTIColor
84
{
85
LTI_COLOR_INVALID
= 0,
86
LTI_COLOR_RED
= 1,
87
LTI_COLOR_GREEN
= 2,
88
LTI_COLOR_BLUE
= 3,
89
LTI_COLOR_CYAN
= 4,
90
LTI_COLOR_MAGENTA
= 5,
91
LTI_COLOR_YELLOW
= 6,
92
LTI_COLOR_BLACK
= 7,
93
LTI_COLOR_GRAY
= 8,
94
LTI_COLOR_UNKNOWN
= 9,
95
LTI_COLOR_ALPHA
= 10,
96
LTI_COLOR_PRE_MULTIPLIED_ALPHA
= 11
97
}
LTIColor
;
98
99
105
typedef
enum
LTIDataType
106
{
107
LTI_DATATYPE_INVALID
= 0,
108
LTI_DATATYPE_UINT8
= 1,
109
LTI_DATATYPE_SINT8
= 2,
110
LTI_DATATYPE_UINT16
= 3,
111
LTI_DATATYPE_SINT16
= 4,
112
LTI_DATATYPE_UINT32
= 5,
113
LTI_DATATYPE_SINT32
= 6,
114
LTI_DATATYPE_FLOAT32
= 7,
115
LTI_DATATYPE_FLOAT64
= 8
116
// not supported at this time
117
//LTI_DATATYPE_UINT64 = 9,
118
//LTI_DATATYPE_SINT64 = 10,
119
//LTI_DATATYPE_COMPLEX32 = 11, // (float32 Real, float32 Imaginary)
120
//LTI_DATATYPE_COMPLEX64 = 12 // (float64 Real, float64 Imaginary)
121
}
LTIDataType
;
122
123
124
132
typedef
enum
LTIPosition
133
{
134
LTI_POSITION_UPPER_LEFT
= 1,
135
LTI_POSITION_UPPER_CENTER
= 2,
136
LTI_POSITION_UPPER_RIGHT
= 3,
137
LTI_POSITION_LOWER_LEFT
= 4,
138
LTI_POSITION_LOWER_CENTER
= 5,
139
LTI_POSITION_LOWER_RIGHT
= 6,
140
LTI_POSITION_CENTER_LEFT
= 7,
141
LTI_POSITION_CENTER
= 8,
142
LTI_POSITION_CENTER_RIGHT
= 9
143
}
LTIPosition
;
144
145
152
typedef
enum
LTILayout
153
{
154
LTI_LAYOUT_INVALID
= 0,
155
LTI_LAYOUT_BIP
= 1,
156
LTI_LAYOUT_BSQ
= 2,
157
LTI_LAYOUT_BIL
= 3
158
}
LTILayout
;
159
160
164
typedef
enum
LTIEndian
165
{
166
LTI_ENDIAN_INVALID
= 0,
167
LTI_ENDIAN_HOST
= 1,
168
LTI_ENDIAN_LITTLE
= 2,
169
LTI_ENDIAN_BIG
= 3
170
}
LTIEndian
;
171
176
typedef
enum
LTIResampleMethod
177
{
178
LTI_RESAMPLE_INVALID
= 0,
179
LTI_RESAMPLE_NEAREST
= 1,
180
LTI_RESAMPLE_BILINEAR
= 2,
181
LTI_RESAMPLE_BICUBIC
= 3
182
}
LTIResampleMethod
;
183
187
typedef
enum
LTIPixelFillMethod
188
{
189
LTI_PIXELFILL_HARD
= 0,
// use NoData
190
LTI_PIXELFILL_FUZZY
= 1,
// use fuzzy NoData
191
LTI_PIXELFILL_COPY
= 2
// ignore NoData
192
}
LTIPixelFillMethod
;
193
194
/*
195
* constants representing possible pixel modifications
196
*/
197
typedef
enum
LTIEncodingModification
198
{
199
LTI_MODIFICATION_NONE
= 0x00000000,
200
LTI_MODIFICATION_LOSSLESS
= 0x00000000,
201
LTI_MODIFICATION_UNKNOWN
= 0x00000001,
202
LTI_MODIFICATION_COMPRESSED
= 0x00000002,
203
LTI_MODIFICATION_CROPPED
= 0x00000004,
204
LTI_MODIFICATION_EMBEDDED
= 0x00000008,
205
LTI_MODIFICATION_SCALED
= 0x00000010,
206
LTI_MODIFICATION_MASKED
= 0x00000020,
207
LTI_MODIFICATION_INTERPRETEDALPHA
= 0x00000040,
208
LTI_MODIFICATION_REORDEREDBANDS
= 0x00000080,
209
LTI_MODIFICATION_CHANGEDCOLORSPACE
= 0x00000100,
210
LTI_MODIFICATION_CHANGEDDATATYPE
= 0x00000200,
211
LTI_MODIFICATION_ALTEREDCOLOR
= 0x00000400,
212
LTI_MODIFICATION_MOSAICKED
= 0x00000800,
213
LTI_MODIFICATION_REPROJECTED
= 0x00001000,
214
LTI_MODIFICATION_WATERMARKED
= 0x00002000,
215
LTI_MODIFICATION_OVERLAID
= 0x00004000,
216
LTI_MODIFICATION_COMPRESSEDPERBAND
= 0X00008000,
217
LTI_MODIFICATION_QUANTIZED
= 0X00010000
218
}
LTIEncodingModifications
;
219
220
/*
221
* constants representing the constructed pipeline
222
*/
223
typedef
enum
LTIPipelineInfo
224
{
225
LTI_PIPELINE_INFO_NON_LEVEL_DECODES
= 1
226
}
LTIPipelineInfo
;
227
228
#ifdef LT_CPLUSPLUS
229
}
230
231
LT_BEGIN_NAMESPACE
(LizardTech)
232
233
// fwd decls (utils)
234
class
LTFileSpec
;
235
class
LTIOStreamInf
;
236
237
// fwd decls (SDK core)
238
class
LTIGeoCoord
;
239
class
LTIImage
;
240
class
LTIImageFilter
;
241
class
LTIImageReader
;
242
class
LTIImageStage
;
243
class
LTIImageWriter
;
244
class
LTIInterruptDelegate
;
245
class
LTIMetadataDatabase
;
246
class
LTINavigator
;
247
class
LTIPixel
;
248
class
LTIPixelLookupTable
;
249
class
LTIProgressDelegate
;
250
class
LTISample
;
251
class
LTIScene
;
252
class
LTISceneBuffer
;
253
class LTIMaskSource;
254
class LTIMask;
255
256
LT_END_NAMESPACE
(LizardTech)
257
258
#endif
259
260
#endif
LizardTech