23#ifndef _WEBPCOMPRESSOR_H
24#define _WEBPCOMPRESSOR_H
27#include "Compressor.h"
28#include <webp/encode.h>
41 WebPMemoryWriter writer;
46 unsigned int chunk_size;
51 void writeICCProfile();
54 void writeXMPMetadata();
57 void writeExifMetadata();
68 WebPConfigInit( &config );
70 config.thread_level = 1;
73 if( compressionLevel == -1 ){
79 else config.quality = this->
Q;
108 unsigned int CompressStrip(
unsigned char* source,
unsigned char* output,
unsigned int tile_height );
115 unsigned int Finish(
unsigned char* output );
147 if( this->
Q < 1 )
Q = -1;
148 else if(
Q > 100 )
Q = 100;
157 else config.quality = this->
Q;
Base class for IIP output images.
Definition Compressor.h:31
bool default_quality
Whether compression level is default or has been set manually.
Definition Compressor.h:39
int Q
Quality or compression level for all image types.
Definition Compressor.h:36
Class to represent a single image tile.
Definition RawTile.h:45
Wrapper class to WebP library: Handles 8 and 16 bit PNG as well as alpha transparency.
Definition WebPCompressor.h:34
const char * getMimeType() const
Return the WebP mime type.
Definition WebPCompressor.h:126
unsigned int Compress(RawTile &t)
Compress an entire buffer of image data at once in one command.
Definition WebPCompressor.cc:86
const char * getSuffix() const
Return the image filename suffix.
Definition WebPCompressor.h:129
WebPCompressor(int compressionLevel)
Constructor.
Definition WebPCompressor.h:65
void injectMetadata(RawTile &r)
Inject metadata into raw WebP bitstream.
Definition WebPCompressor.cc:234
unsigned int CompressStrip(unsigned char *source, unsigned char *output, unsigned int tile_height)
Compress a strip of image data.
Definition WebPCompressor.cc:50
void setQuality(int quality)
Set the compression level.
Definition WebPCompressor.h:138
void InitCompression(const RawTile &rawtile, unsigned int strip_height)
Initialize strip based compression.
Definition WebPCompressor.cc:30
unsigned int Finish(unsigned char *output)
Finish the strip based compression and free memory.
Definition WebPCompressor.cc:70
ImageEncoding getImageEncoding() const
Get compression type.
Definition WebPCompressor.h:132