OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmjpeg
include
dcmtk
dcmjpeg
djeijg16.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 16 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 DJEIJG16_H
30
#define DJEIJG16_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
DJCompressIJG16Bit
:
public
DJEncoder
51
{
52
public
:
53
59
DJCompressIJG16Bit
(
const
DJCodecParameter
& cp, EJ_Mode mode,
int
prediction,
int
ptrans);
60
62
virtual
~DJCompressIJG16Bit
();
63
76
virtual
OFCondition
encode
(
77
Uint16 columns,
78
Uint16 rows,
79
EP_Interpretation interpr,
80
Uint16 samplesPerPixel,
81
Uint16 *image_buffer,
82
Uint8 *&to,
83
Uint32 &length);
84
97
virtual
OFCondition
encode
(
98
Uint16 columns,
99
Uint16 rows,
100
EP_Interpretation interpr,
101
Uint16 samplesPerPixel,
102
Uint8 *image_buffer,
103
Uint8 *&to,
104
Uint32 &length);
105
108
virtual
Uint16
bytesPerSample
()
const
{
return
2; }
109
112
virtual
Uint16
bitsPerSample
()
const
{
return
16; }
113
118
void
initDestination
(
jpeg_compress_struct
*cinfo);
119
124
int
emptyOutputBuffer
(
jpeg_compress_struct
*cinfo);
125
130
void
termDestination
(
jpeg_compress_struct
*cinfo);
131
137
virtual
void
emitMessage
(
void
*arg,
int
msg_level)
const
;
138
139
private
:
140
142
DJCompressIJG16Bit
(
const
DJCompressIJG16Bit
&);
143
145
DJCompressIJG16Bit
&
operator=
(
const
DJCompressIJG16Bit
&);
146
148
void
cleanup
();
149
151
const
DJCodecParameter
*
cparam
;
152
154
int
psv
;
155
157
int
pt
;
158
160
EJ_Mode
modeofOperation
;
161
163
OFList<unsigned char *>
pixelDataList
;
164
166
size_t
bytesInLastBlock
;
167
168
};
169
170
#endif
171
172
/*
173
* CVS/RCS Log
174
* $Log: djeijg16.h,v $
175
* Revision 1.5 2010-10-14 13:17:17 joergr
176
* Updated copyright header. Added reference to COPYRIGHT file.
177
*
178
* Revision 1.4 2009-11-18 16:17:54 uli
179
* Use more than just the INFO log level.
180
*
181
* Revision 1.3 2005-12-08 16:59:26 meichel
182
* Changed include path schema for all DCMTK header files
183
*
184
* Revision 1.2 2001/11/19 15:13:28 meichel
185
* Introduced verbose mode in module dcmjpeg. If enabled, warning
186
* messages from the IJG library are printed on ofConsole, otherwise
187
* the library remains quiet.
188
*
189
* Revision 1.1 2001/11/13 15:56:24 meichel
190
* Initial release of module dcmjpeg
191
*
192
*
193
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2