Objavljen je izdanak biblioteke SVT-AV1 2.0 (Skalabilna video tehnologija AV1) s implementacijama enkodera i dekodera formata kodiranja videa AV1, za ubrzanje kojih su korišćene mogućnosti hardverskog paralelizma prisutne u savremenim Intel procesorima. Projekat je stvorila kompanija Intel u partnerstvu sa Netflixom s ciljem postizanja nivoa performansi pogodnog za reenkodiranje videa u realnom vremenu i upotrebu u servisima koji pružaju video na zahtev (VOD). U ovom trenutku razvoj se vodi pod okriljem alijanse Open Media (AOMedia), koja nadgleda razvoj formata kodiranja videa AV1. Prethodno je projekat napredovao unutar projekta OpenVisualCloud, koji takođe razvija enkodere SVT-HEVC i SVT-VP9. Kod se distribuira pod BSD licencom.
SVT-AV1 može biti sastavljen za sisteme zasnovane na bilo kojim arhitekturama koje imaju kompajler koji podržava C99 standard, ali najbolja performansa se postiže na x86_64 sistemima, gde se koriste optimizacije u asembleru bazirane na SIMD instrukcijama (poželjno je da CPU podržava AVX2, ali je minimalno dovoljno i SS2). Potrošnja memorije zavisi od broja procesorskih jezgara uključenih u kodiranje, što se reguliše opcijom "—lp". Zbog složenosti algoritama korišćenih u AV1 formatu, kodiranje ovog formata zahteva znatno više resursa nego drugi formati, što čini nerealan rad sa standardnim AV1 enkoderom za reenkodiranje u realnom vremenu. Na primer, standardni enkoder iz AV1 projekta zahteva 5721, 5869 i 658 puta više proračuna u poređenju sa enkoderima x264 (glavni profil), x264 (visoki profil) i libvpx-vp9.
Među promenama u novom izdanju SVT-AV1:
- Prešao je na novu numeraciju verzija, prema kojoj će se prva cifra u verziji menjati sa svakom izmenom API/ABI.
- Izvršene su izmene u API-ju u vezi sa prelaskom na indikaciju završetka toka (EOS — Kraj toka) u poslednjem okviru umesto korišćenja praznog okvira, što je omogućilo isključenje kašnjenja u očekivanju dodatnog okvira. Izmena API-ja već je odrazila u kodnoj bazi FFmpeg.
- Tri-pass variabilni bit rate (3-pass VBR) režim je odstranjen, namesto njega se zdaj uporablja večprehodni VBR mehanizem. Večprehodni VBR režim je bil zmanjšan na izvajanje dveh prehodov za zagotavljanje integracije z FFmpeg.
- Encoder je bil optimiziran, kar je pripeljalo do povečanja učinkovitosti stiskanja prednastavitev M9-M13 za 1-4%, medtem ko je poraba pomnilnika v prednastavitvi M5 v načinu LP 8 zmanjšana za 20-35% in za 1-5% v drugih načinih. Poraba pomnilnika v drugih prednastavitvah se je zmanjšala za 1-5%.
- Optimizacija kompromisov med kakovostjo/Hitrostjo je bila izvedena za prednastavitve, ki ponujajo visok nivo kakovosti. Delovanje prednastavitve MR, ki zagotavlja referenčno kakovost, je bilo pospešeno za 100%.
- Funkcij, napisanih izključno v jeziku C, so bile dodane optimizacije specifične za arhitekturo ARM.
Dodatno lahko omenimo izdajo projekta dav1d 1.4.1, v okviru katerega skupnosti VideoLAN in FFmpeg razvijata knjižnico, ki implementira alternativni prost dekoder formata kodiranja videa AV1. Knjižnica dav1d podpira vse funkcionalnosti AV1, vključno z razširjenimi vrstami subditeisanja in vsemi v specifikaciji navedenimi parametri za nadzor globine barve (8, 10 in 12 bitov). Ključna značilnost dav1d je usmeritev k doseganju največje možne učinkovitosti dekodiranja in zagotavljanju kakovostnega delovanja v večnitnem režimu. Koda projekta je napisana v jeziku C (C99) z vstavki v assemblerju (NASM/GAS) in se distribuira pod licenco BSD. Podprte so arhitekture x86, x86_64, ARMv7 in ARMv8 ter operacijski sistemi FreeBSD, Linux, Windows, macOS, Android in iOS.
Različica dav1d 1.4 je opazna s podporo novim arhitekturama Loongarch in RISC-V, pa tudi z uporabo dodatnih optimizacij na podlagi AVX-512 ukazov, pospeševanjem delovanja 6tap filtrov na ARM sistemih, povečanjem učinkovitosti večnitnega delovanja in zmanjšanjem velikosti binarnih datotek na ARM64, ARM32 in RISC-V sistemih. Odpravljena je bila ranljivost CVE-2024-1580, ki je privedla do pisanja zunaj meja pomnilnika zaradi prenasičenja celih števil pri obdelavi izredno velikih okvirjev.
Izvor: opennet.ru
