Chafa 1.2.0
This is a feature and performance release.
-
Added --dither, --dither-grain and --dither-intensity options. These allow for sub-cell dithering in quantized modes (none, 2, 16, 240 and 256). Especially beneficial when used with -p off.
-
Added API for ordered and diffusion-based dithering in quantization.
-
Added API support for multiple 8bpc pixel modes: RGB, BGR, RGBA, BGRA, ARGB, ABGR with either premultiplied or unassociated alpha channels.
-
Smooth scaling is now done internally, meaning libchafa consumers no longer need to prescale images.
-
Implemented a machine learning tool that can generate custom fonts for efficient image reproduction from a provided dataset. This is left uninstalled since it's still experimental (@cdluminate).
-
Throughput improvements:
- GIF animations now start playing instantly.
- GIF CPU overhead reduced by 75%, peak memory use down 95%-99% (!).
- XWD common case CPU overhead down 60-70%, peak memory down 70%.
- Additional halving of CPU overhead in 240- and 256-color modes.
- Streamlined pixel pipeline for better parallelization.
-
Installation instructions:
- New: Guix (Guy Fleury Iteriteka).
- New: openSUSE (@jubalh).
-
Bug fixes:
- [unfiled] Certain SVGs had transparency replaced with a white background (nemo).
- [unfiled] -lm dependency belongs in libchafa, not frontend.