DJCompressIJG8Bit Class Reference

this class encapsulates the compression routines of the IJG JPEG library configured for 8 bits/sample. More...

Inheritance diagram for DJCompressIJG8Bit:

DJEncoder List of all members.

Public Member Functions

 DJCompressIJG8Bit (const DJCodecParameter &cp, EJ_Mode mode, Uint8 quality)
 constructor for lossy JPEG
 DJCompressIJG8Bit (const DJCodecParameter &cp, EJ_Mode mode, int prediction, int ptrans)
 constructor for lossless JPEG
virtual ~DJCompressIJG8Bit ()
 destructor
virtual OFCondition encode (Uint16 columns, Uint16 rows, EP_Interpretation interpr, Uint16 samplesPerPixel, Uint16 *image_buffer, Uint8 *&to, Uint32 &length)
 single frame compression routine for 16-bit raw pixel data.
virtual OFCondition encode (Uint16 columns, Uint16 rows, EP_Interpretation interpr, Uint16 samplesPerPixel, Uint8 *image_buffer, Uint8 *&to, Uint32 &length)
 single frame compression routine for 8-bit raw pixel data.
virtual Uint16 bytesPerSample () const
 returns the number of bytes per sample that will be expected when encoding.
virtual Uint16 bitsPerSample () const
 returns the number of bits per sample that will be expected when encoding.
void initDestination (jpeg_compress_struct *cinfo)
 callback for IJG compress destination manager.
int emptyOutputBuffer (jpeg_compress_struct *cinfo)
 callback for IJG compress destination manager.
void termDestination (jpeg_compress_struct *cinfo)
 callback for IJG compress destination manager.
virtual void emitMessage (void *arg, int msg_level) const
 callback function used to report warning messages and the like.

Private Member Functions

 DJCompressIJG8Bit (const DJCompressIJG8Bit &)
 private undefined copy constructor
DJCompressIJG8Bitoperator= (const DJCompressIJG8Bit &)
 private undefined copy assignment operator
void cleanup ()
 cleans up pixelDataList, called from destructor and error handlers

Private Attributes

const DJCodecParametercparam
 codec parameters
Uint8 quality
 for lossy compression, defines compression quality factor
int psv
 for lossless compression, defines selection value
int pt
 for lossless compression, defines point transform
EJ_Mode modeofOperation
 enum for mode of operation (baseline, sequential, progressive etc.)
OFList< unsigned char * > pixelDataList
 list of compressed pixel data blocks
size_t bytesInLastBlock
 filled number of bytes in last block in pixelDataList

Detailed Description

this class encapsulates the compression routines of the IJG JPEG library configured for 8 bits/sample.

Definition at line 46 of file djeijg8.h.


Constructor & Destructor Documentation

DJCompressIJG8Bit::DJCompressIJG8Bit ( const DJCodecParameter cp,
EJ_Mode  mode,
Uint8  quality 
)

constructor for lossy JPEG

Parameters:
cp codec parameters
mode mode of operation
quality compression quality

DJCompressIJG8Bit::DJCompressIJG8Bit ( const DJCodecParameter cp,
EJ_Mode  mode,
int  prediction,
int  ptrans 
)

constructor for lossless JPEG

Parameters:
cp codec parameters
prediction predictor
ptrans point transform


Member Function Documentation

virtual OFCondition DJCompressIJG8Bit::encode ( Uint16  columns,
Uint16  rows,
EP_Interpretation  interpr,
Uint16  samplesPerPixel,
Uint16 *  image_buffer,
Uint8 *&  to,
Uint32 &  length 
) [virtual]

single frame compression routine for 16-bit raw pixel data.

May only be called if bytesPerSample() == 2.

Parameters:
columns columns of frame
rows rows of frame
interpr photometric interpretation of input frame
samplesPerPixel samples per pixel of input frame
image_buffer pointer to frame buffer
to compressed frame returned in this parameter upon success
length length of compressed frame (in bytes) returned in this parameter upon success; length guaranteed to be always even.
Returns:
EC_Normal if successful, an error code otherwise.

Implements DJEncoder.

virtual OFCondition DJCompressIJG8Bit::encode ( Uint16  columns,
Uint16  rows,
EP_Interpretation  interpr,
Uint16  samplesPerPixel,
Uint8 *  image_buffer,
Uint8 *&  to,
Uint32 &  length 
) [virtual]

single frame compression routine for 8-bit raw pixel data.

May only be called if bytesPerSample() == 1.

Parameters:
columns columns of frame
rows rows of frame
interpr photometric interpretation of input frame
samplesPerPixel samples per pixel of input frame
image_buffer pointer to frame buffer
to compressed frame returned in this parameter upon success
length length of compressed frame (in bytes) returned in this parameter upon success; length guaranteed to be always even.
Returns:
EC_Normal if successful, an error code otherwise.

Implements DJEncoder.

void DJCompressIJG8Bit::initDestination ( jpeg_compress_struct cinfo  ) 

callback for IJG compress destination manager.

Internal use only, not to be called by client code.

Parameters:
cinfo pointer to compress info

int DJCompressIJG8Bit::emptyOutputBuffer ( jpeg_compress_struct cinfo  ) 

callback for IJG compress destination manager.

Internal use only, not to be called by client code.

Parameters:
cinfo pointer to compress info

void DJCompressIJG8Bit::termDestination ( jpeg_compress_struct cinfo  ) 

callback for IJG compress destination manager.

Internal use only, not to be called by client code.

Parameters:
cinfo pointer to compress info

virtual void DJCompressIJG8Bit::emitMessage ( void *  arg,
int  msg_level 
) const [virtual]

callback function used to report warning messages and the like.

Should not be called by user code directly.

Parameters:
arg opaque pointer to JPEG compress structure
msg_level -1 for warnings, 0 and above for trace messages


The documentation for this class was generated from the following file:


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1