Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
firevision::JpegImageCompressor Class Reference

Jpeg image compressor. More...

#include <>>

Inheritance diagram for firevision::JpegImageCompressor:

Public Types

enum  JpegColorspace { JPEG_CS_RGB, JPEG_CS_YUV }
 JPEG color space. More...
 
- Public Types inherited from firevision::ImageCompressor
enum  CompressionDestination { COMP_DEST_FILE, COMP_DEST_MEM }
 Where to put the compressed image. More...
 

Public Member Functions

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

Detailed Description

Jpeg image compressor.

Definition at line 34 of file jpeg_compressor.h.

Member Enumeration Documentation

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
qualityJPEG quality in percent
jcsJpeg colorspace

Definition at line 207 of file jpeg_compressor.cpp.

firevision::JpegImageCompressor::~JpegImageCompressor ( )
virtual

Destructor.

Definition at line 214 of file jpeg_compressor.cpp.

Member Function Documentation

void firevision::JpegImageCompressor::compress ( )
virtual

Compress image.

Implements firevision::ImageCompressor.

Definition at line 220 of file jpeg_compressor.cpp.

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 357 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 363 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
cdcompression destination

Implements firevision::ImageCompressor.

Definition at line 335 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
bufbuffer
buf_sizebuffer size

Implements firevision::ImageCompressor.

Definition at line 349 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
filenamefile name (if compressing to file)

Implements firevision::ImageCompressor.

Definition at line 370 of file jpeg_compressor.cpp.

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

Set image buffer to compress.

Parameters
cspacecolorspace of image
bufferbuffer that contains the image

Implements firevision::ImageCompressor.

Definition at line 326 of file jpeg_compressor.cpp.

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
widthwidth of image in pixels
heightheight of image in pixels

Implements firevision::ImageCompressor.

Definition at line 318 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
cdcompression destination
Returns
true if supported, false otherwise

Implements firevision::ImageCompressor.

Definition at line 342 of file jpeg_compressor.cpp.


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