From patchwork Wed Nov 1 16:56:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 44476 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4e15:b0:181:818d:5e7f with SMTP id gk21csp29315pzb; Wed, 1 Nov 2023 09:57:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGfX5LNXYfnsT9ZTAWPnE6YdNy6TrMm2Y19gM2kRl4evHT65ns+ghPBcqwtwyH0dav4T4RW X-Received: by 2002:a50:a6d7:0:b0:543:f90:b956 with SMTP id f23-20020a50a6d7000000b005430f90b956mr7891607edc.35.1698857851011; Wed, 01 Nov 2023 09:57:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698857850; cv=none; d=google.com; s=arc-20160816; b=ImJGcx0PpeBaZ9NSJTCeZ5vizueUvJ4Ag677yxwwfTnTNeyVToYy/uyXKTzqSh44Il k/tRpJSjTajS94wkueDyk+spUCnGEeTbTegsVvKlJrbvvtd6nOgmYNuKeRFz+SLnQNZ2 RnPs1Dfz2JFiUSQXVk+CWlZJDT/4MzECRrJTvQQnzldGVGXdF6oIbkvaaX09BTImIqXp qTTU88SeO1u+JvFEWz0fDzh/GvoQh6zGzSjFYlMRsi86O0ybYICypNOT+n/Ou6WZO5OV on8zJNsoQiMkslZ2Bht6IMsyHfsxXgVKw4CcoZgaVMgdGGQ9d4/SnjzKz4vpIn/+PA6K JK5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=Ea3164wGchSMskoIjoT5QCoJkF65z59reWMPyEmvYHo=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=C7seW9nhae9W4U7tg9h96CGxP/5hSD6lhXuZfqB8YlmdRhVGyaQo+eZqlHF9tfP0lu VEq3pOG9NqXHfV3X17WAKbphSJNj8SO7rqaExlAgrsBXRpVKnff2+aAk3IDWiyKFHmVQ rteLmuQ2x0MhkHC38BjxRwzkPdayyuf8r6I807pZTg7iyloEnB31RStcrTe2IYXMeAV4 lzJSHfndamfxLGdbcpV1P8+cxBU/8kZhnkwmPZCfibenC07uL1lMx57/ISZtQ+0Sn9b0 oVkXTH/tyYYTDfexXgsuiOV/G6ERoeaoZsEZOFCI4nYUwQON5M/nQ1ztImf/zXiLqY7T zHKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=rqgNeakl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o7-20020a056402038700b005435c6652c7si825367edv.495.2023.11.01.09.57.30; Wed, 01 Nov 2023 09:57:30 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=rqgNeakl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6421C68CAB8; Wed, 1 Nov 2023 18:57:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-149.mail.qq.com (out203-205-221-149.mail.qq.com [203.205.221.149]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E3B968C08B for ; Wed, 1 Nov 2023 18:57:02 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1698857811; bh=yDaC273SVBF1HSWS+twTAmvFc620rzpiRkJM46Hu2kc=; h=From:To:Cc:Subject:Date; b=rqgNeaklxkLiKhka4NCGhabF7Mn8m/vF1Sn0kUFN7UVDrekpFlvw1cgDV9bUUVQct o9GFcg3ZHKwVsdTbtWDKM809ufvkYYJgYJVl1qF7rNCpta+XPswKxTkn5lTKzUWa4C lemsUevbOqJOwER1d97cJWM2D98PM9FjOZy9CknE= Received: from localhost.localdomain ([121.34.202.120]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id E31816FB; Thu, 02 Nov 2023 00:56:49 +0800 X-QQ-mid: xmsmtpt1698857809tjudw7wgo Message-ID: X-QQ-XMAILINFO: OV/DSz51HsxxYMBWeuaeH2fisP2RZkPPWWZarqqwD3vWG3qEjPoSag4Z0/foCm I73jlkO8jsVJzTOY7wO4EK9gQcVnkoKBPF20C6flE8Xxf2UO6LPgxRPlNkbYaQGfAZBUtiF/qwQI SfgQpqbitO3qH2dwKmpEBhHLhtTD4U6tHlo/k/jGaln4xWosl1pzNwL4E9rUbloRtIIvxs8W1nZn cxNkHXucmXZrhrTnNtyoJD9i3hnF2ejzPGEuISg9RyRowEp/evPwXnNk1LkXBzP2dMTn8ygTbfSt omeBs5urvjZlFHkw5z+jQ5p0e9wtPSJ07OqUq6MC940Wd3fLynsQ9EcKf9BIemHBIdjOGWoAIvJ7 l3HUEru6Mwh5dTcTiDnvy6rnVtBQDSeKu1yuYEVNF+BcihnTVXQsDVEDEHHDYMi5O3C/UpVyHif5 /lfD6LJI2tWDffqV3F1UIunU5GcA0OTw5aHwYLq3t9TF1eGcGWMUEVt+wVNx56XOSHDLeyaxFxEW 2zd33XR4u7JdSXIZ1JneWS+S8bR6zKKgRvAcRRiaixhoWQA8BWB4y9PvRn4Y+tNUW1lTplQMwqio MteMREGif24e5w7qJpCFX+u5qhjYek1iiXPZnt58Ew1BF0JbxwwWV18KB1eTQfmNlq8U5OoK2iFV qMYqmHW0al73MrpLkjeAFxwd70qginNdNUvqHs9+qIEKfeClimD1w2azBo4k+K15wrXfPrvCisoi u3HTQUOxb+z2Qhmj7nAAeUvloKas8JJZVBCH+IxLARAWpiI1zDGSBlUG08UeXeoaxHmcO38pqsG7 mZkXrYPvxgfi+wcCrJZQUYvhAuuSJ6fmvVShL63yia33we8KdhIyM2zJQvh7/2O2MoV3KR33vHTz xaj/jQtwOGrZz3TSxVPAvtfxQQm8HVtTwWdBXLOaGBkNFeBF5YS9dAqXqV/32IKqg2NmC5HFd1gt 04zVAHYWwubxeSm/tSa4Gpym+LZh3Z X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 2 Nov 2023 00:56:46 +0800 X-OQ-MSGID: <20231101165647.35609-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avutil/hwcontext_vulkan: add get_proc_addr option X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2ASJ03AtQs+m From: Zhao Zhili 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) From patchwork Wed Nov 1 16:56:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 44477 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4e15:b0:181:818d:5e7f with SMTP id gk21csp29656pzb; Wed, 1 Nov 2023 09:58:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEBzJDjftyPuV7I62VX411Sn7JW4Gdd5f1mJmkKVnA+cJI71ED59cdx7ewzY9pcJbAMoQYk X-Received: by 2002:a50:8a9e:0:b0:543:5293:9a81 with SMTP id j30-20020a508a9e000000b0054352939a81mr6240749edj.8.1698857885557; Wed, 01 Nov 2023 09:58:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698857885; cv=none; d=google.com; s=arc-20160816; b=wiRb2SabWtx9PKmh31745cUvXQ/kmTqCI9TmT0AtC8CviWhiqPee5HKvrHwuhP2eQ3 gDI61OXrW4pItQfea1YO68iC3b60sIPE1iEb1UVrdT+m51jsHwfFb1+io3y4qwxzLSXd XbiPN+EO1NeOxNG2ApJcJ+SRgsBZ+IzazR0ourJ23xvlhzC7wBGgcgz2fOqrECDZtaqY SB/ppjuZtxnHilXGQXAK1bBB9od8puZibpUKDmsdDcAOhoetCyMFyNKoIzAU9uQMR14u YDeO6jmFbCptn71PdIx7DGVO54S6M3fkxs5g6P7Z4JD4r730UNTsw2mDcII230UWmWup HoCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=FO9YaTCf/DKwEaRGQvFPXWWCy33DX2tgedk3g7yao5Y=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=nDlRBApYZ+K9M1X8y2eETAlbb1GaByyOGLktXIFx5LrfQd+7HLooJN+h3iLcy/bR5l yDuT2cUizKQZo245V3VAfNlzDwcBrGi+cVaeTUNfu5fYKVKxv8bf4yOSMmv1Ktw7Lxv9 3sL75Jl+iwcB6bl2vI9ShUv6aGWW+nqh2viUAWN9+/qxxy8ppuaIktnmz5E3YunBRE5m qldncmt11FtADu4WbPQhnBftkSHucwcaIARK35temuBXYk12wizzvdfiyk7o/m8Y+65i nExqynQN5oCZyI0WcKT8EY9oAF7h4U3I/N6spj1wIM2quAoXGACS2WXvlZ06rZSuLn/O JiBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=uZzkcSA5; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m15-20020a056402510f00b0053e72be2b36si836448edd.121.2023.11.01.09.57.42; Wed, 01 Nov 2023 09:58:05 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=uZzkcSA5; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2E8FB68CA60; Wed, 1 Nov 2023 18:57:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-240.mail.qq.com (out203-205-221-240.mail.qq.com [203.205.221.240]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 76DDA68C9B4 for ; Wed, 1 Nov 2023 18:57:00 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1698857811; bh=+YECdjC6BMYdUfm4KHUpQ2K2pI0WFBtRwyRkcaVxqTQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=uZzkcSA55m896I0fIdBpUgBh7K/G/MqKP9xCWpMaIs3V8L4sC5wnpihdE3mnZvo7+ 9nnAjxfgeulSztppWzG0pE9K1Vtik4YH3OATdwEnrzk+gNZPJ1XCTbpgvvR3X5FfXB dtTFM2TCA1JtOFS8HM2iQU14k1oik+Nq4AsyQi+c= Received: from localhost.localdomain ([121.34.202.120]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id E31816FB; Thu, 02 Nov 2023 00:56:49 +0800 X-QQ-mid: xmsmtpt1698857810tuedf4aqv Message-ID: X-QQ-XMAILINFO: NQR8mRxMnur91gIxrQVtefR3uZ+7uxcY3jvFjZuvBRW6z9bZzYtZO5Dpn5AImG +HemLc9+62dqDFgpPAYlSt5mUQ4FO9aOKeFNz2OpkvNY+BP9u4l8iok3xt97HUqqNT1WlY7oBKLb HUFy/FPTQwxyG9gLl63HJ1c4Qg9c9w3eNtOo1ZVbGFXmTfkJNojbwugXlK4cO9ZGdgs+D5YNEbpT 9tbQdlLTg9+9t1TyaPQFpRFMEEU+vHmizZrdHyHSxOdGQsD9t/zpVPEzIU8MHxKDS59m1JYyXA+S SKWxRSkbW2fx69xTIF+7q/JwFrem3QYEs3/LOSl81eNPnA8edjz2PVwoW44fQFkGFZYHxS3GNQFD SOzZeO2vtYwZUdCmu8QKH1oSgSat0smXvTguQkBDFNXTCJjZV/VAKc+jCk8Rm70ILO174fR5X89Z DL4vAvfrL4vg0a13DOKSdSPfUGkXKh7rNWHWd2jYmLL8RFx0fYo/dJuTEpOcqLbRU5N9SahSKdFh n5E7jfqe6vx038QUdqBq23sQ95Fk1bEyPkJFTeQk3UH57UCe8DPPOZM0PX2/I8q/D+0vjYuXa7Vx GKiQcFIhAu1g4nHeLj5tI+ZeJtdX+NPNW3QoFn7AFiLNEnS4axO4LDQFN/Mop/bGjblwcW+WWmMN l3ufki3b8kM8QMDRRVmnLIfXE2xnXc7mnHgDfdD0Tio3i/VdPkLEJ7iD5aWIFcWMr8AlFsvWNKKh t+VXPFTGNH/l5EzyvsTGLELU/QDi22zpiion9lqSA2PoYuaahvevlVvBWxN3wgkX1Z0Co6YhYd9s 9oQwLLiVmWWWzSyhTHfgzf2NpEE9iSjck9Kk5AR3Q2xtoqhjJ+aackR33QLZglwUMLPfi0jWN6K6 KDBNFWyhTTN6uxfGLzV8SJwZfbE5Glwphq2/OlJLoUYZDHbJoDTQ+aDUNAGNKXlkIud4LsCbzTm+ tp8OuOE6bkz1L7QKHFycTdc6vG2D3by3Ng52+UCGOd92UqnfezP3fpz8kMJyTFz+qpgUUeaTM= X-QQ-XMRINFO: OD9hHCdaPRBwq3WW+NvGbIU= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 2 Nov 2023 00:56:47 +0800 X-OQ-MSGID: <20231101165647.35609-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231101165647.35609-1-quinkblack@foxmail.com> References: <20231101165647.35609-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] fftools/ffplay: pass SDL vulkan get_proc_addr to hwcontext X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hF5dFpTMNPac From: Zhao Zhili --- 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 --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);