Ukukhishwa kwe-rav1e 0.3, i-AV1 encoder in Rust

kwenzeka ukukhululwa i-rav1e 0.3, isifaki khodi sefomethi yekhodi yevidiyo esebenza kahle kakhulu AV1, ithuthukiswe imiphakathi yakwa-Xiph ne-Mozilla. Isifaki khodi sibhalwe nge-Rust futhi siyahluka kusishumeki se-libaom esiyinkomba ngokukhuphula kakhulu isivinini sombhalo wekhodi nokwandisa ukunaka kokuphepha. Ikhodi yephrojekthi isatshalaliswa ngu ngaphansi kwelayisensi ye-BSD.

Zonke izici ezinkulu ze-AV1 ziyasekelwa, okuhlanganisa nokusekela
ozimele abafakwe ikhodi ngaphakathi nangaphandle (ngaphakathi- ΠΈ phakathi-ozimele), 64x64 superblocks, 4:2:0, 4:2:2 kanye 4:4:4 chroma subsampling, 8-, 10- kanye no-12-bit wombhalo wekhodi ukujula kombala, i-RDO (I-Rate-distortion optimization) ukuhlanekezela kokuthuthukisa, izindlela ezahlukahlukene zokubikezela izinguquko ze-interframe nokuhlonza ukuguqulwa, ukulawula izinga lokugeleza kanye nokubona ukuncishiswa kwesigcawu.

Ifomethi ye-AV1 iyabonakala ukuphuma I-H.264 ne-VP9 ngokwamandla okucindezela, kodwa ngenxa yobunkimbinkimbi be-algorithms ewasebenzisayo kudinga isikhathi esiningi kakhulu sombhalo wekhodi (ngesivinini sombhalo wekhodi, i-libaom ingemuva kwe-libvpx-vp9 izikhathi ezingamakhulu, nezinkulungwane zezikhathi ngemuva kwe-x264).
Isifaki khodi se-rav1e sinikeza amazinga okusebenza angu-11, aphezulu kakhulu aletha eduze nezivinini zombhalo wekhodi zesikhathi sangempela. Isishumeki siyatholakala kokubili njengesisetshenziswa somugqa womyalo nanjengelabhulali.

Enguqulweni entsha:

  • Kuphakanyiswe imodi yombhalo wekhodi esheshayo Ijubane le-10;
  • Usayizi wokuhlanganisa kanambambili uncishisiwe (kwiplathifomu ye-x86_64/Linux umtapo wezincwadi uthatha cishe u-3MB);
  • Isikhathi somhlangano sehliswe cishe ngama-14%;
  • Kwengezwe isihlungi esinemicu eminingi sokususa ama-block artifacts kuvidiyo (deblocking);
  • Ngokwakhiwa kwe-x86_64, ukulungiselelwa okwengeziwe kwenziwe kusetshenziswa imiyalelo ye-SIMD futhi ukusetshenziswa kwe-auto-vectorization kunwetshiwe;
  • Inani lemisebenzi yokwabiwa kwenkumbulo yehliswe ngo-1/6;
  • Ku-RDO (Ukuthuthukiswa Kokuhlanekezela Kwesilinganiso), ingqondo yokucindezela ukuhlanekezela kwe-intra-frame ithuthukisiwe;
  • Eminye imisebenzi isusiwe ekusebenziseni i-arithmetic yephoyinti elintantayo yayiswa ekubalweni okuphelele;
  • Ikhwalithi yombhalo wekhodi ezingeni lesibili lejubane ithuthukiswe ngo-1-2%;
  • Kwengezwe isihlungi esisha sokubikezela isiqondiso sokunyakaza (Intra edge);
  • Inketho eyengeziwe "-S" (--switch-frame-interval) ukuze kunqunywe isikhawu sokushintsha phakathi kwamafreyimu;
  • Kwengezwe ukusekelwa kokwakha kweplathifomu ye-wam32-wasi (WebAssembly System Interface).

Source: opennet.ru

Engeza amazwana