From a9fb323e8866255ef537409a3082532025c7a4ff Mon Sep 17 00:00:00 2001 From: Lynne Date: Sat, 9 Aug 2025 15:05:55 +0900 Subject: [PATCH] vulkan: temporarily disable threading for ASIC-based hwaccels The issue is that a race condition exists between threads locking frames, which results in cyclic loops and deadlocks. Compute-based implementations are not affected. Fixes #20169 --- libavcodec/vulkan_av1.c | 2 +- libavcodec/vulkan_h264.c | 2 +- libavcodec/vulkan_hevc.c | 2 +- libavcodec/vulkan_vp9.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c index afbd2347de..788e3cca78 100644 --- a/libavcodec/vulkan_av1.c +++ b/libavcodec/vulkan_av1.c @@ -666,5 +666,5 @@ const FFHWAccel ff_av1_vulkan_hwaccel = { .uninit = &ff_vk_decode_uninit, .frame_params = &ff_vk_frame_params, .priv_data_size = sizeof(FFVulkanDecodeContext), - .caps_internal = HWACCEL_CAP_ASYNC_SAFE | HWACCEL_CAP_THREAD_SAFE, + .caps_internal = HWACCEL_CAP_ASYNC_SAFE, }; diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c index 09f394dacf..ebe305e7b5 100644 --- a/libavcodec/vulkan_h264.c +++ b/libavcodec/vulkan_h264.c @@ -588,5 +588,5 @@ const FFHWAccel ff_h264_vulkan_hwaccel = { .uninit = &ff_vk_decode_uninit, .frame_params = &ff_vk_frame_params, .priv_data_size = sizeof(FFVulkanDecodeContext), - .caps_internal = HWACCEL_CAP_ASYNC_SAFE | HWACCEL_CAP_THREAD_SAFE, + .caps_internal = HWACCEL_CAP_ASYNC_SAFE, }; diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c index 78ad833308..5e15c6b931 100644 --- a/libavcodec/vulkan_hevc.c +++ b/libavcodec/vulkan_hevc.c @@ -953,5 +953,5 @@ const FFHWAccel ff_hevc_vulkan_hwaccel = { .uninit = &ff_vk_decode_uninit, .frame_params = &ff_vk_frame_params, .priv_data_size = sizeof(FFVulkanDecodeContext), - .caps_internal = HWACCEL_CAP_ASYNC_SAFE | HWACCEL_CAP_THREAD_SAFE, + .caps_internal = HWACCEL_CAP_ASYNC_SAFE, }; diff --git a/libavcodec/vulkan_vp9.c b/libavcodec/vulkan_vp9.c index ddb4eccc3c..f8ce73dc90 100644 --- a/libavcodec/vulkan_vp9.c +++ b/libavcodec/vulkan_vp9.c @@ -366,5 +366,5 @@ const FFHWAccel ff_vp9_vulkan_hwaccel = { .uninit = &ff_vk_decode_uninit, .frame_params = &ff_vk_frame_params, .priv_data_size = sizeof(FFVulkanDecodeContext), - .caps_internal = HWACCEL_CAP_ASYNC_SAFE | HWACCEL_CAP_THREAD_SAFE, + .caps_internal = HWACCEL_CAP_ASYNC_SAFE, };