AVIF image creator in pure Rust
I've fine-tuned rav1e low-level settings, so now you get much better compression-to-speed ratio.
Firefox doesn't have a problem with full color range any more, so the encoder uses it for slightly better quality.
Updated to the latest rav1e version, which brings speed and quality improvements.
New argument parser should have nicer error handling.
It turns out you can just ask rav1e to run faster, and it will! (with no loss of compression quality)
The first zip link below contains exe for macOS, Windows and Debian.
Latest release adds support for stdin/stdout pipes, so you can combine it with other programs without a need for temporary files.
For example, to make AVIF from ImageMagick:
convert -resize 50% example.jpg PNG:- | cavif - | cat > example.avif
That -
at the end tells cavif
to read image from stdin. cat
here is only to demonstrate that both stdin and stdout are used.
Now you can pass --color=rgb
to encode RGB channels exactly as-is, without conversion to a "TV" color space. It should give slightly more precise color, but also results in bigger files. It's not that exciting. I wanted to add support for more interesting color spaces, but it turned out nobody else supports them yet, so I won't either.