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 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ собран для систСм Π½Π° Π±Π°Π·Π΅ Π»ΡŽΠ±Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся компилятор с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ стандарта C99, Π½ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ достигаСтся Π½Π° систСмах x86_64, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ассСмблСрныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ инструкций SIMD (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² CPU ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ AVX2, Π½ΠΎ Π² качСствС ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° достаточно ΠΈ SS2). ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти зависит ΠΎΡ‚ числа задСйствованных ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ процСссорных ядСр, Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β«β€”lpΒ». Из-Π·Π° услоТнСния примСняСмых Π² AV1 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², для кодирования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° трСбуСтся сущСствСнно большС рСсурсов, Ρ‡Π΅ΠΌ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ Π½Π΅ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ AV1 для пСрСкодирования Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° AV1 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π² 5721, 5869 ΠΈ 658 Ρ€Π°Π· большС вычислСний ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ x264 (ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Β«mainΒ»), x264 (ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Β«highΒ») ΠΈ libvpx-vp9.

Di antara perubahan dalam rilis SVT-AV1 yang baru:

  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ вСрсий, Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрвая Ρ†ΠΈΡ„Ρ€Π° Π² вСрсии Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ API/ABI.
  • ВнСсСны измСнСния Π² API, связанныС с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΊΠ° (EOS β€” End Of Stream) Π² послСднСм ΠΊΠ°Π΄Ρ€Π΅ вмСсто использования пустого ΠΊΠ°Π΄Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ лишнСго ΠΊΠ°Π΄Ρ€Π°. ИзмСнСниС API ΡƒΠΆΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ FFmpeg.
  • Π£Π΄Π°Π»Ρ‘Π½ Ρ‚Ρ€Ρ‘Ρ…ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° (3-pass VBR), вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ VBR. ΠœΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ VBR свСдён ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² для обСспСчСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с FFmpeg.
  • Π’ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сТатия прСсСтов M9-M13 ΠΏΠΎΠ²Ρ‹ΡΠΈΠ»Π°ΡΡŒ Π½Π° 1-4%, Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Π² прСсСтС M5 снизилась Π½Π° 20-35% Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ LP 8 ΠΈ Π½Π° 1-5% Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… прСсСтах ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΎΡΡŒ Π½Π° 1-5%.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация компромиссов качСство/ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ для прСсСтов, Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства. Π Π°Π±ΠΎΡ‚Π° прСсСта MR, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ эталонноС качСство, ускорСна Π½Π° 100%.
  • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, написанныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° языкС Π‘ΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, спСцифичныС для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° dav1d 1.4.1, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сообщСства VideoLAN ΠΈ FFmpeg Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ свободного Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° кодирования Π²ΠΈΠ΄Π΅ΠΎ AV1. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° dav1d ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС возмоТности AV1, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ субдискрСтизации ΠΈ всС заявлСнныС Π² спСцификации ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ управлСния Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Ρ†Π²Π΅Ρ‚Π° (8, 10 ΠΈ 12 Π±ΠΈΡ‚). ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ dav1d являСтся ориСнтация Π½Π° достиТСниС максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСкодирования ΠΈ обСспСчСниС качСствСнной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС C (C99) с ассСмблСрными вставками (NASM/GAS) ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x86, x86_64, ARMv7 ΠΈ ARMv8, ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм FreeBSD, Linux, Windows, macOS, Android ΠΈ iOS.

ВСрсия dav1d 1.4 ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Loongarch ΠΈ RISC-V, Π° Ρ‚Π°ΠΊΠΆΠ΅ задСйствованиСм Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ инструкций AVX-512, ускорСниСм Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² 6tap Π½Π° систСмах ARM, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ эффСктивности ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ сокращСниСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° систСмах ARM64, ARM32 ΠΈ RISC-V. УстранСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-2024-1580, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ°Ρ ΠΊ записи Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† Π±ΡƒΡ„Π΅Ρ€Π° ΠΈΠ·-Π·Π° цСлочислСнного пСрСполнСния ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Sumber: opennet.ru

Tambah komentar