mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-14 17:49:52 +00:00
We've been running each Make command in a single thread, resulting in fairly slow builds for C++ codecs. This change instead runs all `make` invocations with `-j` defaulting to number of cores (retrieved via `nproc`). On my machine Docker uses a VM configured to 4 cores out of 8 available. This change brings total build time for C++ codecs down from 10m28s to 7m5s (~3.5 minutes difference). Note (1): I've converted imagequant builds to use built-in `make` as well to leverage this parallelisation and future-proof build script. Note (2): we don't need to do the same for Rust, since Cargo parallelises builds by default.
ImageQuant
- Source: https://github.com/ImageOptim/libimagequant
- Version: v2.12.1
Dependencies
- Docker
Example
See example.html
API
int version()
Returns the version of libimagequant as a number. va.b.c is encoded as 0x0a0b0c
RawImage quantize(std::string buffer, int image_width, int image_height, int numColors, float dithering)
Quantizes the given images, using at most numColors, a value between 2 and 256. dithering is a value between 0 and 1 controlling the amount of dithering. RawImage is a class with 3 fields: buffer, width, and height.
RawImage zx_quantize(std::string buffer, int image_width, int image_height, float dithering)
???
void free_result()
Frees the result created by quantize().