From: Zhao Zhili <zhiliz...@tencent.com>

It allows to pass SDL_Vulkan_GetVkGetInstanceProcAddr to hwcontext.
---
 libavutil/hwcontext_vulkan.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 8481427b42..155fe37a33 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -747,7 +747,21 @@ static int create_instance(AVHWDeviceContext *ctx, 
AVDictionary *opts)
         .sType            = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
         .pApplicationInfo = &application_info,
     };
+    AVDictionaryEntry *opt_d;
+
+    opt_d = av_dict_get(opts, "get_proc_addr", NULL, 0);
+    if (opt_d) {
+        char *end = NULL;
+        uintptr_t addr = strtoull(opt_d->value, &end, 16);
 
+        if (end != opt_d->value) {
+            hwctx->get_proc_addr = (PFN_vkGetInstanceProcAddr)addr;
+        } else {
+            av_log(ctx, AV_LOG_ERROR, "Invalid get_proc_addr option value 
%s\n",
+                   opt_d->value);
+            return AVERROR(EINVAL);
+        }
+    }
     if (!hwctx->get_proc_addr) {
         err = load_libvulkan(ctx);
         if (err < 0)
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to