this class implements an RLE decompressor conforming to the DICOM standard.
More...
|
| DcmRLEDecoder (size_t outputBufferSize) |
| constructor More...
|
|
| ~DcmRLEDecoder () |
| destructor
|
|
void | clear () |
| resets the decoder object to newly constructed state. More...
|
|
size_t | size () const |
| returns the number of bytes written to the output buffer More...
|
|
void * | getOutputBuffer () const |
| returns pointer to the output buffer
|
|
OFBool | fail () const |
| returns true if the RLE compressor has failed (out of memory or output buffer too small).
|
|
this class implements an RLE decompressor conforming to the DICOM standard.
The class is loosely based on an implementation by Phil Norman forre.nosp@m.y@eh.nosp@m..org
DcmRLEDecoder::DcmRLEDecoder |
( |
size_t |
outputBufferSize | ) |
|
|
inline |
constructor
- Parameters
-
outputBufferSize | size of the output buffer (in bytes) to which the RLE codec will write decompressed output. |
void DcmRLEDecoder::clear |
( |
| ) |
|
|
inline |
resets the decoder object to newly constructed state.
The size and location of the output buffer is not changed.
void DcmRLEDecoder::literal |
( |
unsigned char * |
cp, |
|
|
unsigned char |
nbytes |
|
) |
| |
|
inlineprivate |
this method expands a literal run
- Parameters
-
cp | pointer to buffer |
nbytes | number of bytes in buffer |
void DcmRLEDecoder::replicate |
( |
unsigned char |
ch, |
|
|
unsigned char |
nbytes |
|
) |
| |
|
inlineprivate |
this method expands a replicate run
- Parameters
-
ch | value to replicate |
nbytes | number of repetitions |
size_t DcmRLEDecoder::size |
( |
| ) |
const |
|
inline |
returns the number of bytes written to the output buffer
- Returns
- size of decompressed stream, in bytes
this flag indicates a failure of the RLE codec.
Once a failure is flagged, the codec will consume all input and not produce any more output.
size_t DcmRLEDecoder::offset_ |
|
private |
contains the number of bytes already written to outputBuffer_.
Value is always less or equal to outputBufferSize_.
unsigned char* DcmRLEDecoder::outputBuffer_ |
|
private |
this member points to a block of size outputBufferSize_ (unless fail_ is true).
This is the block of data to which the decompressed stream is written
unsigned char DcmRLEDecoder::suspendInfo_ |
|
private |
contains suspension information.
If not suspended, contains 128. If suspended during a replicate run, contains control byte of repeat run (> 128). If suspended during a literal run, contains number of remaining bytes in literal run minus 1 (< 128).
The documentation for this class was generated from the following file:
- dcmdata/include/dcmtk/dcmdata/dcrledec.h