FFmpeg Yatoa Utekelezaji Kazi wa Apple ProRes RAW kupitia Vulkan

Π’ Π΄Π΅Ρ€Π΅Π²Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ FFmpeg появилась сСрия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, связанных с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСнного дСкодирования Apple ProRes RAW. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ Π½Π΅ ΠΎΠ± ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅, Π° ΠΎ свСТих ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… Π² Git-Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… выпусков ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. FFmpeg β€” это Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΡƒΠ΄ΠΈΠΎ, Π²ΠΈΠ΄Π΅ΠΎ, субтитров ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…; Π² Π΅Π³ΠΎ состав входят, Π² частности, libavcodec, libavformat, libavfilter, ffmpeg, ffplay ΠΈ ffprobe.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ β€” Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ ProRes RAW Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ²Π΅Π΄Ρ‘Π½ Π΄ΠΎ состояния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Lynne описал ΠΊΠ°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€Π°. Π’ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ prores_raw: synchronize decoder with reference implementation прямо ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ синхронизируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ с эталонным ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ примСняСт ΠΊΡ€ΠΈΠ²ΡƒΡŽ Π»ΠΈΠ½Π΅Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ. Π’ ΠΊΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° коэффициСнты ΠΈ iDCT ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ 12-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Π΄ΠΎ примСнСния ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π»ΠΈΠ½Π΅Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.


Kwa watumiaji Linux особСнно Π²Π°ΠΆΠ½Π° связка с volkano: FFmpeg ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классичСскиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎΠ±Π»ΠΎΠΊΠΈ, Π½ΠΎ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ Vulkan Compute. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… GPU Π±Π΅Π· привязки ΠΊ спСциализированному Π±Π»ΠΎΠΊΡƒ дСкодирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π’ Π±Π»ΠΎΠ³Π΅ Khronos Lynne объяснял, Ρ‡Ρ‚ΠΎ Vulkan Compute Π² FFmpeg дополняСт Vulkan Video ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ случаи, Π³Π΄Π΅ фиксированныС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚.


ProRes RAW β€” это Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Apple для записи «сырых» Π΄Π°Π½Π½Ρ‹Ρ… с сСнсора ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ с сохранСниСм высокого качСства ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. По Π΄Π°Π½Π½Ρ‹ΠΌ Phoronix, с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Sony, LUMIX ΠΈ Nikon, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Ρ‹Π΅ iPhone. Π Π°Π½Π΅Π΅ FFmpeg ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ускорСниС ProRes Ρ‡Π΅Ρ€Π΅Π· Vulkan-ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ эта Ρ€Π°Π±ΠΎΡ‚Π° распространСна ΠΈ Π½Π° ProRes RAW.


ВСхничСски рСализация ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ линию развития Vulkan-инфраструктуры FFmpeg. Π•Ρ‰Ρ‘ Π² 2025 Π³ΠΎΠ΄Ρƒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ProRes RAW Vulkan hwaccel: ΠΏΠ°Ρ‚Ρ‡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» ΠΏΠΎΡ‚ΠΎΠΊΠΈ вСрсии 0 ΠΈ 1, Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±Ρ‹Π»Π° распараллСлСна с запуском 512 Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Π²ΠΎΠΊΠ°Ρ†ΠΈΠΉ Π½Π° Ρ‚Π°ΠΉΠ». Π’ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ‚ΠΎΠ³Π΄Π° тСстС для 5,8K RAW HQ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹: Radeon RX 6900 XT β€” 63 ΠΊΠ°Π΄Ρ€Π°/с, Radeon RX 7900 XTX β€” 84 ΠΊΠ°Π΄Ρ€Π°/с, RTX 6000 Ada β€” 120 ΠΊΠ°Π΄Ρ€Π°/с, Intel GPU β€” 9 ΠΊΠ°Π΄Ρ€Π°/с.

БвСТая сСрия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ просто Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ быстрый ΠΏΡƒΡ‚ΡŒ дСкодирования, Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ повСдСнию. Π’ частности, синхронизация с эталонной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° сам Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€, парсСр, DSP-ΠΊΠΎΠ΄ ProRes ΠΈ Vulkan-Ρ‡Π°ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° RAW, Π³Π΄Π΅ ошибка Π² Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, битности ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π°ΠΌ, Π½ΠΎ ΠΈ ΠΊ ошибкам Π½Π° этапС Ρ†Π²Π΅Ρ‚ΠΎΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² FFmpeg Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ProRes RAW VideoToolbox hwaccel для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Apple. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ вносит запись Π² Changelog, добавляСт зависимости Π² configure ΠΈ рСгистрируСт Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ рядом с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ProRes RAW Vulkan hwaccel.

Π˜Ρ‚ΠΎΠ³ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: FFmpeg постСпСнно ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ProRes RAW сразу ΠΏΠΎ Π΄Π²ΡƒΠΌ направлСниям β€” Ρ‡Π΅Ρ€Π΅Π· Vulkan для пСрСносимого GPU-ускорСния ΠΈ Ρ‡Π΅Ρ€Π΅Π· VideoToolbox для экосистСмы Apple. Для Linux это особСнно Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ шаг, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ RAW-ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π±Ρ‹Π»Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ тяТёлой CPU-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Chanzo: linux.org.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS πŸ”₯ Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster