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.
This commit is contained in:
Cameron Gutman 2024-05-25 14:24:31 -05:00
parent 845ef147c9
commit e130a15037

View File

@ -327,6 +327,14 @@ VAAPIRenderer::initialize(PDECODER_PARAMETERS params)
"Driver: %s",
vendorString ? vendorString : "<unknown>");
// 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) {