MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
JpegImageWriter.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 JPEGIMAGEWRITER_H
14 #define JPEGIMAGEWRITER_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_geoFileImageWriter.h"
18 
19 #if defined(LT_COMPILER_MS)
20  #pragma warning(push,4)
21 #endif
22 
24 
25 
32 {
33  LT_DISALLOW_COPY_CONSTRUCTOR(JpegImageWriter);
34 public:
35  JpegImageWriter(void);
36  virtual ~JpegImageWriter(void);
48  LT_STATUS initialize(LTIImageStage *imageStage,
49  lt_int32 quality = 0, // 0-100
50  lt_int32 smoothing = 0); // 0-100
51 
52  LT_STATUS writeBegin(const LTIScene& scene);
53  LT_STATUS writeStrip(LTISceneBuffer& stripBuffer, const LTIScene& stripScene);
54  LT_STATUS writeEnd();
55 
56 private:
57  struct ErrorManager;
58  struct StreamManager;
59 
60  LT_STATUS writeBegin8(const LTIScene& scene);
61  LT_STATUS writeStrip8(LTISceneBuffer& stripBuffer, const LTIScene& stripScene);
62  LT_STATUS writeEnd8();
63 
64  LT_STATUS writeBegin12(const LTIScene& scene);
65  LT_STATUS writeStrip12(LTISceneBuffer& stripBuffer, const LTIScene& stripScene);
66  LT_STATUS writeEnd12();
67 
68  //two parameters for setting compression quality
69  lt_int32 m_quality;
70  lt_int32 m_smoothingFactor;
71 
72  void *m_jpeg;
73  ErrorManager *m_error;
74  bool m_use8;
75 };
76 
77 
79 
80 #if defined(LT_COMPILER_MS)
81  #pragma warning(pop)
82 #endif
83 
84 #endif // JPEGIMAGEWRITER_H
representation of a scene
Definition: lti_scene.h:64
class for writing geographic images to files or streams
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
writes an image stage to a JPEG file
class to hold data passed between image stages
abstract class for decoding from an image
signed int lt_int32
signed 32-bit integer
Definition: lt_types.h:52
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85

LizardTech