24 #ifndef _FIREVISION_UTILS_COMPRESSION_IMAGE_COMPRESSOR_H_
25 #define _FIREVISION_UTILS_COMPRESSION_IMAGE_COMPRESSOR_H_
27 #include <fvutils/color/colorspaces.h>
28 #include <sys/types.h>
30 namespace firevision {
Image compressor interface.
virtual void set_image_dimensions(unsigned int width, unsigned int height)=0
Set dimensions of image to compress.
virtual bool supports_compression_destination(CompressionDestination cd)=0
Check if compressor supports desired compression destination.
virtual void set_filename(const char *filename)=0
Set file name.
virtual void compress()=0
Compress image.
virtual void set_vflip(bool enable)=0
Enable or disable vflipping.
virtual size_t recommended_compressed_buffer_size()=0
Get the recommended size for the compressed buffer.
CompressionDestination
Where to put the compressed image.
@ COMP_DEST_MEM
write compressed image to buffer in memory
@ COMP_DEST_FILE
write compressed image to file
virtual void set_destination_buffer(unsigned char *buf, unsigned int buf_size)=0
Set destination buffer (if compressing to memory).
virtual bool supports_vflip()=0
Check if image compressor can do vflip during compress.
virtual void set_image_buffer(colorspace_t cspace, unsigned char *buffer)=0
Set image buffer to compress.
virtual ~ImageCompressor()
Virtual empty destructor.
virtual size_t compressed_size()=0
Get compressed size.
virtual void set_compression_destination(CompressionDestination cd)=0
Set compression destination.