Izdanje SVT-AV1 2.0 kodera i dav1d 1.4 dekodera za AV1 video format

Objavljeno je izdanje biblioteke SVT-AV1 2.0 (Scalable Video Technology AV1) sa implementacijama enkodera i dekodera AV1 formata kodiranja videa, za čije ubrzanje se koriste sredstva hardverskog paralelnog računarstva prisutna u modernim Intel CPU-ima. Projekat je kreirao Intel u partnerstvu sa Netflixom sa ciljem postizanja nivoa performansi pogodnog za transkodiranje videa u letu i korišćenje u video-on-demand (VOD) uslugama. Trenutno se razvoj odvija pod pokroviteljstvom Open Media Alliance (AOMedia), koji nadgleda razvoj formata AV1 video kodiranja. Ranije je projekat razvijen u okviru OpenVisualCloud projekta, koji takođe razvija SVT-HEVC i SVT-VP9 enkodere. Kod se distribuira pod BSD licencom.

SVT-AV1 se može sklopiti za sisteme zasnovane na bilo kojoj arhitekturi za koje postoji kompajler koji podržava C99 standard, ali najbolje performanse se postižu na x86_64 sistemima, za koje se koriste optimizacije montaže na osnovu SIMD instrukcija (poželjno je imati AVX2 podrška u CPU-u, ali kao minimum je dovoljan i SS2). Potrošnja memorije zavisi od broja procesorskih jezgara koji se koriste tokom kodiranja, što je regulisano opcijom “-lp”. Zbog složenosti algoritama koji se koriste u AV1, kodiranje ovog formata zahtijeva znatno više resursa od ostalih formata, što ne dozvoljava korištenje standardnog AV1 kodera za transkodiranje u realnom vremenu. Na primjer, standardni koder iz AV1 projekta zahtijeva 5721, 5869 i 658 puta više proračuna u poređenju sa koderima x264 ("glavni" profil), x264 ("visoki" profil) i libvpx-vp9 enkoderima.

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/ABI-ja.
  • Urađene su izmjene u API-ju koje se odnose na prelazak na indikaciju kraja toka (EOS - End Of Stream) u posljednjem okviru umjesto korištenja praznog okvira, čime je eliminisano kašnjenje u čekanju na dodatni okvir. Promjena API-ja se već odražava u FFmpeg kodnoj bazi.
  • Troprolazni režim varijabilnog bitrate-a (3-pass VBR) je uklonjen, a sada je zamijenjen višeprolaznim VBR mehanizmom. VBR multi-pass mod je smanjen na dva prolaza kako bi se osigurala integracija sa FFmpeg.
  • Dodane su optimizacije koderu, zbog čega je efikasnost kompresije M9-M13 preseta povećana za 1-4%, a potrošnja memorije M5 preseta je smanjena za 20-35% u LP 8 modu i za 1-5% u drugim režimima. Potrošnja memorije u drugim postavkama smanjena je za 1-5%.
  • Optimizacija kompromisa kvaliteta/brzine je izvršena za unapred podešene postavke koje postavljaju visok nivo kvaliteta. Preset MR referentnog kvaliteta je ubrzan za 100%.
  • Optimizacije specifične za ARM dodane su funkcijama samo za C.

Osim toga, možemo primijetiti izdavanje projekta dav1d 1.4.1, u okviru kojeg zajednice VideoLAN i FFmpeg razvijaju biblioteku s implementacijom alternativnog besplatnog dekodera za format AV1 video kodiranja. Biblioteka dav1d podržava sve karakteristike AV1, uključujući napredne tipove poduzorkovanja i sve parametre kontrole dubine boje navedene u specifikaciji (8, 10 i 12 bita). Ključna karakteristika dav1d je njegov fokus na postizanje najviših mogućih performansi dekodiranja i osiguravanje visokog kvaliteta rada u višenitnom načinu rada. Kod projekta je napisan u C (C99) sa montažnim umetcima (NASM/GAS) i distribuira se pod BSD licencom. Implementirana je podrška za x86, x86_64, ARMv7 i ARMv8 arhitekture i operativne sisteme FreeBSD, Linux, Windows, macOS, Android i iOS.

Verzija dav1d 1.4 je prepoznatljiva po podršci za nove Loongarch i RISC-V arhitekture, kao i po uvođenju dodatnih optimizacija zasnovanih na AVX-512 instrukcijama, ubrzanju rada 6 tap filtera na ARM sistemima, povećanju efikasnosti višenitnog rada i smanjenju veličina binarnih podataka na ARM64, ARM32 i RISC sistemima V. Ispravljena ranjivost CVE-2024-1580, koja je uzrokovala upisivanje izvan granica zbog prekoračenja cijelog broja pri obradi vrlo velikih veličina okvira.

izvor: opennet.ru

Dodajte komentar