MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- 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 LTI_MODIFICATION_OPAQUEALPHA = 0x00020000,
219 LTI_MODIFICATION_LOSSLESS_MASK = LTI_MODIFICATION_OPAQUEALPHA,
220 LTI_MODIFICATION_LOSSY_MASK = ~LTI_MODIFICATION_LOSSLESS_MASK,
221 LTI_MODIFICATION_ANY_MASK = ~LTI_MODIFICATION_NONE
222
223 } LTIEncodingModifications;
224
225 /*
226 * constants representing the constructed pipeline
227 */
228 typedef enum LTIPipelineInfo
229 {
230 LTI_PIPELINE_INFO_NON_LEVEL_DECODES = 1
231 } LTIPipelineInfo;
232
233 #ifdef LT_CPLUSPLUS
234 }
235
236 LT_BEGIN_NAMESPACE(LizardTech)
237
238 // fwd decls (utils)
239 class LTFileSpec;
240 class LTIOStreamInf;
241
242 // fwd decls (SDK core)
243 class LTIGeoCoord;
244 class LTIImage;
245 class LTIImageFilter;
246 class LTIImageReader;
247 class LTIImageStage;
248 class LTIImageWriter;
249 class LTIInterruptDelegate;
250 class LTIMetadataDatabase;
251 class LTINavigator;
252 class LTIPixel;
253 class LTIPixelLookupTable;
254 class LTIProgressDelegate;
255 class LTISample;
256 class LTIScene;
257 class LTISceneBuffer;
258 class LTIMaskSource;
259 class LTIMask;
260
261 LT_END_NAMESPACE(LizardTech)
262
263 #endif
264
265 #endif

LizardTech