From e130a1503719d6ae33fce73a44bb76087c0e4b32 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 25 May 2024 14:24:31 -0500 Subject: [PATCH] Remove dependency on AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES for VDPAU wrapper identification These quirks may be deprecated and no longer populated in an upcoming FFmpeg version. --- app/streaming/video/ffmpeg-renderers/vaapi.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/streaming/video/ffmpeg-renderers/vaapi.cpp b/app/streaming/video/ffmpeg-renderers/vaapi.cpp index e8e6abc8..5922bd1f 100644 --- a/app/streaming/video/ffmpeg-renderers/vaapi.cpp +++ b/app/streaming/video/ffmpeg-renderers/vaapi.cpp @@ -327,6 +327,14 @@ VAAPIRenderer::initialize(PDECODER_PARAMETERS params) "Driver: %s", vendorString ? vendorString : ""); + // This is the libva-vdpau-driver which is not supported by our VAAPI renderer. + if (vendorStr.contains("Splitted-Desktop Systems VDPAU backend for VA-API")) { + // Fail and let our VDPAU renderer pick this up + SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, + "Avoiding VDPAU wrapper for VAAPI decoding"); + return false; + } + // The Snap (core22) and Focal/Jammy Mesa drivers have a bug that causes // a large amount of video latency when using more than one reference frame // and severe rendering glitches on my Ryzen 3300U system. @@ -373,14 +381,6 @@ VAAPIRenderer::initialize(PDECODER_PARAMETERS params) return false; } - // This quirk is set for the VDPAU wrapper which doesn't work with our VAAPI renderer - if (vaDeviceContext->driver_quirks & AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES) { - // Fail and let our VDPAU renderer pick this up - SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, - "Avoiding VDPAU wrapper for VAAPI decoding"); - return false; - } - // Allocate mutex to synchronize overlay updates and rendering m_OverlayMutex = SDL_CreateMutex(); if (m_OverlayMutex == nullptr) {