Izdanje rav1e 0.3, AV1 enkodera u Rustu

održan pustiti rav1e 0.3, koder formata video kodiranja visokih performansi AV1, koju su razvile Xiph i Mozilla zajednice. Enkoder je napisan u Rust-u i razlikuje se od referentnog libaom enkodera po značajnom povećanju brzine kodiranja i povećanju pažnje na sigurnost. Šifra projekta distribuira pod BSD licencom.

Sve glavne AV1 funkcije su podržane, uključujući podršku
interno i eksterno kodirani okviri (unutar- и Inter-okviri), 64x64 superblokova, 4:2:0, 4:2:2 i 4:4:4 hroma subsampling, 8-, 10- i 12-bitno kodiranje dubine boje, RDO (Rate-Distortion optimization) optimizacija izobličenja, različiti načini za predviđanje promjena međukadra i identifikaciju transformacija, kontrolu brzine protoka i otkrivanje skraćenja scene.

AV1 format je primjetan nadmašuje H.264 i VP9 u smislu mogućnosti kompresije, ali zbog složenosti algoritama koji ih implementiraju to zahtijeva znatno više vremena za kodiranje (u brzini kodiranja, libaom je stotinama puta iza libvpx-vp9 i hiljadama puta iza x264).
Rav1e enkoder nudi 11 nivoa performansi, od kojih najviši daje brzine kodiranja u realnom vremenu. Koder je dostupan i kao pomoćni program komandne linije i kao biblioteka.

U novoj verziji:

  • Predložen je brži način kodiranja Brzina 10;
  • Veličina binarnih sklopova je smanjena (na x86_64/Linux platformi biblioteka zauzima oko 3MB);
  • Vrijeme montaže smanjeno za približno 14%;
  • Dodan višenitni filter za uklanjanje blok artefakata iz videa (deblokiranje);
  • Za arhitekturu x86_64 implementirane su dodatne optimizacije pomoću SIMD instrukcija i proširena je upotreba auto-vektorizacije;
  • Broj operacija dodjele memorije je smanjen za 1/6;
  • U RDO (Rate-Distortion optimization), logika za suzbijanje izobličenja unutar okvira je poboljšana;
  • Neke operacije su prebačene sa upotrebe aritmetike s pomičnim zarezom na cjelobrojne proračune;
  • Kvalitet kodiranja na drugom nivou brzine je poboljšan za 1-2%;
  • Dodano novi filter za predviđanje smjera kretanja (Intra edge);
  • Dodata opcija "-S" (--switch-frame-interval) za određivanje intervala prebacivanja između okvira;
  • Dodata podrška za izgradnju platforme wasm32-wasi (WebAssembly System Interface).

izvor: opennet.ru

Dodajte komentar