diff --git a/src/detection/codec/codec_vulkan.c b/src/detection/codec/codec_vulkan.c index d15098a42..da45eaba2 100644 --- a/src/detection/codec/codec_vulkan.c +++ b/src/detection/codec/codec_vulkan.c @@ -1,14 +1,15 @@ #include "codec.h" #ifdef FF_HAVE_VULKAN - - #include "common/debug.h" - #include "common/io.h" - #include "common/library.h" - #include "common/mallocHelper.h" - #include + #if VK_KHR_video_decode_queue && VK_KHR_video_encode_queue + + #include "common/debug.h" + #include "common/io.h" + #include "common/library.h" + #include "common/mallocHelper.h" + static FFCodecType ffCodecDecodeOperationsToTypes(VkVideoCodecOperationFlagsKHR operations) { FFCodecType types = FF_CODEC_TYPE_NONE; @@ -58,16 +59,16 @@ const char* ffDetectCodecVulkan(FFlist* result /*list of FFCodecResult*/) { FF_DEBUG("Starting Vulkan codec detection"); FF_LIBRARY_LOAD_MESSAGE(vulkan, - #if __APPLE__ + #if __APPLE__ "libMoltenVK" FF_LIBRARY_EXTENSION, -1 - #elif _WIN32 + #elif _WIN32 "vulkan-1" FF_LIBRARY_EXTENSION, -1 - #else + #else "libvulkan" FF_LIBRARY_EXTENSION, 2 - #endif + #endif ) FF_LIBRARY_LOAD_SYMBOL_MESSAGE(vulkan, vkGetInstanceProcAddr) FF_LIBRARY_LOAD_SYMBOL_MESSAGE(vulkan, vkCreateInstance) @@ -264,4 +265,13 @@ const char* ffDetectCodecVulkan(FFlist* result /*list of FFCodecResult*/) { : "VK_KHR_video_queue is not supported by any Vulkan physical device"; } + #else + +const char* ffDetectCodecVulkan(FFlist* result) { + FF_UNUSED(result); + return "Vulkan video queue extensions are not supported by this Vulkan implementation"; +} + + #endif + #endif