Avaldatud on SVT-AV1 2.0 (Scalable Video Technology AV1) teekonna vÀljaanne koos video kodeerimise ja dekodeerimise rakendustega, mille kiirendamiseks on kasutatud tÀnapÀevaste Intel CPU-de riistvaralist paralleelset töötlemist. Projekt on loodud Intel'i partnerluses Netflixiga eesmÀrgiga saavutada jÔudlus, mis sobib video reekodeerimiseks reaalajas ja videoteenuste jaoks, mis edastavad nÔudmisel videoid (VOD). Praegu arendatakse seda alliansi Open Media (AOMedia) juhtimise all, mis juhib AV1 kodeerimisformaadi arendust. Varasemalt arenes projekt OpenVisualCloud projekti raames, mis arendab ka SVT-HEVC ja SVT-VP9 kodeerijaid. Kood on levitatakse BSD litsentsi all.
SVT-AV1 saab ehitada sĂŒsteemidesse, mis pĂ”hinevad mis tahes arhitektuuridel, mille jaoks on saadaval C99 standardit toetav kompilaator, kuid parim jĂ”udlus saavutatakse x86_64 sĂŒsteemides, kus kasutatakse SIMD-i pĂ”hiseid assembleroptimeerimisi (soovitatav on CPU AVX2 tugi, kuid minimaalselt piisab ka SS2-st). MĂ€lu tarbimine sĂ”ltub kodeerimisel kasutatavate protsessorituumade arvust, mida reguleeritakse valikuga "âlp". AV1 algoritmide keerukuse tĂ”ttu vajab selle formaadi kodeerimine oluliselt rohkem ressursse kui teiste formaatide puhul, mistĂ”ttu ei ole tavapĂ€rast AV1 kodeerijat vĂ”imalik kasutada reaalajas reekodeerimiseks. NĂ€iteks nĂ”uab AV1 projekti tavaline kodeerija 5721, 5869 ja 658 korda rohkem arvutusi vĂ”rreldes x264 ("main" profiil), x264 ("high" profiil) ja libvpx-vp9 kodeerijatega.
Uues SVT-AV1 vÀljaandes on muutused:
- On toimunud ĂŒleminek uuele versioonide numbrite sĂŒsteemile, mille kohaselt muutub esimesine number versioonis igakord, kui API/ABI muutub.
- API-s on tehtud muudatusi, mis on seotud voogude lĂ”pustamise (EOS â End Of Stream) nĂ€idatamise ĂŒlekandega viimases kaadris asemel tĂŒhja kaadri kasutamisele, mis vĂ€listab ootamise viivituse tarbetu kaadri ootamisega. API muudatused on juba peegeldatud FFmpeg'i koodibaasis.
- Kolme lĂ€bimise muudetud muutuv bitimÀÀra reĆŸiim (3-pass VBR) on eemaldatud ja selle asemel kasutatakse nĂŒĂŒd mitme lĂ€bimise VBR mehhanismi. Mitme lĂ€bimise VBR reĆŸiim on vĂ€hendatud kahe lĂ€bimise tĂ€itmiseks, et tagada integreerimine FFmpegiga.
- Kodeerijasse on lisatud optimeerimisi, mille tulemusena on M9-M13 eelseadiste kokkusurumise efektiivsus paranenud 1-4% ja M5 eelseadise mĂ€lu tarbimine vĂ€henenud 20-35% LP 8 reĆŸiimis ja 1-5% teistes reĆŸiimides. ĂlejÀÀnud eelseadistes on mĂ€lu tarbimine vĂ€henenud 1-5%.
- Kvaliteedi/kiiruse kompromisside optimeerimine on lÀbi viidud kÔrge kvaliteeditaseme mÀÀravate eelseadiste jaoks. MR eelseadise, mis pakub referentskvaliteeti, töö on kiirenenud 100% vÔrra.
- Ainult C keeles kirjutatud funktsioonidele on lisatud ARM arhitektuurile spetsiifilised optimeerimised.
Lisaks vĂ”ib mĂ€rkida, et on vĂ€lja antud dav1d 1.4.1 projekt, mille raames arendavad VideoLAN ja FFmpeg alternatiivse avatud AV1 video kodeerimise dekooderi teeki. Dav1d teek toetab kĂ”iki AV1 vĂ”imalusi, sealhulgas pikendatud ala alajaotusi ja kĂ”iki spetsifikatsioonides sĂ€testatud vĂ€rvi sĂŒgavuse juhtimise parameetreid (8, 10 ja 12 bitti). Dav1di pĂ”hijoon on suunatus maksimaalse dekodeerimise jĂ”udluse saavutamisele ja kvaliteetse töö tagamisele mitme lĂ”ime reĆŸiimis. Projekti kood on kirjutatud C keeles (C99) koos assembleri sisestustega (NASM/GAS) ja levitatakse BSD litsentsi all. Toetatud on arhitektuurid x86, x86_64, ARMv7 ja ARMv8 ning operatsioonisĂŒsteemid FreeBSD, Linux, Windows, macOS, Android ja iOS.
Dav1d 1.4 versioon on mĂ€rkimisvÀÀrne uute Loongarch ja RISC-V arhitektuuride toe ning AVX-512 kĂ€skluste baasil lisanduvate optimeerimiste, ARM-sĂŒsteemide 6tap filtrite töö kiirendamise, mitme lĂ”ime töö efektiivsuse tĂ”stmise ja binaarsete andmete suuruse vĂ€hendamisega ARM64, ARM32 ja RISC-V sĂŒsteemides. Tuvastatud haavatavus CVE-2024-1580, mis viis vĂ€ga suurte kaadrisuuruste töötlemisel mĂ€lupiiri vĂ€liselt kirjutamiseni, on kĂ”rvaldatud.
Allikas: opennet.ru
