forked from external-repos/squoosh
Follow-up to https://github.com/GoogleChromeLabs/squoosh/pull/838. I have no idea what the JS+Wasm diffs in the original PR even represented if they weren't proper rebuilds, but this time I just removed node_modules in all codecs to enforce a proper, clean rebuild for each C++ codec. (Still think the speed-ups are worth it.)
MozJPEG encoder
- Source: https://github.com/mozilla/mozjpeg
- Version: v3.3.1
- License: BSD
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;
};