From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id DEA4F463F7 for ; Thu, 14 Sep 2023 23:44:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 35FFB68C841; Fri, 15 Sep 2023 02:44:42 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2014.outbound.protection.outlook.com [40.92.73.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C48D68C5DE for ; Fri, 15 Sep 2023 02:44:35 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V1RGBBjTdRB9lgIh3yvfXhQpaL6KSbdhu36pXcZ6MxthcdbG/6VFAUm1hStIslxAviP6gQOYkbZzVY9MK41Fx+sJG542uo3lIdzl/HpMMVEBP3VeBiIoY6lpoUj26czkG+s4UzOrWff0hIbYT2EkTOZThuGH1XTdqMwmFSfib2By8l2cUY3n4tDTAfp9mgqfwTK0nlQ/X22K1ktcDXBlvEUcP8hHm5tmv9OjwwjBHeHpBd2R3nkCsDq7H/0iWrv53SEftCKIYd4aGCl4OxlrddX7p5ek6iWeTrjuBrjKHYdXS2UzMVw8PVuPpEhSGMRsogoAzP0+Rw8m7FGyDTBSug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A72Jp6ViQ89CfeQsfbMLI31TtZYGzbYlZqelek/ZS/4=; b=IocRXy1W/+Cz4kjAeiPovWkTXCKibP3Z1wEWM7t6YVXRCNjNPyINjXbZmRQuYAxHYA8ggVeRCEB7u3iJvLl5bIHmfIdquoJc8lIgW8m1BwOOeVbw0kRdiaU5J4DUss2mgyY4Cc07TxRoxe6r5RXWfN293SOTDzja/lf8Dhu36Hy/53E9v0KslZo0hhp0jF6VUthL6r4vAZkaQl4noHGc0grR9lCvLr0Ft59Lrd1MaZsKZE18hhW+64dWXajTQn1RNjvOfwZibt4nNj79VnQkJxngVk4gklnoTCT/vn0UCxPvEpeltJqp0Kub8dAWLnoTTAP7EYF44T3dwrl/FtDnBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A72Jp6ViQ89CfeQsfbMLI31TtZYGzbYlZqelek/ZS/4=; b=W2BhmaOkpFxoL3ZWf5ORe4h1QyJVJ9LYZMOI4MdxVShEhTIGzNwZgGOoodQf9+nIDl/OEVXRfj61erHqhsZQut5/EJttJyeR3tUBYWGM5seiAbQ8u/xCHGrbTZOgwvlVFLyAmrSBa1lkGn2ltscQNzOMekkE/RBLdQSzoOpMcj6w2DoJqz2nW7CZ8ba4bki4miYKMs+mbw32KROfNxjmGQTPOsH8eKaVKYcMSdJhumTyHh8MQktL4LR/g8e++2QsNAzEBERGcbhriuPEJYZAfW6BEqynhMjHB1cdtgKSl3ddGRmcXyfmGurIy+zhx4Ouoeo5SrWUbjhiLwI4DISwRQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PR3P250MB0022.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:14d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20; Thu, 14 Sep 2023 23:44:33 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba%4]) with mapi id 15.20.6768.036; Thu, 14 Sep 2023 23:44:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Sep 2023 01:45:41 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [OncafGgmt0WfiJ6l0SaDKUfNAHED55NU] X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::22) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230914234544.156991-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PR3P250MB0022:EE_ X-MS-Office365-Filtering-Correlation-Id: 701b764f-b523-4f7b-05e7-08dbb57c8c35 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rqRq/LaU6piRYwvingKMKGv5Q15GJv6yeiRIQopt46UtjOr5j3uyH5/GpX2kY5sgcqucql6+Dsmt0y6ivv7zp7Bfq8ttJAjvIECc3yLuLP8iSJCIhTD1fUvMzW+RsRCj04vVKPnuszwe5qZ2aCitmcUJPKzRwAl51R4ER4wbaOE04QRvTUUbcInISs65l1+cuJ4UQSe+EOQS5R0yQj/R8KE8IZws0c2PcbDvEPAtJV12wHCiw0VYJXxJmegBWxnSIA01YOu8pQ7z0+bJDJmh1L9WndPTqBKFogd2xf/qV4hMOPjuokRk+h5UWRJoJN++F7Ogtojl5HpCJHVBmpPWOJsZ4MI18OLX9m285P5r2QIqyXJi7bQ5COTnbfquTXu4rrxIJViZ8G8Az73acbr9cpmDwZ9hgVW0T4Spp3PtnviDk/3uAA924zovTPsG1WwgC/HdwomweiJhs57+6fnN7PVjMfKExFjqm+Ipi30dj1DMwo+WExp6NWcSoPZ4dk0/refFR5ATtEVU2/u9ifv+3VYi6pJh1GcWn97WylwhP/NLFD6PTL7ymR6um7uGQGNM2Bca95uf/IzwRLWU6qxLlYI+fXxUGVleF98lFFyoyhVC+qi2uPFsQAmhdVwE/iSj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o1/5Ia4BaXu1QhiwT5W/MPq+ybv147SeO/tc7XJzg6rk8bZzefRiCGv0BSC1?= =?us-ascii?Q?+r6pdbsV+Nyq0ngef5HMTsflnM/Yfjk3QwnrFSPeW73gCrFomkgP5VMKDASj?= =?us-ascii?Q?i+q0Ihg1XITOZVl9azThj7V1Hkh/2bFuddfstr+h/aKQ1OQXKNe1TIZotLhV?= =?us-ascii?Q?72Rr1fmBgTD9j9Oy8GZM2rsMGnp3wcazkNAOQVC/fFs99DuBXKxBopu839pv?= =?us-ascii?Q?o+4Qw0wvmU180yK0e66cCHKkHb1RHbGG9uGokPrjTCtEPaW55eBEDVOYujhc?= =?us-ascii?Q?gk2T8Cm08NRX2Ll73osInYmNuwyDgg+AEbUYvBFulZydtDNkjypIRyn3jRv2?= =?us-ascii?Q?11EepSa4UBKxT30kgT0AnZQJiZXRI43xdPFomgmj9E1yJXM1KoVLVyJed5UJ?= =?us-ascii?Q?/nc34enfsvWqRvrEYfRnIsfvEDMhnB2f5ghOqlHMRY+X+0HB7pHHtswzl5nM?= =?us-ascii?Q?+fvistSG0AR2/31wXA4LA7VZuzANkD/gvBlr5uOEwhkbUmGAfKlDLDx48JGU?= =?us-ascii?Q?EmRsSC2ljL+zE6WbQg4fP23fpxMzVhV9F+b7vWQqbtAXKL3o4DqcYP1gOFx3?= =?us-ascii?Q?SobePnAONdzogQkcTe7RAhIWvaIep8JLGDESSUE2hnKPU5ifJ8fGug7/D+Lq?= =?us-ascii?Q?Aiu17zjk2RaUlnmvNFEU8RTV994DkS+FlO8Vpg7qNtXk/nJK5lyDRx9jaaAK?= =?us-ascii?Q?349MmFz59W95SB/18fHvzC4H3LkWAiwpnZGHJewrs8C09AxI7Ojhop3ndoKL?= =?us-ascii?Q?Rq7zd5fvI3faaLunx7IBOB3dh0z612OOeGERLX2aX6AG91jMLvW7tg/TTayT?= =?us-ascii?Q?cUS6PGgVW8/TCHQZWZvuCl2mNp4tsgPXRDppEity+31QG2HlKESFqUHLBCuN?= =?us-ascii?Q?sH+veUDdGcqJ8q6cvDoVmpPIH+nhevOE3OnNvLOHs1nf+yj0GtX7HHhg480T?= =?us-ascii?Q?csn/Sqe0Gu5Z/RT9v/woa4EBJcl2XkOT93ZN0ius0nPlyCiFolIQe6zUqbea?= =?us-ascii?Q?0wEsQ41GlyVvOMUKEWbUNOmNIaIFbzRWXDso3V5EljjMvZGLXtTeglzwKNZU?= =?us-ascii?Q?WBARDPLit7BfQwLZxAjz0EcToeCPCJA4l+OpKvZmLBgR5WpK4eFVBq578wpc?= =?us-ascii?Q?ewYgok5I4Nn9r9Bih574usfxixe0mblZYDDLpukxiUJqQip/pTvSXtSd5G4L?= =?us-ascii?Q?HxeFj09GZHo0RVqMPnNAiLhwGx//WpEKW/4S5+ncqA5fljo/PvL9drkpMgOb?= =?us-ascii?Q?jw9GOBuODg5Fn844yZyh?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 701b764f-b523-4f7b-05e7-08dbb57c8c35 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2023 23:44:33.8157 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P250MB0022 Subject: [FFmpeg-devel] [PATCH 2/5] avutil/hwcontext_vulkan: Improve type-safety 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: Andreas Rheinhardt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: The AVBuffer API uses uint8_t as base type for buffers and therefore its free callbacks need to abide by this. Therefore vulkan_frame_free() used an inappropriate signature which caused casts whenever this function has been called manually. This commit changes this by making vulkan_frame_free() use the proper type and a vulkan_frame_free_cb() that is used as free callback for the AVBuffer API. Signed-off-by: Andreas Rheinhardt --- libavutil/hwcontext_vulkan.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index c783080567..d1c2d69b7b 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -1778,10 +1778,8 @@ static void vulkan_free_internal(AVVkFrame *f) av_freep(&f->internal); } -static void vulkan_frame_free(void *opaque, uint8_t *data) +static void vulkan_frame_free(AVHWFramesContext *hwfc, AVVkFrame *f) { - AVVkFrame *f = (AVVkFrame *)data; - AVHWFramesContext *hwfc = opaque; AVVulkanDeviceContext *hwctx = hwfc->device_ctx->hwctx; VulkanDevicePriv *p = hwfc->device_ctx->internal->priv; FFVulkanFunctions *vk = &p->vkctx.vkfn; @@ -1807,6 +1805,11 @@ static void vulkan_frame_free(void *opaque, uint8_t *data) av_free(f); } +static void vulkan_frame_free_cb(void *opaque, uint8_t *data) +{ + vulkan_frame_free(opaque, (AVVkFrame*)data); +} + static int alloc_bind_mem(AVHWFramesContext *hwfc, AVVkFrame *f, void *alloc_pnext, size_t alloc_pnext_stride) { @@ -2087,7 +2090,7 @@ static int create_frame(AVHWFramesContext *hwfc, AVVkFrame **frame, return 0; fail: - vulkan_frame_free(hwfc, (uint8_t *)f); + vulkan_frame_free(hwfc, f); return err; } @@ -2209,14 +2212,14 @@ static AVBufferRef *vulkan_pool_alloc(void *opaque, size_t size) goto fail; avbuf = av_buffer_create((uint8_t *)f, sizeof(AVVkFrame), - vulkan_frame_free, hwfc, 0); + vulkan_frame_free_cb, hwfc, 0); if (!avbuf) goto fail; return avbuf; fail: - vulkan_frame_free(hwfc, (uint8_t *)f); + vulkan_frame_free(hwfc, f); return NULL; } @@ -2357,7 +2360,7 @@ static int vulkan_frames_init(AVHWFramesContext *hwfc) if (err) return err; - vulkan_frame_free(hwfc, (uint8_t *)f); + vulkan_frame_free(hwfc, f); /* If user did not specify a pool, hwfc->pool will be set to the internal one * in hwcontext.c just after this gets called */ @@ -2766,7 +2769,7 @@ static int vulkan_map_from_drm(AVHWFramesContext *hwfc, AVFrame *dst, return 0; fail: - vulkan_frame_free(hwfc->device_ctx->hwctx, (uint8_t *)f); + vulkan_frame_free(hwfc->device_ctx->hwctx, f); dst->data[0] = NULL; return err; } -- 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-request@ffmpeg.org with subject "unsubscribe".