firevision::JpegImageCompressor Class Reference

Jpeg image compressor. More...

#include <fvutils/compression/jpeg_compressor.h>

Inheritance diagram for firevision::JpegImageCompressor:

[legend]
List of all members.

Public Types

 JPEG_CS_RGB
 RGB.
 JPEG_CS_YUV
 YUV444 packed.
enum  JpegColorspace { JPEG_CS_RGB, JPEG_CS_YUV }
 JPEG color space. More...

Public Member Functions

 JpegImageCompressor (unsigned int quality=80, JpegColorspace jcs=JPEG_CS_RGB)
 Constructor.
virtual ~JpegImageCompressor ()
 Destructor.
virtual void set_image_dimensions (unsigned int width, unsigned int height)
 Set dimensions of image to compress.
virtual void set_image_buffer (colorspace_t cspace, unsigned char *buffer)
 Set image buffer to compress.
virtual void set_destination_buffer (unsigned char *buf, unsigned int buf_size)
 Set destination buffer (if compressing to memory).
virtual size_t compressed_size ()
 Get compressed size.
virtual void set_filename (const char *filename)
 Set file name.
virtual void set_compression_destination (ImageCompressor::CompressionDestination cd)
 Set compression destination.
virtual bool supports_compression_destination (ImageCompressor::CompressionDestination cd)
 Check if compressor supports desired compression destination.
virtual void compress ()
 Compress image.
virtual size_t recommended_compressed_buffer_size ()
 Get the recommended size for the compressed buffer.

Detailed Description

Jpeg image compressor.

Definition at line 34 of file jpeg_compressor.h.


Member Enumeration Documentation

enum firevision::JpegImageCompressor::JpegColorspace

JPEG color space.

Enumerator:
JPEG_CS_RGB  RGB.
JPEG_CS_YUV  YUV444 packed.

Definition at line 38 of file jpeg_compressor.h.


Constructor & Destructor Documentation

firevision::JpegImageCompressor::JpegImageCompressor ( unsigned int  quality = 80,
JpegColorspace  jcs = JPEG_CS_RGB 
)

Constructor.

Parameters:
quality JPEG quality in percent
jcs Jpeg colorspace

Definition at line 197 of file jpeg_compressor.cpp.

firevision::JpegImageCompressor::~JpegImageCompressor (  )  [virtual]

Destructor.

Definition at line 204 of file jpeg_compressor.cpp.


Member Function Documentation

void firevision::JpegImageCompressor::compress (  )  [virtual]

Compress image.

Implements firevision::ImageCompressor.

Definition at line 210 of file jpeg_compressor.cpp.

References firevision::ImageCompressor::COMP_DEST_MEM, firevision::convert_line_yuv422planar_to_rgb(), firevision::convert_line_yuv422planar_to_yuv444packed(), and JPEG_CS_RGB.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

size_t firevision::JpegImageCompressor::compressed_size (  )  [virtual]

Get compressed size.

Returns:
compressed size

Implements firevision::ImageCompressor.

Definition at line 333 of file jpeg_compressor.cpp.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

size_t firevision::JpegImageCompressor::recommended_compressed_buffer_size (  )  [virtual]

Get the recommended size for the compressed buffer.

It is not guaranteed that this size is really enough for compression but in most cases this should be suitable.

Returns:
recommended buffer size

Implements firevision::ImageCompressor.

Definition at line 339 of file jpeg_compressor.cpp.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

void firevision::JpegImageCompressor::set_compression_destination ( ImageCompressor::CompressionDestination  cd  )  [virtual]

Set compression destination.

Parameters:
cd compression destination

Implements firevision::ImageCompressor.

Definition at line 311 of file jpeg_compressor.cpp.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

void firevision::JpegImageCompressor::set_destination_buffer ( unsigned char *  buf,
unsigned int  buf_size 
) [virtual]

Set destination buffer (if compressing to memory).

Parameters:
buf buffer
buf_size buffer size

Implements firevision::ImageCompressor.

Definition at line 325 of file jpeg_compressor.cpp.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

void firevision::JpegImageCompressor::set_filename ( const char *  filename  )  [virtual]

Set file name.

Parameters:
filename file name (if compressing to file)

Implements firevision::ImageCompressor.

Definition at line 346 of file jpeg_compressor.cpp.

void firevision::JpegImageCompressor::set_image_buffer ( colorspace_t  cspace,
unsigned char *  buffer 
) [virtual]

Set image buffer to compress.

Parameters:
cspace colorspace of image
buffer buffer that contains the image

Implements firevision::ImageCompressor.

Definition at line 302 of file jpeg_compressor.cpp.

References firevision::YUV422_PLANAR.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

void firevision::JpegImageCompressor::set_image_dimensions ( unsigned int  width,
unsigned int  height 
) [virtual]

Set dimensions of image to compress.

Parameters:
width width of image in pixels
height height of image in pixels

Implements firevision::ImageCompressor.

Definition at line 294 of file jpeg_compressor.cpp.

Referenced by firevision::FuseServerClientThread::process_getimage_message().

bool firevision::JpegImageCompressor::supports_compression_destination ( ImageCompressor::CompressionDestination  cd  )  [virtual]

Check if compressor supports desired compression destination.

Parameters:
cd compression destination
Returns:
true if supported, false otherwise

Implements firevision::ImageCompressor.

Definition at line 318 of file jpeg_compressor.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Feb 22 13:33:00 2011 for Fawkes API by  doxygen 1.4.7