Ukukhishwa komtapo wezincwadi we-SVT-AV1 2.0 (Scalable Video Technology AV1) kushicilelwe ngokusetshenziswa kwesishumeki nesikhiphi sefomethi yombhalo wekhodi wevidiyo ye-AV1, ukuze kusheshiswe izindlela zehardware parallel computing ekhona kuma-Intel CPUs esimanjemanje. Le phrojekthi idalwe ngabakwa-Intel ngokubambisana ne-Netflix ngenhloso yokufinyelela izinga lokusebenza elifanele ukudluliswa kwekhodi kwevidiyo lapho undiza futhi isetshenziswe kumasevisi wevidiyo-on-demand (VOD). Njengamanje, ukuthuthukiswa kwenziwa ngaphansi kwe-Open Media Alliance (AOMedia), eyengamele ukuthuthukiswa kwefomethi yombhalo wevidiyo we-AV1. Ngaphambilini, iphrojekthi yathuthukiswa ngaphakathi kohlaka lwephrojekthi ye-OpenVisualCloud, ephinde ithuthukise izifaki khodi ze-SVT-HEVC kanye ne-SVT-VP9. Ikhodi isatshalaliswa ngaphansi kwelayisensi ye-BSD.
I-SVT-AV1 ingaqoqelwa amasistimu asuselwe kunoma isiphi isakhiwo okukhona kuso isihlanganisi esisekela izinga le-C99, kodwa ukusebenza kahle kakhulu kufinyelelwa ezinhlelweni ze-x86_64, lapho kusetshenziswa khona ukulungiselelwa komhlangano okusekelwe emiyalweni ye-SIMD (kuyathandeka ukuba Ukusekelwa kwe-AVX2 ku-CPU, kodwa njengoba ubuncane banele kanye ne-SS2). Ukusetshenziswa kwememori kuncike enanini lama-processor cores asetshenziswa ngesikhathi sombhalo wekhodi, alawulwa inketho ethi "-lp". Ngenxa yobunkimbinkimbi bama-algorithms asetshenziswa ku-AV1, ukubhala ngekhodi le fomethi kudinga izinsiza eziningi kakhulu kunamanye amafomethi, okungakuvumeli ukusetshenziswa kwesishumeki se-AV1 esijwayelekile sokudlulisa amakhodi ngesikhathi sangempela. Isibonelo, isifaki khodi sesitoko esivela kuphrojekthi ye-AV1 sidinga izibalo eziphindwe izikhathi ezingu-5721, 5869 nezingu-658 uma kuqhathaniswa nezishumeki ze-x264 ("eziyinhloko"), i-x264 ("ephezulu") nezishumeki ze-libvpx-vp9.
Phakathi kwezinguquko ekukhishweni okusha kwe-SVT-AV1:
- Ushintsho lwenziwe enguqulweni entsha yezinombolo, ngokuya ngokuthi idijithi yokuqala enguqulweni izoshintsha ngoshintsho ngalunye lwe-API/ABI.
- Izinguquko zenziwe ku-API ezihlobene nokudlulela ekupheleni kwenkomba yokusakaza (EOS - End Of Stream) kuhlaka lokugcina esikhundleni sokusebenzisa uhlaka olungenalutho, olususe ukubambezeleka kokulinda uhlaka olwengeziwe. Ushintsho lwe-API seluvele lubonisiwe ku-FFmpeg codebase.
- Imodi ye-bitrate eguquguqukayo enamaphasi amathathu (3-pass VBR) isusiwe, futhi manje isithathelwa indawo umshini we-VBR onamaphasi amaningi. Imodi yokudlula okuningi ye-VBR yehlisiwe yaba amaphasi amabili ukuze kuqinisekiswe ukuhlanganiswa ne-FFmpeg.
- Ukuthuthukiswa kungeziwe kusishumeki, ngenxa yalokho ukusebenza kahle kokucindezela kwe-M9-M13 kukhuphuke ngo-1-4%, futhi ukusetshenziswa kwenkumbulo ye-M5 preset yehle ngo-20-35% kumodi ye-LP 8 futhi ngo-1-5% kwezinye izindlela. Ukusetshenziswa kwememori kokunye okusethiwe kwehle ngo-1-5%.
- Ukuthuthukisa ikhwalithi/isivinini sokuthopha sekwenziwe ekusethweni kwangaphambili okusetha izinga eliphezulu lekhwalithi. Ikhwalithi yereferensi yokusetha ngaphambilini ye-MR isheshiswe ngo-100%.
- Ukulungiselelwa okuqondene ne-ARM kwengezwe emisebenzini ebhalwe ku-C kuphela.
Ukwengeza, singaqaphela ukukhishwa kwephrojekthi ye-dav1d 1.4.1, lapho imiphakathi ye-VideoLAN kanye ne-FFmpeg yakha umtapo wolwazi ngokusebenzisa enye idikhoda yamahhala yefomethi yombhalo wekhodi we-AV1. Umtapo wezincwadi we-dav1d usekela zonke izici ze-AV1, okuhlanganisa izinhlobo ezithuthukisiwe zamasampula amancane nawo wonke amapharamitha okulawula ukujula kombala ashiwo ekucacisweni (8, 10 kanye no-12 bits). Isici esibalulekile se-dav1d ukugxila kwayo ekufinyeleleni ukusebenza kokukhipha amakhodi okuphezulu kakhulu nokuqinisekisa umsebenzi wekhwalithi ephezulu ngemodi enemicu eminingi. Ikhodi yephrojekthi ibhalwe ngo-C (C99) nokufaka okuhlanganisiwe (NASM/GAS) futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD. Ukusekelwa kwezakhiwo ze-x86, x86_64, ARMv7 kanye ne-ARMv8, nezinhlelo zokusebenza i-FreeBSD, Linux, Windows, macOS, Android ne-iOS sekwenziwe.
Inguqulo ye-dav1d 1.4 iyaphawuleka ngokusekela izakhiwo ezintsha ze-Loongarch ne-RISC-V, kanye nokwethula ukulungiswa okwengeziwe okusekelwe emiyalweni ye-AVX-512, ukusheshisa ukusebenza kwezihlungi ze-6tap ezinhlelweni ze-ARM, okwandisa ukusebenza kahle komsebenzi onemicu eminingi kanye nokunciphisa usayizi wedatha kanambambili ku-ARM64, ARM32 kanye ne-RISC-systems V. Ukuba sengozini okugxilile kwe-CVE-2024-1580, okubangele ukubhala ngaphandle kwemingcele ngenxa yokuchichima okuphelele lapho kucutshungulwa osayizi bozimele abakhulu kakhulu.
Source: opennet.ru
