What is dav1d? The fast AV1 decoder
What is dav1d and why does it matter? Discover how VideoLAN's open-source AV1 decoder delivers smooth 4K playback on Apple Silicon M1 and M2 Macs.
In short
- dav1d is an open-source AV1 software decoder developed by VideoLAN and AOMedia, hand-tuned in ARM NEON assembly.
- It delivers 2x to 5x faster decoding and uses 30% less memory than AOMedia's reference libaom decoder.
- Apple Silicon M1 and M2 Macs lack hardware AV1 decoders, relying entirely on dav1d for smooth 4K AV1 playback.
- MacLC bundles dav1d natively, switching dynamically between VideoToolbox hardware on M3/M4 and dav1d on M1/M2.
On this page
The software library dav1d is a free, open-source AV1 video decoder engineered from the ground up for speed, low memory usage, and cross-platform efficiency. Developed by VideoLAN (the organization behind VLC) and the Two-OReos developer team with funding from the Alliance for Open Media (AOMedia), dav1d is the engine that made AV1 video playback practical on consumer laptops and desktop computers.
While newer video formats promise superior compression efficiency over legacy codecs like H.264, complex mathematical decompression algorithms can overwhelm computer processors if the decoder is poorly optimized. By rewriting the AV1 decompression pipeline in hand-tuned assembly code, dav1d solved the playback bottleneck for millions of devices.
What is dav1d and who created it?
In 2018, the Alliance for Open Media—a consortium founded by Google, Apple, Mozilla, Microsoft, Netflix, Amazon, and Meta—finalized the AV1 video standard. AV1 was designed as a royalty-free, open-standard video codec capable of delivering roughly 30% better compression efficiency than HEVC (H.265) and 50% better compression than AVC (H.264) at identical visual quality.
However, the initial software decoder published by AOMedia, called libaom (or aomdec), was primarily a reference research tool. It was computationally heavy, consumed significant system memory, and struggled to decode 1080p video in real time on typical laptop CPUs without dropping frames.
Recognizing that AV1 could not succeed without a fast client-side decoder, AOMedia partnered with VideoLAN and developer Jean-Baptiste Kempf to create a brand-new, performance-focused software decoder. Announced in late 2018 and released under the permissive BSD 2-Clause license, the project was named dav1d (a recursive acronym for “dav1d is an AV1 decoder”).
Today, dav1d is the universal software AV1 decoder, adopted across web browsers, operating systems, and media players worldwide. You can explore the project directly on the VideoLAN dav1d portal.
Animation
Decoding AV1 on Apple Silicon
- AV1 BitstreamWebM, MKV, YouTube
- Chip Capability CheckVTIsHardwareDecodeSupported
- M3 / M4 Media EngineHardware VideoToolbox
- M1 / M2 CPU Coresdav1d ARM NEON assembly
- Display OutputMetal / Liquid Retina XDR
Why was a new AV1 decoder necessary: dav1d vs libaom?
When people compare dav1d to AOMedia’s reference decoder libaom, the difference lies in their architectural goals.
Reference decoders like libaom are written in generic, portable C code. Their job is to serve as the definitive benchmark for mathematical compliance with the codec specification. Every variable, transform block, and entropy decode step is written for transparency and debugging rather than execution speed. As a result, running libaom on a multi-core processor causes heavy thread contention, high cache misses, and excessive memory allocation.
dav1d was built with an entirely different philosophy:
- Multi-threaded architecture: While
libaomsuffered from serial processing bottlenecks,dav1dintroduces a sophisticated frame-and-tile threading model. It distributes decoding tasks across all available CPU efficiency and performance cores simultaneously. - Minimal memory footprint:
dav1drequires roughly 30% less random-access memory (RAM) thanlibaom, reducing cache thrashing on mobile and laptop architectures. - 2× to 5× speed advantage: Across benchmark testing on x86 and ARM processors,
dav1dconsistently decodes 10-bit AV1 bitstreams between two and five times faster thanlibaom.
Because of these optimizations, dav1d proved that high-bitrate 4K 60 fps AV1 video could be decoded smoothly in software on modern laptop CPUs even without dedicated hardware decoding chips. For a broader look at modern video compression, read our guide to H.264 vs H.265 vs AV1.
How does dav1d achieve its speed on Apple Silicon?
The primary secret behind dav1d’s performance on Apple Silicon Macs is hand-written assembly optimization using ARM NEON instructions.
When compilers like Clang or GCC translate high-level C code into machine instructions, they do their best to vectorize loops and parallelize arithmetic. However, automated compilers cannot match the efficiency of human engineers who understand the exact instruction pipelines and cache hierarchies of modern processors.
The dav1d development team wrote tens of thousands of lines of dedicated assembly routines targeting ARM NEON single-instruction multiple-data (SIMD) registers. These routines parallelize the heaviest mathematical stages of AV1 decoding:
- Inverse discrete cosine transforms (IDCT): Converting frequency-domain coefficients back into pixel color values across 4×4 to 64×64 block sizes.
- Directional intra-prediction: Reconstructing missing texture data based on neighboring pixels.
- Loop restoration and CDEF: The Constrained Directional Enhancement Filter (CDEF) and Wiener loop restoration filters that remove compression ringing and blocking artifacts along block edges.
On Apple Silicon (M1, M2, M3, and M4 chips), dav1d utilizes the high memory bandwidth and wide execution units of Apple’s Firestorm, Avalanche, and subsequent performance cores to execute these SIMD instructions with maximum throughput.
Which Apple Silicon chips have hardware AV1 vs software dav1d?
A common myth among Mac owners is that all Apple Silicon computers include hardware acceleration for every modern video format. In reality, Apple’s adoption of AV1 hardware decoding occurred in distinct phases:
| Apple Silicon Generation | Hardware AV1 Decode | Role of dav1d | Playback Characteristics |
|---|---|---|---|
| M1, M1 Pro, M1 Max, M1 Ultra | No | 100% Primary Decoder | CPU software decoding; smooth 4K60 via NEON; higher battery drain |
| M2, M2 Pro, M2 Max, M2 Ultra | No | 100% Primary Decoder | CPU software decoding; smooth 4K60 via NEON; higher battery drain |
| M3, M3 Pro, M3 Max | Yes (in Media Engine) | Secondary Fallback | Near-zero CPU utilization; cool running; long battery life |
| M4, M4 Pro, M4 Max | Yes (in Media Engine) | Secondary Fallback | Near-zero CPU utilization; cool running; long battery life |
When Apple launched the original M1 chip in late 2020 and the M2 in 2022, the Apple Media Engine included fixed-function hardware decoders for H.264, HEVC (H.265), and ProRes, but lacked an AV1 hardware block.
If you own an M1 or M2 MacBook Air or MacBook Pro, every single AV1 video you watch—whether on YouTube, Netflix, or local files—is decoded in software by dav1d. Without dav1d’s NEON optimizations, 4K AV1 playback on an M1 Mac would drop frames, heat up the chassis, and drain the battery in less than two hours.
With the launch of the M3 chip family in late 2023, Apple integrated dedicated AV1 hardware decoding into the Media Engine. On M3 and M4 Macs, operating system frameworks like VideoToolbox handle AV1 bitstreams directly on specialized silicon, dropping CPU usage to near zero. However, dav1d remains an essential secondary fallback for non-standard bit depths or profiles that hardware decoders reject.
To learn more about how Apple Silicon handles video on the hardware level, read our breakdown of AV1 on Mac and what is VideoToolbox.
Which video players and software use dav1d?
Because dav1d is licensed under the permissive BSD 2-Clause license, it has been integrated into virtually every major software application that interacts with video:
- Desktop video players: VLC media player (since version 3.0.x and in VLC 4.0), mpv, IINA, MacLC, and Kodi.
- Web browsers: Google Chrome and Chromium-based browsers (Brave, Edge, Opera) and Mozilla Firefox use
dav1das their default software AV1 playback engine across macOS, Windows, and Linux. - Multimedia frameworks: FFmpeg embeds
dav1dvia itslibdav1dwrapper, allowing transcoders and conversion utilities like HandBrake to read AV1 source footage directly. Learn more about FFmpeg’s modular structure in what is FFmpeg.
What to do next
AV1 is rapidly becoming the dominant video compression standard across the web, adopted by YouTube, Netflix, and streaming networks to deliver higher-quality video at lower bandwidths. If you use an M1 or M2 Mac, dav1d is the technology that keeps your playback smooth and responsive.
To experience native AV1 playback on your Mac without configuring browser flags or compiling command-line tools, download MacLC. Whether your Mac uses M1, M2, M3, or M4 silicon, MacLC automatically selects the decoding path to give you smooth playback across your favorite videos.
Questions people ask
What does dav1d stand for?
dav1d is a recursive acronym: "dav1d is an AV1 decoder". It was created by VideoLAN and the Two-OReos team with funding from the Alliance for Open Media.
Does the M1 or M2 Mac have hardware AV1 decoding?
No. Apple did not add hardware AV1 decoding to Apple Silicon until the M3 chip family (late 2023) and subsequent M4 chips. M1 and M2 Macs must decode AV1 entirely in software using decoders like dav1d.
How is dav1d different from libaom?
libaom is the original reference codec created by the Alliance for Open Media to develop the AV1 specification. It prioritizes mathematical correctness and research experimentation over speed. dav1d was built from scratch in assembly for consumer playback performance.
Do I need to install dav1d on my Mac?
No. Video players like MacLC, VLC, and IINA, as well as web browsers like Chrome and Firefox, bundle dav1d directly inside their software.