Fawkes API
Fawkes Development Version
|
#include <>>
Public Member Functions | |
JpegImageCompressorLibJpeg (unsigned int quality=80, JpegImageCompressor::JpegColorspace jcs=JpegImageCompressor::JPEG_CS_RGB) | |
Constructor. More... | |
virtual | ~JpegImageCompressorLibJpeg () |
Destructor. More... | |
virtual void | set_image_dimensions (unsigned int width, unsigned int height) |
virtual void | set_image_buffer (colorspace_t cspace, unsigned char *buffer) |
virtual void | set_destination_buffer (unsigned char *buf, unsigned int buf_size) |
virtual size_t | compressed_size () |
virtual void | set_filename (const char *filename) |
virtual void | set_compression_destination (ImageCompressor::CompressionDestination cd) |
virtual bool | supports_compression_destination (ImageCompressor::CompressionDestination cd) |
virtual void | compress () |
virtual size_t | recommended_compressed_buffer_size () |
virtual bool | supports_vflip () |
virtual void | set_vflip (bool enable) |
![]() | |
virtual | ~ImageCompressor () |
Virtual empty destructor. More... | |
Additional Inherited Members | |
![]() | |
enum | CompressionDestination { COMP_DEST_FILE, COMP_DEST_MEM } |
Where to put the compressed image. More... | |
Jpeg image compressor.
Definition at line 41 of file jpeg_compressor_libjpeg.h.
firevision::JpegImageCompressorLibJpeg::JpegImageCompressorLibJpeg | ( | unsigned int | quality = 80 , |
JpegImageCompressor::JpegColorspace | jcs = JpegImageCompressor::JPEG_CS_RGB |
||
) |
Constructor.
quality | JPEG quality in percent |
jcs | Jpeg colorspace |
Definition at line 205 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Destructor.
Definition at line 213 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Compress image.
Implements firevision::ImageCompressor.
Definition at line 230 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Get compressed size.
Implements firevision::ImageCompressor.
Definition at line 382 of file jpeg_compressor_libjpeg.cpp.
|
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.
Implements firevision::ImageCompressor.
Definition at line 388 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Set compression destination.
cd | compression destination |
Implements firevision::ImageCompressor.
Definition at line 362 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Set destination buffer (if compressing to memory).
buf | buffer |
buf_size | buffer size |
Implements firevision::ImageCompressor.
Definition at line 375 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Set file name.
filename | file name (if compressing to file) |
Implements firevision::ImageCompressor.
Definition at line 394 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Set image buffer to compress
cspace | colorspace of image |
buffer | buffer that contains the image |
Implements firevision::ImageCompressor.
Definition at line 354 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Set dimensions of image to compress.
width | width of image in pixels |
height | height of image in pixels |
Implements firevision::ImageCompressor.
Definition at line 347 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Enable or disable vflipping. This shall throw an exception if vflipping is not supported.
enable | true to enable vflipping, false to disable |
Exception | thrown if vflipping is not supported. |
Implements firevision::ImageCompressor.
Definition at line 224 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Check if compressor supports desired compression destination.
cd | compression destination |
Implements firevision::ImageCompressor.
Definition at line 368 of file jpeg_compressor_libjpeg.cpp.
|
virtual |
Check if image compressor can do vflip during compress.
Vertical flipping (having the image upside down) is an operation necessary for example for cameras hanging upside down. During compression when the buffer is typically copied or converted line-wise anyway, this is a particularly cheap operation. Therfore we provide an API to implement this.
Implements firevision::ImageCompressor.
Definition at line 218 of file jpeg_compressor_libjpeg.cpp.