Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan Renderer using VK_KHR_video_decode_h264 and VK_KHR_video_decode_h265 #1342

Closed
KWottrich opened this issue Jun 28, 2024 · 1 comment
Closed

Comments

@KWottrich
Copy link

Is your feature request related to a problem? Please describe.
Moonlight and Sunshine do not support 4:4:4 chroma subsampling, which is partly due to poor hardware support for 4:4:4 decoding. The Vulkan extensions for video decoding (VK_KHR_video_decode_h264 and VK_KHR_video_decode_h265) do support 4:4:4 decoding, meaning that a Vulkan renderer supporting VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR would open the door for hardware-accelerated 4:4:4 subsample decoding support for any device whose driver supports the corresponding Vulkan extensions.

Describe the solution you'd like

  • Add a Vulkan renderer with support for VK_KHR_video_decode_h264 and VK_KHR_video_decode_h265 alongside DXVA2 and D3D11VA on Windows.
  • Add a Vulkan renderer with support for VK_KHR_video_decode_h264 and VK_KHR_video_decode_h265 alongside VAAPI, VDPAU, and NVDEC on Linux.
  • (MacOS does not support Vulkan directly, and MoltenVK does not appear to support VK_KHR_video_decode_h264 or VK_KHR_video_decode_h265)

Describe alternatives you've considered
The only other game streaming solution with support for 4:4:4 chroma subsampling is a premium subscription for Parsec Warp.

Additional context
Discussion about hardware support limitations for hardware encoding/decoding video streams with 4:4:4 subsampling on the Sunshine GitHub page: https://github.com/LizardByte/Sunshine/discussions/1188

@cgutman
Copy link
Member

cgutman commented Jun 28, 2024

There is already a Vulkan renderer that supports VK_KHR_video_decode_h264, VK_KHR_video_decode_hevc, and VK_KHR_video_decode_av1 in Moonlight v6.0.0. It is shipping for Linux in v6.0 but will also ship for Windows in v6.1 for YUV 4:4:4. See also #1282

@KWottrich KWottrich closed this as not planned Won't fix, can't repro, duplicate, stale Jun 28, 2024
@KWottrich KWottrich closed this as not planned Won't fix, can't repro, duplicate, stale Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants