
VideoLAN announces dav2d, a fast software decoder for the AV2 codec
Members of the VideoLAN community have published dav2d, a fast decoder for AV2, the successor to AV1 from the Alliance for Open Media. The project already handles 8-bit and 10-bit streams and is being optimised for x86, ARM and RISC-V.
Members of the VideoLAN community have announced dav2d, a fast decoder for AV2, the successor to AV1 from the Alliance for Open Media. The announcement came from VideoLAN's Jean-Baptiste Kempf on 31 May 2026, a few weeks after the repository was opened and development started in public. It follows the first official release of the AV2 specification.
Why a new decoder, and why now
AV1 was finalised in 2018 and became one of the most widely deployed video codecs. AV2 adds new coding tools across prediction, transforms, entropy coding, filtering and chroma processing. Reported gains vary with test conditions, but improvements of around 25% over AV1 are commonly seen. The catch is complexity: AV2 decoding is roughly five times more demanding than AV1, so today's hardware will struggle with real-time decoding without architecture-specific optimisation. That is the gap dav2d is meant to fill, and the reason work began before the specification stabilised.
Continuing the dav1d line
dav2d continues the approach VideoLAN took with dav1d, its AV1 decoder: a small, fast, portable and correct decoder suitable for real applications, media players, browsers, test tools and operating systems. When AV1 was being finalised, the team argued for a fast software decoder instead of relying on hardware support. Not everyone in the AOM community agreed, but the Alliance ended up funding part of the initial development. dav1d is now the most widely deployed AV1 software decoder, used in VLC, FFmpeg, mpv, Firefox, Chrome, Safari, Android, Windows and Linux.
What already works
The current dav2d tree contains a feature-complete AVM v15 decoder supporting both 8-bit and 10-bit streams. Bitstream parsing, frame and sequence headers, entropy decoding and CDF handling, intra and inter prediction with reference motion vectors, transforms, CCTX and CfL, deblocking, CDEF, Wiener filtering and film grain synthesis are implemented and are now being optimised. Because AV2 shares concepts with AV1, and because dav1d had already settled questions around threading, SIMD organisation, testing, portability and API design, the project has progressed faster than dav1d did at a comparable stage. The checkasm framework, created during dav1d to validate and benchmark optimised code against its C equivalents, was available from day one.
Performance work and what comes next
Optimisation has started on three architectures: AVX2 code for several inverse transform sizes on x86, alongside work on CCTX, deblock, intra prediction and CfL paths; AArch64 NEON for entropy decoding, SAD, intra and palette prediction, DC and smooth predictors and motion functions on ARM, with some arm32 work begun; and early RISC-V work re-enabling intra prediction and motion compensation assembly. Remaining tasks include tracking the specification, improving conformance and test coverage, further x86 and ARM optimisation, high bit-depth performance, threading and memory use, and preparing releases. The decoder is released under the same BSD-style licence as dav1d, and development happens in public on VideoLAN's GitLab.
SiTech — AI-powered web development
We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.