OFFIS DCMTK  Version 3.6.0
djeijg12.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 12 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 DJEIJG12_H
30 #define DJEIJG12_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  typedef struct jpeg_compress_struct * j_compress_ptr;
42 }
43 
44 class DJCodecParameter;
45 
46 
51 {
52 public:
53 
59  DJCompressIJG12Bit(const DJCodecParameter& cp, EJ_Mode mode, Uint8 quality);
60 
66  DJCompressIJG12Bit(const DJCodecParameter& cp, EJ_Mode mode, int prediction, int ptrans);
67 
69  virtual ~DJCompressIJG12Bit();
70 
83  virtual OFCondition encode(
84  Uint16 columns,
85  Uint16 rows,
86  EP_Interpretation interpr,
87  Uint16 samplesPerPixel,
88  Uint16 *image_buffer,
89  Uint8 *&to,
90  Uint32 &length);
91 
104  virtual OFCondition encode(
105  Uint16 columns,
106  Uint16 rows,
107  EP_Interpretation interpr,
108  Uint16 samplesPerPixel,
109  Uint8 *image_buffer,
110  Uint8 *&to,
111  Uint32 &length);
112 
115  virtual Uint16 bytesPerSample() const { return 2; }
116 
119  virtual Uint16 bitsPerSample() const { return 12; }
120 
126 
132 
138 
144  virtual void emitMessage(void *arg, int msg_level) const;
145 
146 private:
147 
150 
153 
155  void cleanup();
156 
159 
161  Uint8 quality;
162 
164  int psv;
165 
167  int pt;
168 
171 
174 
177 
178 };
179 
180 #endif
181 
182 /*
183  * CVS/RCS Log
184  * $Log: djeijg12.h,v $
185  * Revision 1.5 2010-10-14 13:17:17 joergr
186  * Updated copyright header. Added reference to COPYRIGHT file.
187  *
188  * Revision 1.4 2009-11-18 16:17:54 uli
189  * Use more than just the INFO log level.
190  *
191  * Revision 1.3 2005-12-08 16:59:25 meichel
192  * Changed include path schema for all DCMTK header files
193  *
194  * Revision 1.2 2001/11/19 15:13:28 meichel
195  * Introduced verbose mode in module dcmjpeg. If enabled, warning
196  * messages from the IJG library are printed on ofConsole, otherwise
197  * the library remains quiet.
198  *
199  * Revision 1.1 2001/11/13 15:56:23 meichel
200  * Initial release of module dcmjpeg
201  *
202  *
203  */


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