All formats

AVIF libraries for C/C++

An AVIF library parses the HEIF container and hands the AV1 data to a codec library. There are 3 container libraries:

Both delegate AV1 coding to codec libraries that you choose at build time:

Codec Decode Encode License Notes
dav1d yes no BSD-2-Clause fastest decoder; use it for reading
libaom yes yes BSD-2-Clause reference codec; best compression, slowest encoder
SVT-AV1 no yes BSD-3-Clause fast multi-threaded encoder
rav1e no yes BSD-2-Clause encoder in Rust with a C API

A common build is dav1d for decoding plus libaom for encoding. The AV1 codecs are covered by the royalty-free AOM patent license.