OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmjpeg
include
dcmtk
dcmjpeg
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
46
class
DJCompressIJG8Bit
:
public
DJEncoder
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
121
void
initDestination
(
jpeg_compress_struct
*cinfo);
122
127
int
emptyOutputBuffer
(
jpeg_compress_struct
*cinfo);
128
133
void
termDestination
(
jpeg_compress_struct
*cinfo);
134
140
virtual
void
emitMessage
(
void
*arg,
int
msg_level)
const
;
141
142
private
:
143
145
DJCompressIJG8Bit
(
const
DJCompressIJG8Bit
&);
146
148
DJCompressIJG8Bit
&
operator=
(
const
DJCompressIJG8Bit
&);
149
151
void
cleanup
();
152
154
const
DJCodecParameter
*
cparam
;
155
157
Uint8
quality
;
158
160
int
psv
;
161
163
int
pt
;
164
166
EJ_Mode
modeofOperation
;
167
169
OFList<unsigned char *>
pixelDataList
;
170
172
size_t
bytesInLastBlock
;
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