A rav1e 0.3 kiadása, egy AV1 kódoló Rustban

került sor kérdés rav1e 0.3, egy nagy teljesítményű videó kódoló formátumú kódoló AV1, amelyet a Xiph és a Mozilla közösségek fejlesztettek ki. A kódoló Rust nyelven íródott, és abban különbözik a referencia libaom kódolótól, hogy jelentősen megnöveli a kódolási sebességet és fokozott figyelmet fordít a biztonságra. Projekt kód forgalmazza a BSD licenc alatt.

Az összes fő AV1 funkció támogatott, beleértve a támogatást is
belső és külső kódolású képkockák (intra- и inter-kockák), 64x64 szuperblokkok, 4:2:0, 4:2:2 és 4:4:4 színmintavételezés, 8, 10 és 12 bites színmélység kódolás, RDO (Rate-torzítás optimalizálás) optimalizáló torzítás, különböző módok a keretek közötti változások előrejelzésére és a transzformációk azonosítására, az áramlási sebesség szabályozására és a jelenet csonkolásának észlelésére.

AV1 formátum észrevehető meghaladja H.264 és VP9 a tömörítési képességek szempontjából, de az ezeket megvalósító algoritmusok összetettsége miatt megköveteli, lényegesen több idő a kódolásra (kódolási sebességben a libaom több százszor lemarad a libvpx-vp9, és több ezerszer az x264 mögött).
A rav1e kódoló 11 teljesítményszintet kínál, amelyek közül a legmagasabb szinte valós idejű kódolási sebességet biztosít. A kódoló parancssori segédprogramként és könyvtárként is elérhető.

Az új verzióban:

  • Gyorsabb kódolási mód javasolt Sebesség 10;
  • A bináris összeállítások mérete csökkent (x86_64/Linux platformon a könyvtár körülbelül 3 MB-ot foglal el);
  • Az összeszerelési idő körülbelül 14%-kal csökkent;
  • Hozzáadott többszálú szűrő a blokk-műtermékek eltávolításához a videóból (deblocking);
  • Az x86_64 architektúra esetében további optimalizálásokat hajtottak végre a SIMD utasítások segítségével, és kibővítették az automatikus vektorizálás használatát;
  • A memóriafoglalási műveletek száma 1/6-al csökkent;
  • Az RDO-ban (Rate-torzítás optimalizálás) továbbfejlesztették a kereten belüli torzítások elnyomásának logikáját;
  • Egyes műveletek átkerültek a lebegőpontos aritmetika használatáról az egész számokra;
  • A kódolás minősége a második sebességszinten 1-2%-kal javult;
  • Hozzáadva új mozgásirány-előrejelző szűrő (Intra él);
  • Hozzáadott "-S" (--switch-frame-interval) opció a keretek közötti kapcsolási intervallum meghatározásához;
  • Összeépítési támogatás hozzáadva a wasm32-wasi platformhoz (WebAssembly rendszerfelület).

Forrás: opennet.ru

Hozzászólás