From patchwork Thu Sep 14 23:44:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43736 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp757012pzb; Thu, 14 Sep 2023 16:43:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHxnADqXwZFnkM6r0SaAbMlX2OQzSr+LEmA+Z92dPKi/pAx656NG+cW3jWy04/0yRFtyU2h X-Received: by 2002:a5d:444e:0:b0:31d:ccb5:f3c0 with SMTP id x14-20020a5d444e000000b0031dccb5f3c0mr68277wrr.18.1694734997902; Thu, 14 Sep 2023 16:43:17 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s3-20020a056402164300b005256c451a04si2217011edx.523.2023.09.14.16.43.17; Thu, 14 Sep 2023 16:43:17 -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=@outlook.com header.s=selector1 header.b="W2/uZUuo"; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5991568C767; Fri, 15 Sep 2023 02:43:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2029.outbound.protection.outlook.com [40.92.89.29]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5DE8A68C5DE for ; Fri, 15 Sep 2023 02:43:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=go8ytqnrROpjGl0VMqAOgW7034JOhxxfTtyuJtO3b97m1RsLc5eq6wbsRNhDZq4LpcwTnUbT24qSc1aNyuie8KanoYFL9LT9wHdEUwyvx6IOklzLc03tf6aNm7ABchbqQHEsJrEkGe7gx+t2Fgdna+LyD+6kTIjscXXdn+50H9KY46VYF6MAWMUXyTPjenA+uuI66bxuQXYd4srfTVL4EIW32GRoURdMHKC8QbFVf3rGYgu55RnBMKXOaNkhNV8jXuACczFvpcQnT0Ko7NsPKUUzmp9eFOTz/0OX8pAYs7ACjRItqhyam5X17qa04oqsWHfqk/kRWeKw9oJBy0kvGg== 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=G/hBNiZahFhNXvNMfHyVZmZ0aKdQqWGXPVa+QSlZuQk=; b=IH/D7PZw6lybtX3JLaYZbxIFig9jgs41oY00qY6et8jrX2P0SMM8w05MRwtWZdkO0NvzSohKfi7LOAA1TWXpcvbjKrMDhx+BDBBW+fe9opi20MAFuzCRrFrydB/DVYS+aOpeq0W6/nrNt3iT1p/jAt0PKXbzb6QZ17ezzQ3L8Zt8Km5nXaTMCzB2Ne3xaB+od9L3koERkwK8e1C/RR3RRFSZuPYJZBRT7ajJgLCJteoJXQw+HuQwDEHH/Y2C1r3i1zVqAnNNZue+prJzQfwkSrQ9ZebzH+ppcRcEdm+6YNA4UprfH8Q5d2NPJaYKjyuw1Yjohm9jR/pdzfp9Ow8LLA== 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=G/hBNiZahFhNXvNMfHyVZmZ0aKdQqWGXPVa+QSlZuQk=; b=W2/uZUuo0srZ/o66ae7Y1j0gjjXsX6Qpu/lCbOSBnvbKN2ET5rawNzworVACQK6WLSARg9SqX8yUFNkRSzUGjP2Tln/W2xJqOnv5U4dmfiACtHfXezQo3OXh9Sk3SIexncGLidp1XEfjn+rIXzjvmvpEirxsoW/1p08RMicsZ3JRFck3MiJqrBbUDj6LueHsY7v7DKTpqZkGUTBNFRAg9bquzpIkTrUYag5lfXcr7l81AycRp3pcXVv+y5YDkBHnp4ZGECXdQ94Dvxm4g03xntfofQ4YGiGhTpFfTbTtstoJHvbEOeupgRVmEd0YMhpLgrbj+pb0Tbstzb5tKbhZFg== 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:43:05 +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:43:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Sep 2023 01:44:09 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [8TRlgtAcHbCPAXqvzyUYLQ1tpESP2v2U] X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230914234413.156864-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: bbb0aba0-7fb5-488d-9349-08dbb57c56aa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Tyu7BrBH+VkHEoW9B2PgAB0hPCp5M5wvOPlVJvdwp9AbguCN+FUc1/o7mZeZ0ZVMda4jlXwbVR7SB+E8+6HfgzBhgJp8Zf0PjjPWpMUtan2XClQf/u4Mcn5XduCoCPktIX3y3y8FCNZlQDHxP7Mjxq/qVqxOlTPVxlKCCZVMvH9TXGU54060UZgp1pxlgziGbOel927rwN+zxo2+JmUihA90Msmr5Ygp4v8JLdSR+nFhlD7H4DB7+ErBeKooG0kTLeKqVOKUCHU5SF1OyfNshbB/oTFY0ZkddfpuviOhyAho/XIaefFX6wOmrZJTrkcJ7c2ubrfXoH2QyobnfOKm/28wi6Lq6bsSTOjsL+Zt2iT6MPquHGCGmYIMDr3aQP14HiHAYVp1mCdA7YheecpYWZXsncAonJLj/Eh+04m7c+J/av2IMK9fJAJXlXVljxjv10hD0PC9gcWEws846BOs1j3zJA6fN0PcQ9bA897PkcwtRj+n9FX09p49d4kl4JpNYJIQ01e7DYubICciHa7TFGo8lUok0jlGqhy4LmejnpEfaGPspbInDF4D7np3G0aBoX/tXS5DaCkZ8wO7Uq/52uSrCVTW7lIAq1go4/TH95D03IcPB5GYePIrpn2i8QxC X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 03w0IbdJICqcOZ7jA1pj5cas5TB+JIUZIo/j+T6D4OZHPeRKRFUK4JFTyH0LhG1149Iy1Ig5AKTCP/BLP2OsL7eizxuo/T+zl03yzqVqOIoFSYyW0vaWwC4mRcxiX8/u04lFKoL0qUshmmDIk3/4CFO7coKTWwH/Pi2XsZa8ElLdBjw5HeCdul5BlsIeMOMj53w1yZOXYrZ4InZ+nLQentx7Pj6OBj9+QwPISQ06Ek/xp9tmlqNlz2U20ojTJBj2X0D4s5zvvjC60BTSeNj/CBrChKOvg6ACtBGlpYqdKFMQh+Eo5QKar3QphLDaFc/dChvw4AUZbjlpHE0c03K8jPm+AzmCDq/tBn5OagMkSvUhkICaSBuY9HjzR0+qwvwoSp0IlR28RnmEsM3XZ8wN927SSO1gkGq1Sz+FJQR+q3MWs5Wiz9S2L6ywj+AQzswfce2efdhRp9CB+1lKkCUGcY+YHDyF9lUZr5q7YyEoK9THp3SmIO56rbntc+357lFFWs6ALHTYX98IfIVO9d2pEXAOVS3O3kXcQZ1SYkQMTU+svKeUJLfLvSp5vDO239V+4vGkn4o81mONhSZ27EsxwstMOsJqRrPvd3lV8VnRycU7eDIT13gUv/LLb2VvRXVEP9oaJZ5JFMIQ4mahML7Lmm+fzT+x2rKbzUHdrE70ebJe1Y4DkFmKRyE95cdFZuv1BXRleIP0Ew3rkc9BWklndTgD/XdAU0uFkUhcDhJ3EVwsKNvq+sSj7L5wBPtsx3F/q6vO0d2kZXhXWVl8RPXnRbmPnfzyl5Ux9a/Fw48W1RHXuiuip5wwmz6GqpJ6jOfyxZuhZMVSaAsV0DpCJJYKLy3UQO23zgKBhtCHjglouMp+oUvQzaqQCbIuC9tKX1210ikkzuWnEhWSeQK/eHZYBC/0SF5aA5VHkmAMfnf85NL5CWmZWES61JKnuT1dh8pprJokrDqx2/VP04Tqb9Sa67PhOvEeSF1+OBbhohiW4A+vdlhpb0GooWCyWTpAYvflCs0IQ9WpGRfsfz61wMpQ+ujA8VZAD5hyHxUIPwUvopQA4+VlS6Tfdv3TlfyJDNDCXaCZq0WTt0jU1ZP6/lM3zyULDAmuMk+AmLXhmPyFvNm/WtLXV3ENSnXU/QyAAUTpNB+0ndgtsswv5kmiTal7W0iP8qmfkaS0RluFPD72KU0x0NgA+8OgteofoMFcHcleHg6eZBJPMvX/J7h/y3RzI+R/et2jDdbTSwRe/ejJycTmNB7kA3nAov75T8lb9Lck X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bbb0aba0-7fb5-488d-9349-08dbb57c56aa 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:43:04.0738 (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 1/5] avutil/hwcontext_vulkan: Remove redundant resetting 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: yi9+WKskSLez vulkan_free_internal() already resets the AVVkFrame.internal pointer. Signed-off-by: Andreas Rheinhardt --- 1. I find it odd that the frame's internal is freed without the frame itself being freed; vulkan_frame_free() expects the internal to be present and seems to NPD if not. (Actually, I was about to allocate AVVkFrames together with their internal when I found out that their lifetime was different.) 2. I have only tested that these patches compile, nothing more. libavutil/hwcontext_vulkan.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 711a32a0ac..c783080567 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -3065,7 +3065,6 @@ static int vulkan_transfer_data_from_cuda(AVHWFramesContext *hwfc, fail: CHECK_CU(cu->cuCtxPopCurrent(&dummy)); vulkan_free_internal(dst_f); - dst_f->internal = NULL; av_buffer_unref(&dst->buf[0]); return err; } @@ -3642,7 +3641,6 @@ static int vulkan_transfer_data_to_cuda(AVHWFramesContext *hwfc, AVFrame *dst, fail: CHECK_CU(cu->cuCtxPopCurrent(&dummy)); vulkan_free_internal(dst_f); - dst_f->internal = NULL; av_buffer_unref(&dst->buf[0]); return err; } From patchwork Thu Sep 14 23:45:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43737 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp757489pzb; Thu, 14 Sep 2023 16:44:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGNyvfyJ71MJl34u9eUBiS7k5RQSzy54qCCkn8QSiGRbARb39XP+85A40nPFImnV5jTVssr X-Received: by 2002:a05:6512:988:b0:500:7e64:cff1 with SMTP id w8-20020a056512098800b005007e64cff1mr156334lft.14.1694735084797; Thu, 14 Sep 2023 16:44:44 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i8-20020a170906264800b0099c05358e75si2145429ejc.759.2023.09.14.16.44.44; Thu, 14 Sep 2023 16:44:44 -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=@outlook.com header.s=selector1 header.b=W2BhmaOk; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 64B0668C842; Fri, 15 Sep 2023 02:44:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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: o1/5Ia4BaXu1QhiwT5W/MPq+ybv147SeO/tc7XJzg6rk8bZzefRiCGv0BSC1+r6pdbsV+Nyq0ngef5HMTsflnM/Yfjk3QwnrFSPeW73gCrFomkgP5VMKDASji+q0Ihg1XITOZVl9azThj7V1Hkh/2bFuddfstr+h/aKQ1OQXKNe1TIZotLhV72Rr1fmBgTD9j9Oy8GZM2rsMGnp3wcazkNAOQVC/fFs99DuBXKxBopu839pvo+4Qw0wvmU180yK0e66cCHKkHb1RHbGG9uGokPrjTCtEPaW55eBEDVOYujhcgk2T8Cm08NRX2Ll73osInYmNuwyDgg+AEbUYvBFulZydtDNkjypIRyn3jRv211EepSa4UBKxT30kgT0AnZQJiZXRI43xdPFomgmj9E1yJXM1KoVLVyJed5UJ/nc34enfsvWqRvrEYfRnIsfvEDMhnB2f5ghOqlHMRY+X+0HB7pHHtswzl5nM+fvistSG0AR2/31wXA4LA7VZuzANkD/gvBlr5uOEwhkbUmGAfKlDLDx48JGUEmRsSC2ljL+zE6WbQg4fP23fpxMzVhV9F+b7vWQqbtAXKL3o4DqcYP1gOFx3SobePnAONdzogQkcTe7RAhIWvaIep8JLGDESSUE2hnKPU5ifJ8fGug7/D+LqAiu17zjk2RaUlnmvNFEU8RTV994DkS+FlO8Vpg7qNtXk/nJK5lyDRx9jaaAK349MmFz59W95SB/18fHvzC4H3LkWAiwpnZGHJewrs8C09AxI7Ojhop3ndoKLRq7zd5fvI3faaLunx7IBOB3dh0z612OOeGERLX2aX6AG91jMLvW7tg/TTayTcUS6PGgVW8/TCHQZWZvuCl2mNp4tsgPXRDppEity+31QG2HlKESFqUHLBCuNsH+veUDdGcqJ8q6cvDoVmpPIH+nhevOE3OnNvLOHs1nf+yj0GtX7HHhg480Tcsn/Sqe0Gu5Z/RT9v/woa4EBJcl2XkOT93ZN0ius0nPlyCiFolIQe6zUqbea0wEsQ41GlyVvOMUKEWbUNOmNIaIFbzRWXDso3V5EljjMvZGLXtTeglzwKNZUWBARDPLit7BfQwLZxAjz0EcToeCPCJA4l+OpKvZmLBgR5WpK4eFVBq578wpcewYgok5I4Nn9r9Bih574usfxixe0mblZYDDLpukxiUJqQip/pTvSXtSd5G4LHxeFj09GZHo0RVqMPnNAiLhwGx//WpEKW/4S5+ncqA5fljo/PvL9drkpMgObjw9GOBuODg5Fn844yZyh 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IzFfI260OHs2 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; } From patchwork Thu Sep 14 23:45:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43738 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp757526pzb; Thu, 14 Sep 2023 16:44:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcJRsCPv7wxrfTmKy+IOKKtRZjirrpI4TGWcBZZRVcrHBowZynT3g3FrZtELI6G28AQk9f X-Received: by 2002:adf:e40c:0:b0:31f:6524:2de1 with SMTP id g12-20020adfe40c000000b0031f65242de1mr76971wrm.32.1694735092459; Thu, 14 Sep 2023 16:44:52 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b23-20020aa7d497000000b005219bc76c7esi2352246edr.113.2023.09.14.16.44.52; Thu, 14 Sep 2023 16:44:52 -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=@outlook.com header.s=selector1 header.b=LQLK+frb; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E16668C858; Fri, 15 Sep 2023 02:44:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 8799268C767 for ; Fri, 15 Sep 2023 02:44:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ObHLeAVP7wJtgPVVAr4+0TV2wolVeb0pS8Jfi+BXfhEIOpdLMW4uOQ60QDMcHg5bab67hkPNZ48EY6QcwbGMfvTJCCk1zJToXySDDnD3fuK26dEzbNdK+YGz3FRjHFvXkTxigqjMCAU0orZdg+yCEaktuLSzbKFdSGnOjEUXcvi+6pNeXi4TFEpaeNvts3a9TZucsy1lFkjOXbcQQbhuLrgEm16xAVLBEjR0e9q4LE6V1DtXmRdkb3N9zlICZfPguwblolG5At7KA4RlYZi0mvO8H/F3CEM7DjBglBKb/z9w30wMRjiVE2k+VLjSg5jsONQVfY7FayglDltfhyvH1Q== 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=FlUH6UxCmdDZ0Y8F5mn5levqHCQnA9F0G166984OzUc=; b=OVv54exOQfX3ug/UcDUpoSCjqLyRiTW9xnW1ldsmcG5a+bXjmd5fRSkI49CszmXbubhRQ/QGoE5/YdBqM/7egx3PY1cg+FrGazLCQpXZ1788ehSDKbQqJgApW30csf4rNXyp2y6bih72cEWJ+NqyaNuWkh4JX2g/mZ5eZ9/kqOAPzaQWc4889426VBGP9KUMeopJkD7emrPK6gIjp4Z65OckyNp9gj9Mc/vOW5HITsSuDQOyF1RVeLN+KMZNCmkdPusrPFORgGnmsMgXqrC3mE7aqtRa5fcPXnz4SfFNUSFPIvywQ3wFhhhVxMgGOoRji2osZH17K3px87OT2r0eMg== 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=FlUH6UxCmdDZ0Y8F5mn5levqHCQnA9F0G166984OzUc=; b=LQLK+frbN8i2TzJM0iUDW1z3aapGFds9y5Ph2Z795dG8T8Rf4qUDnGmHQJHKuKmYcJEduMWvIKUjxUmm9giVjl9fMKdfcVzM1/1GvTaiXq9Qp3vYGzZ80hbxqi3GkZNdcSGbdjpczmEZn+iLOT/8H9qzBqrbYv02Ih9YNos4TF4zM+LSFXR+Az3B16c4/ITlEj6Hq3358tURwhHUcuuKCS33Yk8DauaOhmBTBfmsxDOWWCbnb9tz65zCeAy9XOusPgfslqVdY5sQfmkO+kSjUNsI8MDHRXXvYXe8ZyJwHqhpkiVja3DmdMycQEcGMv64acHziBoXyaENY/m7m4jqeg== 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:37 +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:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Sep 2023 01:45:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [IaAqu8bQsMGe4DUt4bhwd4DsIlRRKNBx] 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-2-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: 605fe1c9-94bc-48aa-3ac9-08dbb57c8e27 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M4FMOlC4MMnF1QX/64pAa1fUef7GXmli06pFu+gJxIzYq6yKPeydQcKOsqB5eJpPZLSePIfLAMSwQ9n7prcd4yK26/oggwKK/4rPdC5kqCc1zMNyQO60Sn5WDYDTcGlFc3Yb7srBTEK5hwGtOhXTA8ij67/ATNEIV1jr1FzlQefZNDcK6M3CLenqWNZzLelu5kSSiUwAQJnC+BhRoBkGFLX513bNf4QIByTJMRkDkfKDSWuHgMjZ8jSsYQ7EE8+hrHQ8ub6l72EIlLkbVSaT+cIp52rg0rmzjqBfHo7uGk9rDEFzlddvUzmHrpVvDrqmpAc2Wr+wOsbExrt0Xy20zKXSC+yfq6rlLrKK9TmZvmcl/Z5V79wTLotJbX2oPa8NdIKfGiVBUJ0Fh3NcqE8NIF9wpSG8rZk7VL39ePM3MjmbuTSC0+49zYv1s7BSunaTXC0GowlmxcljSna6Ul7Z/B7dDGX2Aps/xS3UWZ/i8wDeXk6CBXA9Eel+y438u07e5FmB1Is+r5jIlfRf2mS2P5Ha+0jrYUrCgI2kAEAG0ID5k5hmXY7b/22DSeJW2ab6vJZNmoloI4CGbMejh35pI+8ekiwf9lcc4hephltqo1TwmTLHVL9fyG3I5E37ByDb X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k61WXe65GTwnuAQu+avjaq5tTrsp7uZpXYgdSDda3sVwZA6PFxaF2G3G4WccExSQO8dGOHAZr84XA9aw8Lx/L5UDTiGwrpv2Bomxqeved6It4LiWqXcOfve9bobeNrpFQVRXuahKq3qH/bm0PTkTAsOjkLlarX9/+hW2N5Jv6ofkWfC65/up9CbF/Hyd4lPx63E5svRC/M1gHp2DCnpx1AhU2hyC7W2l9XTzuAEFm+0FWM86BC3kzSe3/OQOsj6ihCY1wNRXPQ9loO2iG7pAy5IM1OVpH4N6w1ywLIaUavwIjzhvlS10GnGWNsGiKfWXhyl3hb97X9ORxYL1WiFi2g6Msg8z9joZg0nKjUWvPfREXfgNBSjfsdsOwz6iCVMpTJ3xx/PphD5F/Xj5v4MKRTpKkgYngTqqPGl+OsBxItAmrDX4CL2ftkFkF5t5XNeXTzwNcfdYW7nG1oHNqdTwK8vY6R9i29MOXUjf807x7Aby8IknD5sniwBqbhOtnwfJhD7OPUlNdH8uSlR7sp4svnb8rFF/WjfeB9SlNBCQTrq0I0abqBhxbZ53PNw1JfHSFXUFEnExKSgGh+QWfAh8kkre6OQOHvZQuIAx9OPeiXiO4Nu7gKGwLTW4P5LTDCMnKNskv9J6kgXtjBVBcqHss+0heAS64XQqVFAsMW+9mZeTJAsAPdVG/4IKHQSUKP7e+MVqjPZsdluXkWXyfR5L9si4BYRCGIs+dcU0qw3h5J/tMo/FA/jDCXHLRSV0quIdotDJ8m8TY/hxG97hwrWipsKOvJHIWpMPKQpH+V0MGOnmI7jK1PTirKHfgviaNVW17U35GRgpIP8H0rLHYeJxuvVYjsm5/+z2V9MXh+m7ofGNVTA36gZr8zSurJtOtUTdScaX+z5qL0XcHmPtpz1k8JlyozeG/Amki5x/R0qX6VfT9DwjdPdcKjpa6893NfjNZmRCL6BoHBEr5+esIDZrsy/uj+7ZWLpRE/wRNjCMO3j3GzESW0OQZ7hB3/tov7g6ulGNUk4RhGQhAn8QhfwG4QnKgle5WwTAnXEVbQCOldbHv6H0cwOa/coG5ROXpx0/J0sVPUeLxPgD5wf0nB17MCdgID4j0vK3iajh3EeLeNSBgNLAj+qoaIk7GszeK+laxyi6KTNk/HspbieF9uJCpctsV1zX7lLQUNCN7cO5HlJll8TvU3+WbNXqRJkS8YSzXl/dcnwJYbCxlwys9EePCGj46tSnTj3eaeeWXu8neA3jF9dYwwM4vVzZpA7AN3O7 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 605fe1c9-94bc-48aa-3ac9-08dbb57c8e27 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:37.0971 (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 3/5] avutil/hwcontext_vulkan: Deduplicate code 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 3obt+e04SN1d Signed-off-by: Andreas Rheinhardt --- libavutil/hwcontext_vulkan.c | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index d1c2d69b7b..0c846fde38 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -2407,31 +2407,7 @@ static int vulkan_transfer_get_formats(AVHWFramesContext *hwfc, #if CONFIG_LIBDRM static void vulkan_unmap_from_drm(AVHWFramesContext *hwfc, HWMapDescriptor *hwmap) { - AVVkFrame *f = hwmap->priv; - AVVulkanDeviceContext *hwctx = hwfc->device_ctx->hwctx; - VulkanDevicePriv *p = hwfc->device_ctx->internal->priv; - FFVulkanFunctions *vk = &p->vkctx.vkfn; - const int nb_images = ff_vk_count_images(f); - - VkSemaphoreWaitInfo wait_info = { - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, - .flags = 0x0, - .pSemaphores = f->sem, - .pValues = f->sem_value, - .semaphoreCount = nb_images, - }; - - vk->WaitSemaphores(hwctx->act_dev, &wait_info, UINT64_MAX); - - vulkan_free_internal(f); - - for (int i = 0; i < nb_images; i++) { - vk->DestroyImage(hwctx->act_dev, f->img[i], hwctx->alloc); - vk->FreeMemory(hwctx->act_dev, f->mem[i], hwctx->alloc); - vk->DestroySemaphore(hwctx->act_dev, f->sem[i], hwctx->alloc); - } - - av_free(f); + vulkan_frame_free(hwfc, hwmap->priv); } static const struct { From patchwork Thu Sep 14 23:45:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43739 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp757578pzb; Thu, 14 Sep 2023 16:45:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IErXZRKQHyVx92Oa7ZiMozkZ4uRu9FETDiR7jxgmUqtdMhcZycez0TKIeDsiR3erWCA2QrA X-Received: by 2002:a17:907:778e:b0:99d:decd:3dde with SMTP id ky14-20020a170907778e00b0099ddecd3ddemr25001ejc.18.1694735100848; Thu, 14 Sep 2023 16:45:00 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o15-20020a1709061d4f00b0099d98888808si2269037ejh.815.2023.09.14.16.45.00; Thu, 14 Sep 2023 16:45:00 -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=@outlook.com header.s=selector1 header.b=QxgUJsTH; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 685BC68C871; Fri, 15 Sep 2023 02:44:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 B32DB68C767 for ; Fri, 15 Sep 2023 02:44:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Se/gV2ZTETJt3EZx26La8hwuKZ2+EB3sgYGAQmQ+zVigmB73eDXKYajjLAY2MMzsO9W6a9q+aUUVysD9B7rOpPvn+or9fNjgIApVG4Pgku/l9lA0GfAFyoGqcY0KQIpTDt1qH+VfKuhLw3sh8Th2OW/y7PhVikX6iEIpMioUd8yi/8CaYtVhSu3L8lIDqTj8oGjnM4LV/7SglpuPKQ33xb+fZdzhFEPG1n3huRNks9vVknymCrjhw49W2rZ678RMMhax8A/BVgbxQ4pa2nTr1jFducMfYaBOO0F2zRdw7JMLkRkdSiJ7NVpSG5mDn1Y4Z0CFLtNVORjgXGJDq1QeAw== 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=MM0uNEwTZmXor15WN4CSvDPIfG0y5jUcjXzaFMapE7I=; b=X3aoNsFgxbR9iYfIzY6DpW2Pnd+uY7dXRrnXa9Kju9QEv525r8m+MuufgMtyMVKbS/ouw5o4jfLUkSrzsDHlxzPmQwydWLDak9c622cbo1OAFgMGs5cy+zPY5z/yRdLjp2C7+4dJ+JZITYV7kcIPndlwTToT+WgnW6uOmmEsUznRPThrMfZ2KhHv6WUc4L1CGGEQvpHcfLZDIBnrY500EzYGjRDwmKsBb73UZk5QyYhmzT6Sw0dnu+2i7HQTN2sa8E5gUv9IOEG89FAdW+9Kxi/uP1bZ3TE5L6iApFJNLb+hA+73MR/gJvTN6MboOkDU5+t4rTt3Ozt9xxYl2CpKtw== 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=MM0uNEwTZmXor15WN4CSvDPIfG0y5jUcjXzaFMapE7I=; b=QxgUJsTHtf4UGu95NKOth+Y04JLctu8/XgwEFkIstSCSEUlg2ZnW4IVJ9XQr99mc/MP4a98hGn31Y69sSbsAcBOzIAtOyBKKhaz6xLkrh7Irz7Kx3vi1sl0N5gRUHgIA8gpKBaLVVK6YAXChg+GVOgVwoRD18imFsv4d4GWwFXtey7NDTRNLCxtH09gGeQTv+Bx10tAG7rW9dTrO8j+ZtjQRymHP3zkMG4qWEc6VbV4wKlNSwZGENu6p6FDOZD2ZJCmv/Hsvvg+WBE/6lkmGq2g4gLXTXr6Rz5pDw51jTYkSRyDVOZ4slKfKJhgQNfFL+b8RKqDI1g91U4Xv80F9Nw== 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:38 +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:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Sep 2023 01:45:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [mPteQheB+UmoqlgllDgLk6w4ETURXxBd] 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-3-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: 246f5232-6b50-470c-0f92-08dbb57c8f0c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RBAPERsyFWvCGBnK1WvVCCyqa5UVWEP67gutGJfRHwyq66gTFRBErxi/iCe1uyT2S3UpA7fcyjxqNkXLF4d7A1aqKUGPRMfVycm5UdfYR9SPLPxRqjxAzVmXOOXlGxphAVulfh9kdXK40b2zIvrC8umfz5IolrUVnbvLufJEp+BO/YoUeeJ33XPFcw+36s/OJqzhFFBNlKg/MxP4MORmnJ736OjuHQT0sXP+/Tj8BUJZ4QhE529o5TubRvizrh3y81JVC1cwjnvPYM4xo8G7ew06tmrkt0Sp6AwCpIPGwO+wpPhUaunoW9XFi8JwxIP+lPlL4sIB7jFRznBWZsPDd+EjDItYhB4AEB8fb3bH8xuW0yoAM8lNYdACUVSAi8TthtEoyPUJZ/E0S6ryrXArTrRfWRtpx2Unw3X0rfPylHSflJ96frRy7YLFyD8Bmtr0TpdmR0G8SHRyOKh39M4y3KCzdOXVHquFAVFjqzQI6aacVpN/wgOwPpPKr/dyvlWl/45z0Lrea8Yy9x/ZjibxLhz4+lZz1U4FaCuS8gfDvMF4lIYWfQgVO6j2q07T+dEpZoMwof9kGTDtL7ULXx7OXHdU4p97jMiKPkv7tYH3ziQUjBKrEJ760Nir9ia90dDm X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r6M+FvALUbJrva7KsAY/zHehEXlDc8RHKHz9382zMPIuT9n7hPVoC5cq7a23EPn8+ZIFQz0hlgLV8cS2xcgTOg2FGdELV98Z62iBIPRxk5nTX06hvOpLFI97TGbDVroWNuUcHv+0C/S+0pUIqAfO3AwNcHIxiZrg7kWeGZZOdHcsNcJfjAKoEfqrLaDAd+p8bMG5oR/PxjQNABkrIKEdoW/LIA28slvR251OYdwuZKjsxwfznO+hrt69uUom1xHPhE0ok8JKyyMV4RDHmVBI5fFOT9EMCql4QIxHlQiOEh1Kqrwb31XFwUb77oK2Dg+1O1mRWB7dIe6bN8shmP7AX7+Tgb9r0f5AxQ5SiVAPtGVezch82TAfzBszDMZ09XV4C/i42hYbMnblrQQS0XVfErnLoy5V3wfT5Xp2APhzKJ+4uPhsycOXwsV9pv4kbRjFIbqeO2HHJtM0XVFwocUkGFLHMSicCePfIMW8AFsdHfZjObK6VRXVx/qc1Au1clQfh/WbMCVs90uXs27azYi8J+vWAY7eo2TZqw4tuUO0PGbF0GI2oy+r8+c03Brdm131T1zR8llGuCr5R2fDxSt+AgeQuaIh6GdlEnRpRsSbaZ6umvHU8sonq69WbrskAVGXQTj0vm1IjxSWVU10siuLkKMhP3RYJ/GCEoTNx1BtKUUUKryx+UEgB+NYmqiUiKslhrQikiaqGu5ih8iLt2SULudpVBI1VwQEp+g2nRQIWhTHNVIpGDM2x42DaUPCZH3OUIp+n98n86IWcwFqK0vKit9SyRXS9aaB7hjfR3ssYuoOc0fRyDR2sRuUYxaeDTa7lo0bANlXzjTWhyy4/1z+o1h3x8st3wyeMbUMmqDKI1NJzdmI75wCjPETukANh8foMr57vf4knzfsNLXz5ynYIr1/URYPysHkwp9UDYqCWgO8cMrjbW+7zgPab5D4XEWDfiaKQqf/NIIwMgiJ1YY6elEXjAFj/n+9jf72uiXQZBwE4NCAh9uNvIHnA9FZUs64NvxZIn7AMf56HCJvhCThtb5PtRC1VcQ28vsRlJLJVdiFVVZrklqz7d2q9ZvbSRTE/yHIF7HzYodDv+uBss4dAT1n8+pHPFv5PN3W2ezoSjC2za593AwnmVzhKCP82NZuwVHK8FtmY6DBGEj2Q3t6khj9+YMzo/FWmabj3TFSkfEfiyCXy5Hqv6C8axZAyeDO2r/lOfNw3qY4x+2vSLnFAwJpUuUMuJ7JXBNUfsK8zVGhttGCfkj0hEVwW/Q2JYRZ X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 246f5232-6b50-470c-0f92-08dbb57c8f0c 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:38.7086 (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 4/5] avutil/hwcontext_vulkan: Cosmetics 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JHw3SoB6XfBR The alignment in vulkan_unmap_from_drm() (formerly the clone of vulkan_frame_free()) is nicer than the in vulkan_frame_free(), let's preserve it. Signed-off-by: Andreas Rheinhardt --- libavutil/hwcontext_vulkan.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 0c846fde38..c676f4fc57 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -1786,9 +1786,10 @@ static void vulkan_frame_free(AVHWFramesContext *hwfc, AVVkFrame *f) int nb_images = ff_vk_count_images(f); VkSemaphoreWaitInfo sem_wait = { - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, - .pSemaphores = f->sem, - .pValues = f->sem_value, + .sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, + .flags = 0x0, + .pSemaphores = f->sem, + .pValues = f->sem_value, .semaphoreCount = nb_images, }; From patchwork Thu Sep 14 23:45:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43740 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp757629pzb; Thu, 14 Sep 2023 16:45:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhrUWY9AYhew8/rXLewwxDuhfFfvLtK+i0kPr+5LWrtOVSwqbPhshLZYwlEWyTCbm+ZVMz X-Received: by 2002:a17:906:20ce:b0:99d:dd43:d427 with SMTP id c14-20020a17090620ce00b0099ddd43d427mr26724ejc.10.1694735109475; Thu, 14 Sep 2023 16:45:09 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y6-20020a170906558600b009930371a03csi2566136ejp.1001.2023.09.14.16.45.09; Thu, 14 Sep 2023 16:45:09 -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=@outlook.com header.s=selector1 header.b=ealT5ARY; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5908B68C870; Fri, 15 Sep 2023 02:44:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 E45A868C856 for ; Fri, 15 Sep 2023 02:44:50 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NI7rf+M9H03ryRSD8yWWWlXioqiYno2JKTZG7Sq9xIutX46qYpraKe2+KIhRpMfyOrFPrRdKbT537/D/lHcD2S7vfekzO9ZKKlhyJUrzgGM8lcB6cexkA0t0hg+IwdCG7dbG0XH23jRUs+niSdsFTZTq7xMfTjwjnbVs5HQ1yEyIdjwl+762v9yx/YUmu+DqCzYyv00c1Kwrijjm61PgijJwRpShE0S37DEzMuvngScyp+1wz5uA/APXbKSuikPZgYWitJ4awVV6u8yvzgJxGGeM5jjdlqWcsIkOtWiZREHdt7g4MTVS0sOy6xn0pKD1wZ3fiksKHUrn4SavDbo2rg== 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=1QcHIbmyKnKzc831nNYj2D8F5pxkzu+/FaThN1X1M2M=; b=PgnOED/4WcolByWtzsZ7HpJv0gYVzMi0ug3s/Ab/zpDlrYq0PnsE/kRdX9HiIk1IZcSp4jlGaYrJSsWuFx5fCQ3X12MRvbRkJiIFmpcz1s/94nFYT6Xfyio/FG7tbt3XC25Lhmh/qzTLWgd8BB93yRg1eaHLij2E5YfQitdDPGSntSx9/STgBpBn3VWShAhxKNRdTRgmsMKSo0q4P7o/xo9nA7LyGbihu9OsHmDZPsAI+f5nbXyhvC8HYgkBo7mdrJCjhwIficzcVd3FTVWXzcdpb4SjnvwB9Ig0LKb/M+a7GnT7qKu7H3I9ahCwt1L49pro0ryOxCjq/mOd+wiQWA== 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=1QcHIbmyKnKzc831nNYj2D8F5pxkzu+/FaThN1X1M2M=; b=ealT5ARYmEsty7Qr4ktlCq4I9wldJGacTqKZioFeh0YwKgBvO52IBAUubroAtuk7cLO8ss0ZF6Nq0Pq9P5i0rdIum1m0eDwfPY4Y2d6ZnuBKbwGHHux1Wz1QyH6eVuURjuUnzDxBjgjTNeLZXERTY6q/p8r6uafKP5MXE8LbXuRZF5D+whOCbzKhJTSbyTLTtB+0JK4Qi6tA2G7Q/O6swzRaV6zJ2Ctux8NFGNDDZbY29hkj1qERgDmlmnvkJRkC62Be7ytWTZ+M+U6oJ8iAYR32TMI9xV5ZVzYdvFiBMUAMELLucW/QDoTkk3hhcOtNEgDzoMUCze7ngbcO91lFpg== 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:40 +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:40 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Sep 2023 01:45:44 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [NiqO5fcN+f2161p2Al/wetQXeNPj4oNv] 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-4-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: 2a78f159-32a8-4f2a-7202-08dbb57c8fdb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dPy5xdj52VQTA1Aml8srgokBpP3kDghafGkqnE96lgDJ6ep2EaHkuebZ4Ioa3PIwCI4Q82fGPKn/CswtPFAHDUhxwrgvcr0Waia/2cXkOuj3XW6SATtZQ1vMANW/5BofuvTjEQjR6nx1rcxxeyaFtoyO2gvlALB1bvcD7OPoJyDAjebuNAC9yfmZ152XXbUeWLFCuEqol8TExlNcuBx59dg7BXh6iPNKKudnHwx1tHADxZWDXSV2YpyDp4j0rEnDP9xkOnzYWeN8bbm84pYBLdT+bj3rI7GEYNMHYofmcSU5Irt0BkYh/7yCdrVr8g/HvC9M995PpW8YlATLLTBajZW3HyF9Tt+ofpiG82E3oyrWKclPQYIkTCZTre8Mx9ge2dBMCCKOlB44brPtWIDCfR8/OKhN76sSnCQPznLry0OZW8VI2N2NyqDnu37S2KjdXU0miAoKw6d0zXcES+l6eogZVWTKNLUId6WFh+5gWpvoszY+MEAFpUNQQfsUTnnn1mml4s/EmDl68M7o9NdjDAOq7uSU/QZkK1eC2vhdIUNai713SaDLLFEo70mqn2+j424mTCTO926pFTFtRM1HS8H2q1dr+hH1OC9sIX9hEAnEO1g2aiqjt28sFGMUuck2 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +dzRhui3S0COdCtElDB/ywN92YlmFQtE6pHYhqP5t7Sd4qwayuc6s5rGZ+c2fhrTzGOG+iQP995NJqJej3LvUpRyuOjUfWLlKeXtB3kYrEcbXokW3Dv0sT5dASXspJOJaI6LQhvVm+b8nWLc2zrfWaXkpEqzZAR1EjuRK/BhdOaqde5G3sMyUYfEEDfN3NmL4wr5YLKSWICe/P+0gn7wZO7BVMpCTi6Z77VHn74Ml6ZNId7uQP9j8QEEJla7dGJF7aC8lhZMIRCwGVzXbIV73rv5WA9w5jflX5a9wZ0OapwLVZvXx0vdUTc8udSbYTmgyBJQ5DI/YOVPe7rdc1zdBADMD5DSnHWMeTQEGGHcmv55DCPa3vM3rtjEeds+n/ChNdYG3/vrvDJQjgadOxy1wCMMNQ2BL9fpWWu/WVcZt9lJQGwHDMD82j4oC7DFN9wp5CIXKKbj6szgYjzxzMh2cnFlby9bAmbvj6cGul3SC/0cyTlVzIqW2DiaJYkqU2S4cVQLyI4Bv/gZegphj1nAEpi7BOvcqnVesWBCUnQo/qlTKZWQ3h8pqYtp7a45BBeFuMapQ4aLurLMJannSKDFU9fQ9194ITRkHmkS4XSAuEPg0lT4Ye3B9eGS0ofNbePcZ5hhBBCBNyZ8rv2+O/FxhIUVOpA4zMumrpp0dRQD5OoFe4QWLxGKEswQlpVYemSKRQYdVtX4kVT+2DXimgHOO0pJkWWbsSshsG2APbxSbtl7jn1C09biQZakb6rtWpfmHwHj2HtMVIPelUM47jLQ01u63C1vOMVlqckKoJn1wT7w28tDqBGN75H6J3iKo6hLSSOlGquG4/Eswo9gPj/RpogwCV/gJ4HaGWRfqudyO3dP8DYE9f3DBaUK0F/fR2KbEj96P/mPBqAqgqBaEkhpwmJjPspk9JzHaZztIqNR8KPWnLm+moHXk6ISJyNMJi45TMhbdzmylZ5WMXvEs3cJUVDUUY8ZVJCm8pWMDI2OSdLWwR1YQTdJ1ocBh2AORAV6N3w7SmZ5L2EBh/HVzNuDDulMB2heLNACcTeANc3VvlmViD+eKCUrOzLBIfIxHnUbegFiQsZrtaqR7NtO3zuxDhTsWtwAVfCT3yXRlAyk8PMNoJhDA2JIb/886+GfOPlHSP7LYplwMCbsiSOX+S6ikAKN3vUy0X98Hyhh0kpwhlyJD+L1SfyJOUaLdUJmATlcL+lMfSwcwwDjPaQypFTuLHf54sD4NS4QcTCjgH56iVsbUAvlTbm5BFVqwvRYGjbn X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a78f159-32a8-4f2a-7202-08dbb57c8fdb 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:39.9742 (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 5/5] avcodec/vulkan_decode: Factor creating session params out, fix leak 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: wQ1s7M1NyN2T All Vulkan HWAccels share the same boilerplate code for creating session params and this includes a common bug: In case actually creating the video session parameters fails, the buffer destined to hold them leaks; in case of HEVC this is also true if get_data_set_buf() fails. This commit factors this code out and fixes the leak. Signed-off-by: Andreas Rheinhardt --- libavcodec/vulkan_av1.c | 28 ++++------------------------ libavcodec/vulkan_decode.c | 31 ++++++++++++++++++++++++++++++- libavcodec/vulkan_decode.h | 5 +++-- libavcodec/vulkan_h264.c | 28 ++++------------------------ libavcodec/vulkan_hevc.c | 27 +++------------------------ 5 files changed, 44 insertions(+), 75 deletions(-) diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c index adaebb2818..b1373722ef 100644 --- a/libavcodec/vulkan_av1.c +++ b/libavcodec/vulkan_av1.c @@ -104,12 +104,9 @@ static int vk_av1_fill_pict(AVCodecContext *avctx, const AV1Frame **ref_src, static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) { - VkResult ret; - const AV1DecContext *s = avctx->priv_data; FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; FFVulkanDecodeShared *ctx = (FFVulkanDecodeShared *)dec->shared_ref->data; - FFVulkanFunctions *vk = &ctx->s.vkfn; const AV1RawSequenceHeader *seq = s->raw_seq; @@ -118,10 +115,7 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params; VkVideoSessionParametersCreateInfoKHR session_params_create; - AVBufferRef *tmp; - VkVideoSessionParametersKHR *par = av_malloc(sizeof(*par)); - if (!par) - return AVERROR(ENOMEM); + int err; av1_sequence_header = (StdVideoAV1MESASequenceHeader) { .flags = (StdVideoAV1MESASequenceHeaderFlags) { @@ -189,26 +183,12 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) .videoSessionParametersTemplate = NULL, }; - /* Create session parameters */ - ret = vk->CreateVideoSessionParametersKHR(ctx->s.hwctx->act_dev, &session_params_create, - ctx->s.hwctx->alloc, par); - if (ret != VK_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Unable to create Vulkan video session parameters: %s!\n", - ff_vk_ret2str(ret)); - return AVERROR_EXTERNAL; - } - - tmp = av_buffer_create((uint8_t *)par, sizeof(*par), ff_vk_decode_free_params, - ctx, 0); - if (!tmp) { - ff_vk_decode_free_params(ctx, (uint8_t *)par); - return AVERROR(ENOMEM); - } + err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create); + if (err < 0) + return err; av_log(avctx, AV_LOG_DEBUG, "Created frame parameters\n"); - *buf = tmp; - return 0; } diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c index 3986330c81..534a76edda 100644 --- a/libavcodec/vulkan_decode.c +++ b/libavcodec/vulkan_decode.c @@ -1057,7 +1057,7 @@ int ff_vk_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx) return err; } -void ff_vk_decode_free_params(void *opaque, uint8_t *data) +static void vk_decode_free_params(void *opaque, uint8_t *data) { FFVulkanDecodeShared *ctx = opaque; FFVulkanFunctions *vk = &ctx->s.vkfn; @@ -1067,6 +1067,35 @@ void ff_vk_decode_free_params(void *opaque, uint8_t *data) av_free(par); } +int ff_vk_decode_create_params(AVBufferRef **par_ref, void *logctx, FFVulkanDecodeShared *ctx, + const VkVideoSessionParametersCreateInfoKHR *session_params_create) +{ + VkVideoSessionParametersKHR *par = av_malloc(sizeof(*par)); + const FFVulkanFunctions *vk = &ctx->s.vkfn; + VkResult ret; + + if (!par) + return AVERROR(ENOMEM); + + /* Create session parameters */ + ret = vk->CreateVideoSessionParametersKHR(ctx->s.hwctx->act_dev, session_params_create, + ctx->s.hwctx->alloc, par); + if (ret != VK_SUCCESS) { + av_log(logctx, AV_LOG_ERROR, "Unable to create Vulkan video session parameters: %s!\n", + ff_vk_ret2str(ret)); + av_free(par); + return AVERROR_EXTERNAL; + } + *par_ref = av_buffer_create((uint8_t *)par, sizeof(*par), + vk_decode_free_params, ctx, 0); + if (!*par_ref) { + vk_decode_free_params(ctx, (uint8_t *)par); + return AVERROR(ENOMEM); + } + + return 0; +} + int ff_vk_decode_uninit(AVCodecContext *avctx) { FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; diff --git a/libavcodec/vulkan_decode.h b/libavcodec/vulkan_decode.h index c50527e5f8..abf08a98bf 100644 --- a/libavcodec/vulkan_decode.h +++ b/libavcodec/vulkan_decode.h @@ -156,9 +156,10 @@ int ff_vk_get_decode_buffer(FFVulkanDecodeContext *ctx, AVBufferRef **buf, void *create_pNext, size_t size); /** - * Free VkVideoSessionParametersKHR. + * Create VkVideoSessionParametersKHR wrapped in an AVBufferRef. */ -void ff_vk_decode_free_params(void *opaque, uint8_t *data); +int ff_vk_decode_create_params(AVBufferRef **par_ref, void *logctx, FFVulkanDecodeShared *ctx, + const VkVideoSessionParametersCreateInfoKHR *session_params_create); /** * Flush decoder. diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c index 9fe0d194f5..32ef32d640 100644 --- a/libavcodec/vulkan_h264.c +++ b/libavcodec/vulkan_h264.c @@ -285,10 +285,9 @@ static void set_pps(const PPS *pps, const SPS *sps, static int vk_h264_create_params(AVCodecContext *avctx, AVBufferRef **buf) { - VkResult ret; + int err; FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; FFVulkanDecodeShared *ctx = (FFVulkanDecodeShared *)dec->shared_ref->data; - FFVulkanFunctions *vk = &ctx->s.vkfn; const H264Context *h = avctx->priv_data; /* SPS */ @@ -319,11 +318,6 @@ static int vk_h264_create_params(AVCodecContext *avctx, AVBufferRef **buf) .videoSessionParametersTemplate = NULL, }; - AVBufferRef *tmp; - VkVideoSessionParametersKHR *par = av_malloc(sizeof(*par)); - if (!par) - return AVERROR(ENOMEM); - /* SPS list */ for (int i = 0; i < FF_ARRAY_ELEMS(h->ps.sps_list); i++) { if (h->ps.sps_list[i]) { @@ -347,27 +341,13 @@ static int vk_h264_create_params(AVCodecContext *avctx, AVBufferRef **buf) h264_params.maxStdSPSCount = h264_params_info.stdSPSCount; h264_params.maxStdPPSCount = h264_params_info.stdPPSCount; - /* Create session parameters */ - ret = vk->CreateVideoSessionParametersKHR(ctx->s.hwctx->act_dev, &session_params_create, - ctx->s.hwctx->alloc, par); - if (ret != VK_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Unable to create Vulkan video session parameters: %s!\n", - ff_vk_ret2str(ret)); - return AVERROR_EXTERNAL; - } - - tmp = av_buffer_create((uint8_t *)par, sizeof(*par), ff_vk_decode_free_params, - ctx, 0); - if (!tmp) { - ff_vk_decode_free_params(ctx, (uint8_t *)par); - return AVERROR(ENOMEM); - } + err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create); + if (err < 0) + return err; av_log(avctx, AV_LOG_DEBUG, "Created frame parameters: %i SPS %i PPS\n", h264_params_info.stdSPSCount, h264_params_info.stdPPSCount); - *buf = tmp; - return 0; } diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c index 672694a19d..ef371bda67 100644 --- a/libavcodec/vulkan_hevc.c +++ b/libavcodec/vulkan_hevc.c @@ -650,11 +650,9 @@ static void set_vps(const HEVCVPS *vps, static int vk_hevc_create_params(AVCodecContext *avctx, AVBufferRef **buf) { int err; - VkResult ret; const HEVCContext *h = avctx->priv_data; FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; FFVulkanDecodeShared *ctx = (FFVulkanDecodeShared *)dec->shared_ref->data; - FFVulkanFunctions *vk = &ctx->s.vkfn; VkVideoDecodeH265SessionParametersAddInfoKHR h265_params_info = { .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR, @@ -677,11 +675,6 @@ static int vk_hevc_create_params(AVCodecContext *avctx, AVBufferRef **buf) AVBufferRef *data_set; HEVCHeaderSet *hdr; - AVBufferRef *tmp; - VkVideoSessionParametersKHR *par = av_malloc(sizeof(*par)); - if (!par) - return AVERROR(ENOMEM); - for (int i = 0; h->ps.vps_list[i]; i++) nb_vps++; @@ -725,29 +718,15 @@ static int vk_hevc_create_params(AVCodecContext *avctx, AVBufferRef **buf) h265_params.maxStdPPSCount = h265_params_info.stdPPSCount; h265_params.maxStdVPSCount = h265_params_info.stdVPSCount; - /* Create session parameters */ - ret = vk->CreateVideoSessionParametersKHR(ctx->s.hwctx->act_dev, &session_params_create, - ctx->s.hwctx->alloc, par); + err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create); av_buffer_unref(&data_set); - if (ret != VK_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Unable to create Vulkan video session parameters: %s!\n", - ff_vk_ret2str(ret)); - return AVERROR_EXTERNAL; - } - - tmp = av_buffer_create((uint8_t *)par, sizeof(*par), ff_vk_decode_free_params, - ctx, 0); - if (!tmp) { - ff_vk_decode_free_params(ctx, (uint8_t *)par); - return AVERROR(ENOMEM); - } + if (err < 0) + return err; av_log(avctx, AV_LOG_DEBUG, "Created frame parameters: %i SPS %i PPS %i VPS\n", h265_params_info.stdSPSCount, h265_params_info.stdPPSCount, h265_params_info.stdVPSCount); - *buf = tmp; - return 0; }