Skip to content

Chafa 1.2.0

Choose a tag to compare
@hpjansson hpjansson released this 04 Aug 18:41
· 752 commits to master since this release

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.