AV2? I haven’t finished AV1 yet! 😫
The problem with new video formats is their performance requirements as that they generally assume playback via dedicated hardware. The catch is that it often takes years before such decoders appear in GPUs and processors, leaving all devices purchased before then without support.
This is one thing that’s kind of frustrating about laptops. With desktops, you can stick in a new GPU. With laptops, maybe you can do an eGPU, but generally you’re stuck with whatever the thing originally shipped with.
Sure, you get some other benefits from buying a new laptop, but the rate of CPU performance increase has fallen off a lot, and now GPUs are the thing that are advancing quickly. A CPU upgrade used to be the primary reason to get a new computer. Throwing out a whole computer if you’re basically fine with it other than wanting a more powerful GPU is kind of a bummer.
AV1 playback can get pretty choppy on a Core 2 Duo. Is the AV2 decoder even more efficient?
Dav2d has the same goal—to be the fastest possible solution for AV2 playback and to bridge the years during which hardware decoders will be unavailable or uncommon in PCs. At the same time, the decoder is intended to be optimized for high performance on both the newest and older processors. Developers will initially focus on performance for current x86 processors supporting AVX2—such as all Ryzen CPUs and Intel Core 4th-generation and newer (in this sense, targeting AVX means usage of these instructions as well as older instruction sets supported on the relevant CPUs)—and newer Arm processors based on ARMv8 (or ARMv9), meaning smartphones are Dav2d’s target as well.
Once that is done, work will move on to code paths optimized for older processors—targeting cores that support SSSE3, which means Intel Core 2 and newer processors up through Sandy Bridge and Ivy Bridge (as well as various SoCs based on Atom-line cores through the Tremont architecture). On AMD’s side, this includes Bulldozer, Piledriver, Steamroller, Jaguar, and technically even Bobcat cores.
With lower priority, Dav2d also plans to explore optimizations for 32-bit ARM cores (ARMv7) and eventually, if resources permit, IBM Power/PowerPC, RISC-V, and very old x86 processors lacking SSSE3 support—which in practice mainly means various AMD Phenom and Athlon II chips based on the K10 architecture. Their architecture tops out at SSE3 but lacks SSSE3, or “Supplemental SSE3,” which was introduced in Core 2 processors and (unfortunately fo K10) includes several instructions highly important for multimedia SIMD code, such as PSHUFB.
These now rarely used, obsolete, or exotic processors are among the lowest priority items on the roadmap. Ironically, AVX-512 optimizations are also similarly low on the to do list. That is likely due to a combination of AVX-512’s limited historical market penetration and the assumption that any processors supporting AVX-512 will probably have enough excess performance even when relying just on AVX2.
So, eventually… which is pretty cool. I’ve got a C2D I could repurpose, as well as some raspberry pi ARMv7’s.


