dav2d este noul decodor AV2 creat de VideoLAN, proiectat să fie mic, portabil și extrem de rapid, similar cu dav1d, dar optimizat pentru noul codec AV2. Deși se află într-un stadiu timpuriu de dezvoltare, proiectul promite să devină referința software pentru decodarea AV2 pe toate platformele.
În acest articol analizăm ce este dav2d, ce oferă, cum se compilează și ce planuri are echipa VideoLAN pentru viitor.
Ce este dav2d și de ce contează
dav2d este un decodor AV2 cross‑platform, open‑source, construit pentru viteză și corectitudine. Proiectul este întreținut de VideoLAN și face parte din inițiativa AOMedia pentru standarde media deschise.
AV2 este succesorul AV1, un codec modern orientat spre eficiență ridicată, dar încă fără suport hardware matur. Aici intervine dav2d: oferă un decodor software rapid, care compensează lipsa accelerării hardware.
Notă importantă: dav2d este un proiect foarte timpuriu și nu este recomandat pentru producție, deoarece specificația AV2 nu este încă finalizată.
Caracteristici principale
✔ Performanță maximă
Scopul principal este atingerea cele mai mari viteze posibile pe toate platformele, inclusiv desktop și mobile.
✔ Suport complet AV2
dav2d va suporta toate funcțiile codec‑ului AV2, inclusiv:
- subeșantionare
- adâncimi de biți variabile
✔ Portabilitate
Proiectul este scris în C pur + ASM, ceea ce permite portarea pe o gamă largă de arhitecturi.
✔ Licență permisivă BSD 2‑clause
Licența permite integrarea în software open‑source sau proprietar, inclusiv drivere sau soluții hibride.
Foaia de parcurs (Roadmap)
VideoLAN are un plan clar pentru dezvoltarea dav2d:
În curs
- Implementare completă în C
- API utilizabil
- Portare pe majoritatea platformelor
Urmează (optimizări ASM)
- AVX2 pentru desktop
- ARMv8 și ARMv7 pentru mobile
- Optimizări pentru adâncimi mari de biți
- Suport pentru arhitecturi rare: PPC, SSE2, RISC‑V, AVX‑512
- Posibilă accelerare GPU
Cum compilezi dav2d
Compilarea este simplă, dar necesită câteva unelte:
Dependențe necesare
- Meson ≥ 0.49
- Ninja
- NASM ≥ 2.14 (pentru x86)
Pași de compilare
- mkdir build && cd build
- meson setup .. –default-library=static
- ninja
Cross‑compiling
Suport pentru:
- Windows 32/64‑bit
- Linux 32‑bit
Generarea documentației
Necesită doxygen + graphviz. meson setup .. -Denable_docs=true ninja doc/html
Testare
Pentru testare:
- Clonezi depozitul dav2d-test-data
- Activezi testele cu -Dtestdata_tests=true
- Rulezi meson test -v
Contribuții și comunitate
VideoLAN caută activ:
- dezvoltatori C
- dezvoltatori ASM
- testeri
- contribuitori la documentație
Comunicarea se face pe IRC, canalul #dav2d de pe Libera.chat.
Nu există CLA — contributorii își păstrează drepturile de autor.
Concluzie
dav2d este un proiect promițător, menit să devină standardul software pentru decodarea AV2. Deși încă în stadiu incipient, roadmap‑ul ambițios și suportul VideoLAN îl transformă într-un proiect de urmărit îndeaproape.
Dacă lucrezi cu video encoding/decoding, AV1, AV2 sau soluții cross‑platform, dav2d merită atenția ta.
