rav1e 0.3, AV1 kodētāja Rust izlaišana

notika atbrīvot rav1e 0.3, augstas veiktspējas video kodēšanas formāta kodētājs AV1, ko izstrādājušas Xiph un Mozilla kopienas. Kodētājs ir rakstīts Rust un atšķiras no atsauces libaom kodētāja ar ievērojami palielinātu kodēšanas ātrumu un pastiprinātu uzmanību drošībai. Projekta kods izplata saskaņā ar BSD licenci.

Tiek atbalstītas visas galvenās AV1 funkcijas, tostarp atbalsts
iekšēji un ārēji kodēti kadri (iekšējais и inter-kadri), 64x64 superbloki, 4:2:0, 4:2:2 un 4:4:4 krāsu apakšiztveršana, 8, 10 un 12 bitu krāsu dziļuma kodēšana, RDO (rate-distortion optimization) optimizācijas kropļojumi, dažādi režīmi starpkadru izmaiņu prognozēšanai un transformāciju identificēšanai, plūsmas ātruma kontrolei un ainas saīsināšanas noteikšanai.

AV1 formāts ir pamanāms apsteidz H.264 un VP9 saspiešanas iespēju ziņā, taču tos ieviešošo algoritmu sarežģītības dēļ prasa ievērojami vairāk laika kodēšanai (kodēšanas ātrumā libaom simtiem reižu atpaliek no libvpx-vp9 un tūkstošiem reižu atpaliek no x264).
Rav1e kodētājs piedāvā 11 veiktspējas līmeņus, no kuriem augstākais nodrošina gandrīz reāllaika kodēšanas ātrumu. Kodētājs ir pieejams gan kā komandrindas utilīta, gan kā bibliotēka.

Jaunajā versijā:

  • Tiek piedāvāts ātrāks kodēšanas režīms 10. ātrums;
  • Bināro komplektu lielums ir samazināts (platformā x86_64/Linux bibliotēka aizņem apmēram 3MB);
  • Montāžas laiks samazināts par aptuveni 14%;
  • Pievienots vairāku vītņu filtrs bloku artefaktu noņemšanai no video (debloķēšana);
  • Arhitektūrai x86_64 ir ieviestas papildu optimizācijas, izmantojot SIMD instrukcijas, un ir paplašināta automātiskās vektorizācijas izmantošana;
  • Atmiņas piešķiršanas operāciju skaits ir samazināts par 1/6;
  • RDO (Rate-distortion optimization) ir uzlabota kadra iekšējo kropļojumu slāpēšanas loģika;
  • Dažas darbības ir pārvietotas no peldošā komata aritmētikas uz veselu skaitļu aprēķiniem;
  • Kodēšanas kvalitāte otrajā ātruma līmenī ir uzlabota par 1-2%;
  • Pievienots jauns kustības virziena prognozēšanas filtrs (Intra edge);
  • Pievienota opcija "-S" (--switch-frame-interval), lai noteiktu pārslēgšanās intervālu starp kadriem;
  • Pievienots būvēšanas atbalsts platformai wasm32-wasi (WebAssembly sistēmas interfeiss).

Avots: opennet.ru

Pievieno komentāru