diff mbox series

[FFmpeg-devel,2/2] fftools/ffplay: pass SDL vulkan get_proc_addr to hwcontext

Message ID tencent_11C53EE357E19DDEE0665AC2355381CC3509@qq.com
State New
Headers show
Series [FFmpeg-devel,1/2] avutil/hwcontext_vulkan: add get_proc_addr option | expand

Checks

Context Check Description
andriy/configure_x86 warning Failed to apply patch

Commit Message

Zhao Zhili Nov. 1, 2023, 4:56 p.m. UTC
From: Zhao Zhili <zhilizhao@tencent.com>

---
Maybe this patch should be squashed into the patch which add
ffplay_renderer.

 fftools/ffplay_renderer.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/fftools/ffplay_renderer.c b/fftools/ffplay_renderer.c
index f25796133e..143c327287 100644
--- a/fftools/ffplay_renderer.c
+++ b/fftools/ffplay_renderer.c
@@ -211,11 +211,23 @@  static int create_vk_by_hwcontext(VkRenderer *renderer,
     AVHWDeviceContext *dev;
     AVVulkanDeviceContext *hwctx;
     AVDictionary *dict = NULL;
+    void *get_proc_addr = SDL_Vulkan_GetVkGetInstanceProcAddr();
+    char *addr_buf = av_asprintf("0x%" PRIXPTR, (uintptr_t)get_proc_addr);
     int ret;
 
-    ret = add_instance_extension(ext, num_ext, opt, &dict);
+    if (!addr_buf)
+        return AVERROR(ENOMEM);
+
+    ret = av_dict_set(&dict, "get_proc_addr", addr_buf, AV_DICT_DONT_STRDUP_VAL);
     if (ret < 0)
         return ret;
+
+    ret = add_instance_extension(ext, num_ext, opt, &dict);
+    if (ret < 0) {
+        av_dict_free(&dict);
+        return ret;
+    }
+
     ret = add_device_extension(opt, &dict);
     if (ret) {
         av_dict_free(&dict);