The Relationship Between AV1 and Early VP10

AOMedia Video 1 (AV1) is fundamentally built upon the architectural and source-code baseline of Google's experimental VP10 codec. This article details the structural relationship between the two formats, examining how the early VP10 development directly established the codebase, block partitioning schemes, and frame processing pipelines that formed the foundation of the AV1 standard.

Codebase Foundation and the Genesis of libaom

The structural connection between AV1 and VP10 began at the source-code level. Google was developing VP10 within the open-source libvpx repository as the direct successor to VP9. When the Alliance for Open Media (AOMedia) formed in 2015, Google, Mozilla, Cisco, and other industry partners agreed to pool their intellectual property and experimental technologies into a single royalty-free format.

To jumpstart development, AOMedia adopted Google’s ongoing VP10 project as the structural core. The official AV1 reference repository, libaom, was created by branching the VP10 codebase out of libvpx. As a result, early iterations of AV1 were functionally identical to VP10, carrying forward its architectural conventions, bitstream layout, and algorithmic design patterns.

Block Partitioning and Superblock Structure

AV1's spatial division framework is a direct evolution of VP10's experimental partition trees. VP9 was limited to a 64x64 superblock hierarchy with limited partition options (split, horizontal, vertical). Early VP10 introduced experiments that expanded the maximum superblock size to 128x128 pixels to better handle high-resolution 4K and 8K content.

Furthermore, VP10 experimented with recursive partitioning trees that introduced non-square, rectangular partition modes, including 1:4 and 4:1 aspect ratios, as well as T-shaped partitions. AV1 integrated this exact expanded tree hierarchy from VP10, making VP10's experimental partitioning mechanics the core organizational structure for how AV1 segments picture data.

Prediction Mechanics and Motion Vectors

The core intra- and inter-frame prediction architecture of AV1 originated in early VP10 research. VP10 sought to dramatically expand directional intra-prediction beyond the 10 basic modes of VP9, introducing fine-grained angle deltas that allowed intra-modes to match complex edges closely.

In inter-frame prediction, early VP10 laid the structural framework for advanced compound prediction—combining two reference blocks using flexible weightings rather than simple averaging. Techniques such as wedge-based prediction, smooth blending, and expanded reference frame buffers (increasing the active reference frames from three to seven) were prototyped in VP10 before being finalized within AV1.

Integration Point for External Technologies

While VP10 served as the primary skeleton, its structural framework was designed to be modular enough to ingest complementary technologies from other member codecs, specifically Mozilla's Daala and Cisco's Thor:

AV1 did not replace VP10; rather, AV1 represents the finalized, multi-party evolution of the VP10 baseline. Early VP10 provided the frame logic, software skeleton, and algorithmic backbone that enabled subsequent modern coding tools to be integrated into an interoperable standard.