Low-level wizardry in dav1d
summary
dav1d shows concrete wins: low-level AVX512 work using IceLake/TigerLake cross‑lane shuffles, multiply‑accumulate and cryptographic instructions plus the ferm i2b shuffle yields 3x speedups on key film grain synthesis kernels and about 10% overall vs AVX2; handcrafted SIMD totals 220,000 lines of assembly. A task‑queue threading model works per superblock row, scales on big.LITTLE and ARM/x86, and enables real‑time 720p on most Android devices and multi‑threaded 4K 60 10‑bit HDR software decoding.
AI-written summary · about
chapters (13)
- 0:00Introduction to dav1d
- 1:50Assembly reliance in dav1d
- 2:33Film grain synthesis with SSSE3
- 4:41AVX2 film grain synthesis
- 5:44AVX-512 film grain optimization
- 6:46Instruction set performance gains
- 7:50Single-thread decoding benchmarks
- 8:11Multithreading in dav1d
- 9:53Multithreading frame completion
- 10:35Multithreading scaling results
- 11:16Mobile performance scaling
- 11:58dav1d adoption
- 12:41Future of dav1d and AV1
related talks
23mDecoder Complexity Aware AV1 Encoding Optimization
21mAV1 and ARM
12mIntroducing dav1d, a new AV1 decoder
20mBoosting Video Codec With RISC-V Vector Extension
01h 06mUtilize your CPU power
54mFast C++ by using SIMD Types with Generic Lambdas and Filters
52mAdvanced SIMD Algorithms in Pictures
24mAdvanced SIMD Algorithms in Pictures
