OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmjpeg
include
dcmtk
dcmjpeg
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
;
40
struct
jpeg_decompress_struct
;
41
typedef
struct
jpeg_decompress_struct
*
j_decompress_ptr
;
42
}
43
44
class
DJCodecParameter
;
45
46
50
class
DJCompressIJG12Bit
:
public
DJEncoder
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
125
void
initDestination
(
jpeg_compress_struct
*cinfo);
126
131
int
emptyOutputBuffer
(
jpeg_compress_struct
*cinfo);
132
137
void
termDestination
(
jpeg_compress_struct
*cinfo);
138
144
virtual
void
emitMessage
(
void
*arg,
int
msg_level)
const
;
145
146
private
:
147
149
DJCompressIJG12Bit
(
const
DJCompressIJG12Bit
&);
150
152
DJCompressIJG12Bit
&
operator=
(
const
DJCompressIJG12Bit
&);
153
155
void
cleanup
();
156
158
const
DJCodecParameter
*
cparam
;
159
161
Uint8
quality
;
162
164
int
psv
;
165
167
int
pt
;
168
170
EJ_Mode
modeofOperation
;
171
173
OFList<unsigned char *>
pixelDataList
;
174
176
size_t
bytesInLastBlock
;
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