Does libdav1d Support 12-Bit AV1 Decoding

This article explains the current state of 12-bit AV1 decoding support in the popular open-source decoder library, libdav1d. It addresses whether the latest versions of the library can decode 12-bit AV1 video, details the specific version where this feature was introduced, and discusses the implications for high-bit-depth video playback.

Yes, the current version of libdav1d supports 12-bit AV1 decoding.

This capability was officially introduced in libdav1d version 1.3.0, which was released in late 2023. Prior to this release, the decoder was strictly limited to 8-bit and 10-bit color depths, which cover the AV1 Main and High profiles.

The addition of 12-bit decoding enables libdav1d to support the AV1 Professional Profile. This profile is designed for professional video editing, mastering, and high-end HDR content creation, where maximum color precision is required to prevent color banding and preserve fine image details.

While the 12-bit decoding path is fully functional in the current release, it is important to note the performance characteristics. The highly optimized assembly code (utilizing AVX2, AVX-512, or ARM Neon) that makes libdav1d exceptionally fast for 8-bit and 10-bit video is still being progressively written and integrated for 12-bit video. Currently, 12-bit decoding relies on a mix of C implementation fallbacks and initial assembly optimizations, meaning it may require more CPU resources than lower bit-depth streams.