Objavljeno je izdanje biblioteke SVT-AV1 2.0 (Scalable Video Technology AV1) s implementacijama kodera i dekodera AV1 formata video kodiranja. Projekt je kreirao Intel u partnerstvu s Netflixom kako bi se postigla razina performansi prikladna za on-the-fly transkodiranje videa i korištenje u uslugama videa na zahtjev (VOD). Trenutačno se razvoj odvija pod pokroviteljstvom Open Media Alliance (AOMedia), koja nadzire razvoj AV1 formata video kodiranja. Prethodno je projekt razvijen u okviru projekta OpenVisualCloud koji također razvija SVT-HEVC i SVT-VP9 kodere. Kod se distribuira pod BSD licencom.
SVT-AV1 se može sastaviti za sustave bazirane na bilo kojoj arhitekturi za koju postoji kompajler koji podržava C99 standard, ali najbolje performanse se postižu na x86_64 sustavima, za koje se koriste optimizacije asemblera temeljene na SIMD instrukcijama (poželjno je imati AVX2 podrška u CPU, ali kao minimum dovoljan je i SS2). Potrošnja memorije ovisi o broju procesorskih jezgri koje se koriste tijekom kodiranja, a regulira se opcijom “-lp”. Zbog složenosti algoritama koji se koriste u AV1, kodiranje ovog formata zahtijeva značajno više resursa od ostalih formata, što ne dopušta korištenje standardnog AV1 kodera za transkodiranje u stvarnom vremenu. Na primjer, standardni koder iz projekta AV1 zahtijeva 5721, 5869 i 658 puta više izračuna u usporedbi s koderima x264 ("glavni" profil), x264 ("visoki" profil) i libvpx-vp9.
Među promjenama u novom izdanju SVT-AV1:
- Izvršen je prijelaz na novu numeraciju verzije, prema kojoj će se prva znamenka u verziji mijenjati sa svakom promjenom API-ja/ABI-ja.
- Promjene su napravljene u API-ju koje se odnose na prijelaz na indikaciju kraja streama (EOS - End Of Stream) u zadnjem okviru umjesto korištenja praznog okvira, čime je eliminirano kašnjenje u čekanju dodatnog okvira. Promjena API-ja već se odražava u bazi koda FFmpeg.
- Troprolazni način promjenjive brzine prijenosa (3-prolazni VBR) je uklonjen i sada je zamijenjen višeprolaznim VBR mehanizmom. VBR način rada s više prolaza smanjen je na dva prolaza kako bi se osigurala integracija s FFmpeg.
- Koderu su dodane optimizacije, zbog čega se učinkovitost kompresije M9-M13 unaprijed postavljenih postavki povećala za 1-4%, a potrošnja memorije M5 unaprijed postavljenih postavki smanjena je za 20-35% u LP 8 načinu rada i za 1-5% u drugim načinima. Potrošnja memorije u drugim unaprijed postavljenim postavkama smanjena je za 1-5%.
- Optimizacija kompromisa kvalitete/brzine provedena je za unaprijed postavljene postavke koje postavljaju visoku razinu kvalitete. Prethodno postavljena MR referentna kvaliteta ubrzana je za 100%.
- Funkcijama samo za C dodane su optimizacije specifične za ARM.
Dodatno, možemo istaknuti izlazak projekta dav1d 1.4.1, u sklopu kojeg VideoLAN i FFmpeg zajednice razvijaju biblioteku s implementacijom alternativnog besplatnog dekodera za AV1 format video kodiranja. Biblioteka dav1d podržava sve značajke AV1, uključujući napredne vrste poduzorkovanja i sve parametre kontrole dubine boje navedene u specifikaciji (8, 10 i 12 bita). Ključna značajka dav1d-a je njegova usredotočenost na postizanje najvećih mogućih performansi dekodiranja i osiguravanje visokokvalitetnog rada u višenitnom načinu rada. Projektni kod je napisan u C-u (C99) sa sklopovskim umetcima (NASM/GAS) i distribuira se pod BSD licencom. Implementirana je podrška za x86, x86_64, ARMv7 i ARMv8 arhitekture, te operativne sustave FreeBSD, Linux, Windows, macOS, Android i iOS.
Verzija dav1d 1.4 poznata je po podršci za nove arhitekture Loongarch i RISC-V, kao i po uvođenju dodatnih optimizacija temeljenih na uputama AVX-512, ubrzanju rada filtara od 6 dodira na ARM sustavima, povećanju učinkovitosti rada s više niti i smanjenju veličina binarnih podataka na ARM64, ARM32 i RISC-sustavima V. Ispravljena je ranjivost CVE-2024-1580, koja je uzrokovala pisanje izvan granica zbog prekoračenja cijelog broja prilikom obrade vrlo velikih okvira.
Izvor: opennet.ru
