Is libdav1d an AV1 Decoder or Encoder?

This article clarifies the purpose of the popular open-source library libdav1d, answering whether it is designed solely for AV1 video decoding or if it also supports encoding. It also provides a brief guide on the industry-standard software tools available for AV1 video encoding.

libdav1d is Exclusively a Decoder

The libdav1d library is designed exclusively for decoding AV1 video streams. It does not contain any video encoding capabilities.

Developed by the VideoLAN and VLC communities and funded by the Alliance for Open Media (AOMedia), libdav1d was built from the ground up with a single goal: to be the fastest, most efficient, and highly compatible software AV1 decoder for cross-platform playback. It features extensive assembly optimizations for x86, ARM32, and ARM64 platforms, making AV1 playback viable on low-power devices and older CPUs.

What Should You Use for AV1 Encoding?

Since libdav1d cannot encode video, you must use other libraries if you want to compress video into the AV1 format. The most popular open-source AV1 encoders include:

In summary, while libdav1d is the premier choice for reading and playing AV1 video, you must pair it with a separate encoder like SVT-AV1 or libaom for creating AV1 content.