MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lti_imageStage.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 */
12
13 #ifndef LTI_IMAGESTAGE_H
14 #define LTI_IMAGESTAGE_H
15
16 // lt_lib_mrsid_core
17 #include "lti_image.h"
18
19 LT_BEGIN_NAMESPACE(LizardTech)
20
21
28 class LTIImageStage : public LTIImage
29 {
30 LTI_REFERENCE_COUNTED_BOILERPLATE_BASE(LTIImageStage);
31 public:
46 virtual void setProgressDelegate(LTIProgressDelegate* delegate) = 0;
47
61 virtual LTIProgressDelegate* getProgressDelegate() const = 0;
62
77 virtual void setInterruptDelegate(LTIInterruptDelegate* delegate) = 0;
78
92 virtual LTIInterruptDelegate* getInterruptDelegate() const = 0;
93
111 LT_STATUS read(const LTIScene& scene,
112 LTISceneBuffer& buffer);
113
126 virtual LT_STATUS readBegin(const LTIPixel &pixelProps,
127 const LTIScene &fullScene);
128
148 virtual LT_STATUS readStrip(LTISceneBuffer &buffer,
149 const LTIScene &stripScene);
150
161 virtual LT_STATUS readEnd();
162
174 virtual lt_uint32 getStripHeight() const = 0;
175
188 virtual LT_STATUS setStripHeight(lt_uint32 stripHeight) = 0;
189
201 virtual lt_int64 getEncodingCost(const LTIScene& scene) const = 0;
202
214 virtual bool getReaderScene(const LTIScene &decodeScene,
215 LTIScene &readerScene) const = 0;
216
225 lt_uint32 getNumStrips() const;
226
237 LTIScene getStripScene(lt_uint32 stripNumber) const;
238
247 virtual LT_STATUS overrideBackgroundPixel(const LTIPixel *backgroundPixel) = 0;
248
258 virtual LT_STATUS overrideNoDataPixel(const LTIPixel *nodataPixel) = 0;
259
268 virtual LT_STATUS overrideGeoCoord(const LTIGeoCoord &geoCoord) = 0;
269
273 virtual LT_STATUS overrideDynamicRange(const LTIPixel& drmin,
274 const LTIPixel& drmax) = 0;
275
279 virtual LT_STATUS overridePixelBPS(lt_uint8) = 0;
280
284 virtual LT_STATUS overridePixelLookupTable(const LTIPixelLookupTable* pixelLookupTable) = 0;
285
289 virtual LT_STATUS overrideMetadata(const LTIMetadataDatabase &metadata) = 0;
290
291 // for LizardTech internal use only
292 virtual LTIMaskSource *getMask() const = 0;
293 virtual bool getPipelineInfo(LTIPipelineInfo info) const = 0;
294 protected:
306 LT_STATUS fillBackground(const LTIScene& scene,
307 LTISceneBuffer& buffer);
308
319 LT_STATUS fillBackground(const LTIScene &scene,
320 LTISceneBuffer &buffer,
321 const LTIPixel &color);
322
323 bool isBandSelected(const LTIPixel &pixelProps) const;
338 virtual LT_STATUS decodeBegin(const LTIPixel &pixelProps,
339 const LTIScene &fullScene) = 0;
340
355 virtual LT_STATUS decodeStrip(LTISceneBuffer &stripBuffer,
356 const LTIScene &stripScene) = 0;
357
370 virtual LT_STATUS decodeEnd(void) = 0;
371
380 const LTIScene &getFullScene() const;
381
382 private:
386 LT_STATUS validateReadRequest(const LTIPixel &pixelProps,
387 const LTIScene &scene) const;
388 LT_STATUS validateReadRequest(const LTISceneBuffer &buffer,
389 const LTIScene &scene) const;
390
391 LT_STATUS checkDelegates(const LTIScene*, bool);
392
393 struct StripMarcher;
394 StripMarcher* m_stripMarcher;
395 };
396
397 LT_END_NAMESPACE(LizardTech)
398
399 #endif // LTI_IMAGESTAGE_H

LizardTech