mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-15 01:59:57 +00:00
Use a shared base image with fixed Emscripten version, autotools and optimisation flags for all C++ codecs. Additionally, move build commands for codecs themselves to Makefile - they're already platform-specific, and Make allows for better caching and parallelisation that custom ad-hoc scripts. This is essentially same as #777 but for C++.
MozJPEG encoder
- Source: https://github.com/mozilla/mozjpeg
- Version: v3.3.1
Dependencies
- Docker
Example
See example.html
API
int version()
Returns the version of MozJPEG as a number. va.b.c is encoded as 0x0a0b0c
Uint8Array encode(std::string image_in, int image_width, int image_height, MozJpegOptions opts)
Encodes the given image with given dimension to JPEG. Options looks like this:
struct MozJpegOptions {
int quality;
bool baseline;
bool arithmetic;
bool progressive;
bool optimize_coding;
int smoothing;
int color_space;
int quant_table;
bool trellis_multipass;
bool trellis_opt_zero;
bool trellis_opt_table;
int trellis_loops;
bool auto_subsample;
int chroma_subsample;
bool separate_chroma_quality;
int chroma_quality;
};