VideoLAN and FFmpeg libdav1d Collaboration
The open-source AV1 video decoder, libdav1d, is the product of a landmark collaboration between VideoLAN and FFmpeg, two of the most influential organizations in the multimedia software ecosystem. Funded by the Alliance for Open Media (AOM), this joint project was launched in 2018 to develop a fast, highly optimized, and cross-platform software decoder for the AV1 video format. This article explains how VideoLAN and FFmpeg combined their technical expertise, resources, and developer communities to create a tool that catalyzed the global adoption of AV1.
The Need for a New AV1 Decoder
When the Alliance for Open Media (AOM) released the royalty-free AV1 video codec, the official reference decoder (libaom) was slow and resource-intensive. For AV1 to succeed in consumer applications, the industry desperately needed a lightweight, highly efficient software decoder capable of real-time playback on consumer hardware without requiring dedicated chips. Recognizing this gap, AOM sponsored VideoLAN and FFmpeg to build a ground-up replacement.
Pooling Developer Expertise
VideoLAN and FFmpeg did not work in isolation; instead, they combined their active developer communities. * Project Governance and Infrastructure: VideoLAN took the lead on hosting the project, providing the Git infrastructure, and managing administrative tasks. Jean-Baptiste Kempf, the president of VideoLAN, helped spearhead the initiative. * Core Code and Assembly Optimization: FFmpeg developers, renowned for their low-level optimization skills, contributed heavily to the codebase. Writers of some of the world’s fastest multimedia assembly code joined the project to write highly optimized assembly language for various CPU architectures.
Technical Strategies for Speed
To achieve the speed requirements of modern video playback, the collaborative team focused on three key areas: * Assembly Optimizations: The developers bypassed high-level languages for critical decoding pathways, writing hand-crafted assembly code for x86 (using AVX2 and AVX-512 instructions) and ARM architectures (using NEON). This allowed the decoder to utilize the full processing power of modern mobile and desktop CPUs. * Advanced Multi-threading: Rather than relying on simple threading models, libdav1d was designed from scratch to support both frame-level and tile-level multi-threading. This allowed the decoding workload to be distributed efficiently across multi-core processors. * Modern Codebase: Written in C99, the code was kept clean, modular, and dependency-free, making it easy to integrate into other software applications.
Impact on the Industry
The collaboration yielded immediate results. Upon release, libdav1d significantly outperformed the original libaom reference decoder while using a fraction of the memory. Today, libdav1d is the default AV1 software decoder used in major web browsers like Google Chrome and Mozilla Firefox, media players like VLC, and operating systems worldwide. The partnership proved that pooling open-source resources can successfully challenge proprietary video standards.