微軟在Mesa中為Direct3D 12 H.264視頻編碼/解碼提供VA-API

在過去幾個月時間裡,微軟做了很多有趣的開發和操作,包括為 Windows Subsystem for Linux (WSL) 使用的開源
Mesa,以及在 Direct3D 12 上支持各種 Khronos API,以便於在 Windows 上缺少本地驅動程序時使用。

xl104tdw.webp

到目前為止,這項工作主要集中在 OpenGL、OpenCL和Vulkan上,但微軟現在甚至在 Mesa 內實現了對 Direct3D 12 視頻 API 的支持,並利用了 Mesa 內的 VA-API 狀態跟蹤器支持。

簡單地說,這項最新的努力允許 WSL GUI 應用程序(如媒體播放器),享受硬件視頻加速。在合併到 Mesa 22.2 主線的代碼中,D3D12 視頻 API 已經被實現,相關的 VA-API 入口也被用於 H.264 編碼/解碼。因此,支持視頻加速API(VA-API)的Linux視頻播放器/多媒體軟件在WSL(2)中運行時將”神奇地”能夠享受Direct3D 12視頻加速。

這對那些希望在 Windows Subsystem for Linux 範圍內獲得更強大的 GUI 軟件支持的用戶來說是一個相當大的勝利,並且進一步鞏固了 VA-API 作為 Linux 視頻 API 的主導地位。

雖然在NVIDIA的NVDEC上有一個實驗性的、獨立的 VA-API 實現,但 VA-API 並不支持所有的 GPU/驅動,所以對 Direct3D 12 視頻的支持在技術上使其在Windows上比Linux本身更加強大。當然,至少在目前,它僅限於H.264編解碼器,但目前的這段代碼被設計為可擴展的,以支持更多的視頻編解碼器。

微軟的工程師們在這個 D3D12 視頻支持和 Gallium3D 視頻加速前端的變化上做了工作,並成功地用 FFmpeg 編碼/解碼/轉碼、MPlayer-forked MPV 和 vaah264 在啟用 X11 窗口支持的WSL下測試了VA-API的使用。他們也有可能支持NVIDIA視頻解碼和Unix演示API(VDPAU),作為D3D12視頻之上的另一個支持的實現,一些Gallium3D VDPAU的變化也被作為這次合併的一部分,但最初的重點似乎是VA-API接口。

(0)
上一篇 2022-05-18 11:20
下一篇 2022-05-18 11:20

相关推荐