A number of ROM tables store entries that are never used in practice.
color_quant/unquant_tables store QUANT_2/3/4/5, which are illegal encodings. Truncate and bias.
quant_mode_table stores values for more than 20 color integers, which are illegal encodings. Truncate.
* Update test data reference CSV
* Formatting cleanups
* Make image data type flexible
- No new types supported yet, but it's a precursor to just supporting f32 as an interface type.
This phase introduces the first phase of the API split between the API front-end and the CODEC backed. However, some aspects of the final design are not yet supported:
This build only only supports automatic multi-threading; no user owned thread pools are supported.
Some memory allocations still tied to the compression pass, not the context, so reusing the context will have higher than planned CPU overhead due to the repeated memory allocation (although the impact is probably small unless compression small image).
The input image layout is still the legacy format and must be pre-padded by the caller for any pass using the area-based perceptual metrics.