Keluaran rav1e 0.3, pengekod AV1 dalam Rust

mengambil tempat pelepasan rav1e 0.3, pengekod format pengekodan video berprestasi tinggi AV1, dibangunkan oleh komuniti Xiph dan Mozilla. Pengekod ditulis dalam Rust dan berbeza daripada pengekod libaom rujukan dengan meningkatkan kelajuan pengekodan dengan ketara dan meningkatkan perhatian kepada keselamatan. Kod projek diedarkan oleh di bawah lesen BSD.

Semua ciri AV1 utama disokong, termasuk sokongan
bingkai yang dikodkan secara dalaman dan luaran (intra- ΠΈ antara-bingkai), superblok 64x64, 4:2:0, 4:2:2 dan 4:4:4 subsampel kroma, pengekodan kedalaman warna 8-, 10- dan 12-bit, herotan pengoptimuman RDO (Pengoptimuman kadar herotan), pelbagai mod untuk meramalkan perubahan antara bingkai dan mengenal pasti transformasi, mengawal kadar aliran dan mengesan pemangkasan pemandangan.

Format AV1 adalah ketara melangkaui H.264 dan VP9 dari segi keupayaan mampatan, tetapi disebabkan oleh kerumitan algoritma yang melaksanakannya memerlukan lebih banyak masa untuk pengekodan (dalam kelajuan pengekodan, libaom berada beratus kali di belakang libvpx-vp9, dan beribu kali di belakang x264).
Pengekod rav1e menawarkan 11 tahap prestasi, yang tertinggi memberikan kelajuan pengekodan masa nyata hampir. Pengekod tersedia sebagai utiliti baris arahan dan sebagai perpustakaan.

Dalam versi baharu:

  • Mod pengekodan yang lebih pantas dicadangkan Kelajuan 10;
  • Saiz himpunan binari telah dikurangkan (pada platform x86_64/Linux perpustakaan mengambil kira-kira 3MB);
  • Masa pemasangan dikurangkan kira-kira 14%;
  • Menambah penapis berbilang benang untuk mengalih keluar artifak blok daripada video (nyahsekatan);
  • Untuk seni bina x86_64, pengoptimuman tambahan telah dilaksanakan menggunakan arahan SIMD dan penggunaan auto-vektorisasi telah diperluaskan;
  • Bilangan operasi peruntukan memori telah dikurangkan sebanyak 1/6;
  • Dalam RDO (Pengoptimuman herotan kadar), logik untuk menyekat herotan dalam bingkai telah dipertingkatkan;
  • Beberapa operasi telah dialihkan daripada menggunakan aritmetik titik terapung kepada pengiraan integer;
  • Kualiti pengekodan pada tahap kelajuan kedua telah dipertingkatkan sebanyak 1-2%;
  • Ditambah penapis ramalan arah gerakan baharu (Tepi intra);
  • Menambahkan pilihan "-S" (--switch-frame-interval) untuk menentukan selang penukaran antara bingkai;
  • Menambah sokongan binaan untuk platform wasm32-wasi (Antara Muka Sistem WebAssembly).

Sumber: opennet.ru

Tambah komen