[FFmpeg-devel] [PATCH 1/2] avutil/hwcontext_vulkan: add get_proc_addr option
Zhao Zhili
quinkblack at foxmail.com
Wed Nov 1 18:56:46 EET 2023
From: Zhao Zhili <zhilizhao at 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
More information about the ffmpeg-devel
mailing list