OFFIS DCMTK  Version 3.6.0
djeijg8.h
1 /*
2  *
3  * Copyright (C) 1997-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmjpeg
15  *
16  * Author: Norbert Olges, Marco Eichelberg
17  *
18  * Purpose: compression routines of the IJG JPEG library configured for 8 bits/sample.
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:17:17 $
22  * CVS/RCS Revision: $Revision: 1.5 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef DJEIJG8_H
30 #define DJEIJG8_H
31 
32 #include "dcmtk/config/osconfig.h"
33 #include "dcmtk/ofstd/oflist.h"
34 #include "dcmtk/dcmjpeg/djencabs.h"
35 
36 extern "C"
37 {
38  struct jpeg_compress_struct;
39 }
40 
41 class DJCodecParameter;
42 
47 {
48 public:
49 
55  DJCompressIJG8Bit(const DJCodecParameter& cp, EJ_Mode mode, Uint8 quality);
56 
62  DJCompressIJG8Bit(const DJCodecParameter& cp, EJ_Mode mode, int prediction, int ptrans);
63 
65  virtual ~DJCompressIJG8Bit();
66 
79  virtual OFCondition encode(
80  Uint16 columns,
81  Uint16 rows,
82  EP_Interpretation interpr,
83  Uint16 samplesPerPixel,
84  Uint16 *image_buffer,
85  Uint8 *&to,
86  Uint32 &length);
87 
100  virtual OFCondition encode(
101  Uint16 columns,
102  Uint16 rows,
103  EP_Interpretation interpr,
104  Uint16 samplesPerPixel,
105  Uint8 *image_buffer,
106  Uint8 *&to,
107  Uint32 &length);
108 
111  virtual Uint16 bytesPerSample() const { return 1; }
112 
115  virtual Uint16 bitsPerSample() const { return 8; }
116 
122 
128 
134 
140  virtual void emitMessage(void *arg, int msg_level) const;
141 
142 private:
143 
146 
149 
151  void cleanup();
152 
155 
157  Uint8 quality;
158 
160  int psv;
161 
163  int pt;
164 
167 
170 
173 
174 };
175 
176 #endif
177 
178 /*
179  * CVS/RCS Log
180  * $Log: djeijg8.h,v $
181  * Revision 1.5 2010-10-14 13:17:17 joergr
182  * Updated copyright header. Added reference to COPYRIGHT file.
183  *
184  * Revision 1.4 2009-11-18 16:17:54 uli
185  * Use more than just the INFO log level.
186  *
187  * Revision 1.3 2005-12-08 16:59:27 meichel
188  * Changed include path schema for all DCMTK header files
189  *
190  * Revision 1.2 2001/11/19 15:13:29 meichel
191  * Introduced verbose mode in module dcmjpeg. If enabled, warning
192  * messages from the IJG library are printed on ofConsole, otherwise
193  * the library remains quiet.
194  *
195  * Revision 1.1 2001/11/13 15:56:24 meichel
196  * Initial release of module dcmjpeg
197  *
198  *
199  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2