#include <fvutils/compression/imagecompressor.h>
Inheritance diagram for firevision::ImageCompressor:
Public Types | |
COMP_DEST_FILE | |
write compressed image to file | |
COMP_DEST_MEM | |
write compressed image to buffer in memory | |
enum | CompressionDestination { COMP_DEST_FILE, COMP_DEST_MEM } |
Where to put the compressed image. More... | |
Public Member Functions | |
virtual | ~ImageCompressor () |
Virtual empty destructor. | |
virtual void | set_image_dimensions (unsigned int width, unsigned int height)=0 |
Set dimensions of image to compress. | |
virtual void | set_image_buffer (colorspace_t cspace, unsigned char *buffer)=0 |
Set image buffer to compress. | |
virtual void | set_destination_buffer (unsigned char *buf, unsigned int buf_size)=0 |
Set destination buffer (if compressing to memory). | |
virtual size_t | compressed_size ()=0 |
Get compressed size. | |
virtual void | set_filename (const char *filename)=0 |
Set file name. | |
virtual void | set_compression_destination (CompressionDestination cd)=0 |
Set compression destination. | |
virtual bool | supports_compression_destination (CompressionDestination cd)=0 |
Check if compressor supports desired compression destination. | |
virtual size_t | recommended_compressed_buffer_size ()=0 |
Get the recommended size for the compressed buffer. | |
virtual void | compress ()=0 |
Compress image. |
Definition at line 35 of file imagecompressor.h.
Where to put the compressed image.
COMP_DEST_FILE | write compressed image to file |
COMP_DEST_MEM | write compressed image to buffer in memory |
Definition at line 39 of file imagecompressor.h.
firevision::ImageCompressor::~ImageCompressor | ( | ) | [virtual] |
void firevision::ImageCompressor::compress | ( | ) | [pure virtual] |
Compress image.
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().
size_t firevision::ImageCompressor::compressed_size | ( | ) | [pure virtual] |
Get compressed size.
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().
size_t firevision::ImageCompressor::recommended_compressed_buffer_size | ( | ) | [pure 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.
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().
void firevision::ImageCompressor::set_compression_destination | ( | CompressionDestination | cd | ) | [pure virtual] |
Set compression destination.
cd | compression destination |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().
void firevision::ImageCompressor::set_destination_buffer | ( | unsigned char * | buf, | |
unsigned int | buf_size | |||
) | [pure virtual] |
Set destination buffer (if compressing to memory).
buf | buffer | |
buf_size | buffer size |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().
void firevision::ImageCompressor::set_filename | ( | const char * | filename | ) | [pure virtual] |
Set file name.
filename | file name (if compressing to file) |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::set_filename(), and firevision::CompressedImageWriter::set_image_compressor().
void firevision::ImageCompressor::set_image_buffer | ( | colorspace_t | cspace, | |
unsigned char * | buffer | |||
) | [pure virtual] |
Set image buffer to compress.
cspace | colorspace of image | |
buffer | buffer that contains the image |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::set_buffer(), and firevision::CompressedImageWriter::set_image_compressor().
void firevision::ImageCompressor::set_image_dimensions | ( | unsigned int | width, | |
unsigned int | height | |||
) | [pure virtual] |
Set dimensions of image to compress.
width | width of image in pixels | |
height | height of image in pixels |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::set_dimensions(), and firevision::CompressedImageWriter::set_image_compressor().
bool firevision::ImageCompressor::supports_compression_destination | ( | CompressionDestination | cd | ) | [pure virtual] |
Check if compressor supports desired compression destination.
cd | compression destination |
Implemented in firevision::JpegImageCompressor.
Referenced by firevision::CompressedImageWriter::write().