Files
squoosh/codecs/imagequant
Ingvar Stepanyan 27ae47117e Leverage make -j to parallelise C++ builds
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.
2020-05-01 16:42:41 +01:00
..
2020-05-01 15:00:10 +01:00
2018-08-06 12:42:23 +01:00
2020-05-01 15:00:10 +01:00

ImageQuant

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().