Rilis encoder SVT-AV1 2.0 dan decoder dav1d 1.4 untuk format video AV1

Rilis perpustakaan SVT-AV1 2.0 (Scalable Video Technology AV1) dengan implementasi pembuat enkode dan dekoder format penyandian video AV1 telah dipublikasikan. Proyek ini dibuat oleh Intel dalam kemitraan dengan Netflix untuk mencapai tingkat kinerja yang sesuai untuk transcoding video sambil jalan dan digunakan dalam layanan video-on-demand (VOD). Saat ini, pengembangan dilakukan di bawah naungan Open Media Alliance (AOMedia), yang mengawasi pengembangan format encoding video AV1. Sebelumnya, proyek ini dikembangkan dalam kerangka proyek OpenVisualCloud, yang juga mengembangkan pembuat enkode SVT-HEVC dan SVT-VP9. Kode didistribusikan di bawah lisensi BSD.

SVT-AV1 dapat dirakit untuk sistem berdasarkan arsitektur apa pun yang memiliki kompiler yang mendukung standar C99, tetapi kinerja terbaik dicapai pada sistem x86_64, yang menggunakan optimasi perakitan berdasarkan instruksi SIMD (diinginkan untuk memiliki Dukungan AVX2 di CPU, tetapi SS2 sudah cukup minimum). Konsumsi memori tergantung pada jumlah inti prosesor yang digunakan selama pengkodean, diatur oleh opsi “-lp”. Karena kompleksitas algoritma yang digunakan dalam AV1, pengkodean format ini memerlukan sumber daya yang jauh lebih besar dibandingkan format lain, sehingga tidak memungkinkan penggunaan encoder AV1 standar untuk transcoding real-time. Misalnya, pembuat enkode stok dari proyek AV1 memerlukan penghitungan 5721, 5869, dan 658 kali lebih banyak dibandingkan dengan pembuat enkode x264 (profil "utama"), x264 (profil "tinggi") dan libvpx-vp9.

Di antara perubahan dalam rilis SVT-AV1 yang baru:

  • Transisi telah dilakukan ke penomoran versi baru, yang menurutnya digit pertama dalam versi tersebut akan berubah seiring dengan setiap perubahan API/ABI.
  • Perubahan telah dilakukan pada API terkait transisi ke indikasi akhir aliran (EOS - End Of Stream) di frame terakhir alih-alih menggunakan frame kosong, sehingga menghilangkan penundaan dalam menunggu frame tambahan. Perubahan API sudah tercermin dalam basis kode FFmpeg.
  • Mode bitrate variabel tiga-pass (VBR 3-pass) telah dihapus, dan sekarang digantikan oleh mekanisme VBR multi-pass. Mode multi-pass VBR telah dikurangi menjadi dua pass untuk memastikan integrasi dengan FFmpeg.
  • Optimalisasi telah ditambahkan ke encoder, sebagai hasilnya efisiensi kompresi preset M9-M13 meningkat sebesar 1-4%, dan konsumsi memori preset M5 berkurang 20-35% dalam mode LP 8 dan sebesar 1-5% dalam mode lainnya. Konsumsi memori di preset lain berkurang 1-5%.
  • Optimalisasi kompromi kualitas/kecepatan telah dilakukan untuk preset yang menetapkan kualitas tingkat tinggi. Preset MR kualitas referensi telah dipercepat sebesar 100%.
  • Pengoptimalan khusus ARM telah ditambahkan ke fungsi khusus C.

Selain itu, kami dapat mencatat peluncuran proyek dav1d 1.4.1, di mana komunitas VideoLAN dan FFmpeg sedang mengembangkan perpustakaan dengan penerapan decoder gratis alternatif untuk format pengkodean video AV1. Pustaka dav1d mendukung semua fitur AV1, termasuk tipe subsampling tingkat lanjut dan semua parameter kontrol kedalaman warna yang dinyatakan dalam spesifikasi (8, 10, dan 12 bit). Fitur utama dav1d adalah fokusnya untuk mencapai kinerja decoding setinggi mungkin dan memastikan pekerjaan berkualitas tinggi dalam mode multi-thread. Kode proyek ditulis dalam C (C99) dengan sisipan perakitan (NASM/GAS) dan didistribusikan di bawah lisensi BSD. Dukungan untuk arsitektur x86, x86_64, ARMv7 dan ARMv8, serta sistem operasi FreeBSD, Linux, Windows, macOS, Android dan iOS telah diterapkan.

Versi dav1d 1.4 terkenal karena mendukung arsitektur Loongarch dan RISC-V baru, serta memperkenalkan optimasi tambahan berdasarkan instruksi AVX-512, mempercepat pengoperasian filter 6tap pada sistem ARM, meningkatkan efisiensi kerja multi-thread dan mengurangi ukuran data biner pada sistem ARM64, ARM32 dan RISC V. Memperbaiki kerentanan CVE-2024-1580, yang menyebabkan penulisan di luar batas karena integer overflow saat memproses ukuran frame yang sangat besar.

Sumber: opennet.ru

Tambah komentar