De frijlitting fan 'e SVT-AV1 2.0-bibleteek (Scalable Video Technology AV1) is publisearre mei ymplemintaasjes fan' e encoder en decoder fan 'e AV1-fideokodearringsformaat, foar fersnelling wêrfan de middels fan hardware parallele computing oanwêzich yn moderne Intel CPU's wurde brûkt. It projekt is makke troch Intel yn gearwurking mei Netflix mei it doel om in nivo fan prestaasjes te berikken dat geskikt is foar on-the-fly video transcoding en gebrûk yn video-on-demand (VOD) tsjinsten. Op it stuit wurdt ûntwikkeling útfierd ûnder auspysjes fan 'e Open Media Alliance (AOMedia), dy't tafersjoch hâldt op de ûntwikkeling fan it AV1-fideokodearringsformaat. Earder waard it projekt ûntwikkele yn it ramt fan it OpenVisualCloud-projekt, dat ek de SVT-HEVC- en SVT-VP9-encoders ûntwikkelet. De koade wurdt ferspraat ûnder de BSD-lisinsje.
SVT-AV1 kin wurde gearstald foar systemen basearre op elke arsjitektuer wêrfoar d'r in kompilator is dy't de C99-standert stipet, mar de bêste prestaasje wurdt berikt op x86_64-systemen, wêrfoar montageoptimisaasjes basearre op SIMD-ynstruksjes wurde brûkt (it is winsklik om te hawwen AVX2 stipe yn de CPU, mar as it minimum is genôch en SS2). Unthâldferbrûk hinget ôf fan it oantal prosessorkearnen dat wurdt brûkt by kodearring, regele troch de opsje "-lp". Troch de kompleksiteit fan 'e algoritmen brûkt yn AV1, fereasket kodearring fan dit formaat signifikant mear boarnen dan oare formaten, wat it gebrûk fan' e standert AV1-kodearder net tastean foar real-time transkodearjen. Bygelyks, de stock encoder út it AV1 projekt fereasket 5721, 5869 en 658 kear mear berekkeningen yn ferliking mei de x264 ("haad" profyl), x264 ("hege" profyl) en libvpx-vp9 encoders.
Under de feroaringen yn 'e nije SVT-AV1-release:
- In oergong is makke nei in nije ferzjenûmering, neffens dêr't it earste sifer yn 'e ferzje sil feroarje mei elke API / ABI feroaring.
- Feroarings binne makke oan de API yn ferbân mei de oergong nei it ein fan stream yndikaasje (EOS - End Of Stream) yn it lêste frame ynstee fan it brûken fan in leech frame, dy't eliminearre de fertraging yn it wachtsjen op in ekstra frame. De API-feroaring wurdt al wjerspegele yn 'e FFmpeg-koadebase.
- De trije-pass fariabele bitrate modus (3-pass VBR) is fuortsmiten, en wurdt no ferfongen troch in multi-pass VBR meganisme. VBR multi-pass modus is redusearre nei twa passes om yntegraasje mei FFmpeg te garandearjen.
- Optimisaasjes binne tafoege oan 'e encoder, wêrtroch't de kompresje-effisjinsje fan' e M9-M13-presets is ferhege mei 1-4%, en it ûnthâldferbrûk fan 'e M5-preset is ôfnommen mei 20-35% yn LP 8-modus en mei 1-5% yn oare modi. Unthâldferbrûk yn oare presets fermindere mei 1-5%.
- Optimalisaasje fan kompromissen foar kwaliteit / snelheid is útfierd foar presets dy't in heech nivo fan kwaliteit ynstelle. De MR-preset foar referinsjekwaliteit is mei 100% fersneld.
- ARM-spesifike optimisaasjes binne tafoege oan C-allinich funksjes.
Derneist kinne wy de frijlitting fan it dav1d 1.4.1-projekt opmerke, wêryn't de VideoLAN- en FFmpeg-mienskippen in bibleteek ûntwikkelje mei de ymplemintaasje fan in alternative fergese dekoder foar it AV1-fideokodearringsformaat. De bibleteek dav1d stipet alle funksjes fan AV1, ynklusyf avansearre soarten subsampling en alle parameters foar kontrôle fan kleurdjipte oanjûn yn 'e spesifikaasje (8, 10 en 12 bits). De kaaifunksje fan dav1d is har fokus op it berikken fan de heechst mooglike dekodearjende prestaasjes en it garandearjen fan wurk fan hege kwaliteit yn multi-threaded modus. De projektkoade is skreaun yn C (C99) mei assemblage-ynfoegingen (NASM / GAS) en wurdt ferspraat ûnder de BSD-lisinsje. Stipe foar x86, x86_64, ARMv7 en ARMv8-arsjitektueren, en bestjoeringssystemen FreeBSD, Linux, Windows, macOS, Android en iOS is ymplementearre.
Ferzje dav1d 1.4 is opmerklik foar it stypjen fan de nije Loongarch- en RISC-V-arsjitektueren, lykas it ynfieren fan ekstra optimisaasjes basearre op AVX-512-ynstruksjes, it fersnellen fan de wurking fan 6tap-filters op ARM-systemen, it fergrutsjen fan de effisjinsje fan multi-threaded wurk en it ferminderjen fan de grutte fan binêre gegevens op ARM64, ARM32 en RISC-systemen V. Fêste kwetsberens CVE-2024-1580, dy't in skriuw bûten de grinzen feroarsake troch in heule getal oerstreaming by it ferwurkjen fan heul grutte framegrutte.
Boarne: opennet.ru
