AV2 decode speed: 5 decoders (dav2d, splot, avmdec, rav2d, rusty_av2d) benchmarked on x86 (AVX2) and Arm64 (NEON)
I benchmarked five AV2 decoders, all at their 2 Nov HEAD, on 88 sample streams from 270p to 2048x1080. The machines were an i5-4590 (AVX2) and a Raspberry Pi 4B. Every decode was checked against the reference decoder, avmdec. Only dav2d and splot matched avmdec on all 88 streams; rav2d and rusty_av2d mostly failed or gave wrong output.
On x86, dav2d is fast on 8-bit (2.4x avmdec on one thread) but slower than avmdec on 10-bit (0.63x), because its asm covers 10-bit much less. On the Pi, splot is fastest on one thread, while dav2d's NEON code gives it only about 1.3x over its own C build (about 4.5x for asm on x86). avmdec gets nothing from extra threads on single-tile streams. dav2d and splot get about 2-3.4x on 4 threads. At 1080p, only dav2d on the PC is clearly real-time. The full write-up, raw data and scripts are at the link.
| 1 thread, vs avmdec | 8-bit | 10-bit |
|---|---|---|
| dav2d, PC | 2.44x | 0.63x |
| splot, PC | 1.11x | 0.95x |
| dav2d, Pi | 1.96x | 1.69x |
| splot, Pi | 2.79x | 3.00x |
| 1080p fps, 4 threads | | |
| dav2d, PC | 85 | 27 |
| splot, PC | 42 | 34 |
| avmdec, PC | 14 | 12 |
| splot, Pi | 9 | 9 |
**Full report: github.com/EwoutH/AV2/tree/main/perf/2026-11-02-a…
Decoders:
- avmdec: AVM av2-enc
d953d2e.
- dav2d 9b5d2f6e.
- rav2d 0.4.2 cf41e91.
- rusty_av2d 9c8f6e6.
- splot b682f58.
12 points
Mentions
AV2 decode speed: 5 decoders (dav2d, splot, avmdec, rav2d, rusty_av2d) benchmarked on x86 (AVX2) and Arm64 (NEON) I benchmarked five AV2 decoders, all at their 2 Nov HEAD, on 88 sample streams from 270p to 2048x1080. The machines were an i5-4590 (AVX2) and a Raspberry Pi 4B. Every decode was checked against the reference decoder, avmdec. Only dav2d and splot matched avmdec on all 88 streams; rav2d and rusty_av2d mostly failed or gave wrong output. On x86, dav2d is fast on 8-bit (2.4x avmdec on one thread) but slower than avmdec on 10-bit (0.63x), because its asm covers 10-bit much less. On the Pi, splot is fastest on one thread, while dav2d's NEON code gives it only about 1.3x over its own C build (about 4.5x for asm on x86). avmdec gets nothing from extra threads on single-tile streams. dav2d and splot get about 2-3.4x on 4 threads. At 1080p, only dav2d on the PC is clearly real-time. The full write-up, raw data and scripts are at the link. | 1 thread, vs avmdec | 8-bit | 10-bit | |---|---|---| | dav2d, PC | 2.44x | 0.63x | | splot, PC | 1.11x | 0.95x | | dav2d, Pi | 1.96x | 1.69x | | splot, Pi | 2.79x | 3.00x | | 1080p fps, 4 threads | | | | dav2d, PC | 85 | 27 | | splot, PC | 42 | 34 | | avmdec, PC | 14 | 12 | | splot, Pi | 9 | 9 | **Full report: github.com/EwoutH/AV2/tree/main/perf/2026-11-02-a… Decoders: - avmdec: AVM av2-enc d953d2e. - dav2d 9b5d2f6e. - rav2d 0.4.2 cf41e91. - rusty_av2d 9c8f6e6. - splot b682f58.