From b266f61ba610eaf46dafdc9f91441f5a8144640f Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 15 Sep 2024 21:03:00 -0500 Subject: [PATCH] Disable direct rendering of YUV444 using vaPutSurface() It doesn't work as of libva 2.21 + iHD 24.2.5 despite the fact that the VAEntrypointVideoProc advertises VA_RT_FORMAT_YUV444. --- app/streaming/video/ffmpeg-renderers/vaapi.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/streaming/video/ffmpeg-renderers/vaapi.cpp b/app/streaming/video/ffmpeg-renderers/vaapi.cpp index f7c38c0a..facb0c29 100644 --- a/app/streaming/video/ffmpeg-renderers/vaapi.cpp +++ b/app/streaming/video/ffmpeg-renderers/vaapi.cpp @@ -548,6 +548,11 @@ VAAPIRenderer::isDirectRenderingSupported() "Using indirect rendering for 10-bit video"); return false; } + else if (m_VideoFormat & VIDEO_FORMAT_MASK_YUV444) { + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, + "Using indirect rendering for YUV 4:4:4 video"); + return false; + } AVHWDeviceContext* deviceContext = (AVHWDeviceContext*)m_HwContext->data; AVVAAPIDeviceContext* vaDeviceContext = (AVVAAPIDeviceContext*)deviceContext->hwctx;