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 6158B45149 for ; Tue, 11 Apr 2023 17:03:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 731CF68A8C0; Tue, 11 Apr 2023 20:03:44 +0300 (EEST) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2031.outbound.protection.outlook.com [40.92.98.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CAD686883C7 for ; Tue, 11 Apr 2023 20:03:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iz2Nl28Ot3pRbwxmiMQmbuNIDOCpx5osPuP6ToFsvyCHRpjBTjPFL50maH34+sfcN1sueXOwP46zcYH7KFXOqYOXsOi60kn7u5MSNJW5nPmyeqcT/9cvO8bKElY4Rd8dOD4hrFXkYRjc++XUkaBRKYm5VExlz3cbx1eVSgKRXSi9i9CQOElLgSRyrx6S2voST8d3p1iqaPJbAPRUjTHGgALck5Z+eFifuwqM3X7i3wEVSA7CpWRHdz/q4mn2SbXVXvdweZo1ElXHpxPkl0C9a+q4IAAg4RcqN1UsrN8BL3oh/hPHccf/ljkAfpNvY1GJJU04oq1JSKFHxBpqMrmg+w== 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=JjewznH6xKRaie65/dcHpQs/UV0/u3K3yl1D8YV1azc=; b=i/rXobQ5ejZYAtVLEr10W5Zz4eCaftMABXWNk9jRlz5K4Yfj8Mh/i7bUjDb6xjQ+fg6U5gnjtMWnX86b8zpSQK2hcl5Bjpnx01tQEZuj9S0RNt360RSGFvZzJUwL0KjS9olTUoabP/J0VngxnvU3cb5JU7vwlZVhzGoZx/Bv8CmLxjhvbY8+PAWml1gZ+BJpAGB17L1z3hvBDkmClZT/OyE5wwKbNauuovJmHtzSI0zHjG79VsMOFpWr97bQuGdojTAoTOpvBKCBMwRtmlar1z2Xssy0WnBcOY/yQ7qh6NfD2gMU3VMoONuy8r2A7e3+LKvSibfdKxapLRy06IMZQw== 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=JjewznH6xKRaie65/dcHpQs/UV0/u3K3yl1D8YV1azc=; b=cuLl6u1HTySyyfxojIlDfoopNKHm5Tbf2CTEi+KzWjgA7pMIoOgMJHl7yeC6Uhhmw7JCB6e+7g5WXDJmBPExM6RwwYZRnihO9Iex71h5G+YuKaJZyUpIXKz9cH5vdpTUv2RmhLyIoBUHlWRVuYm7I1j9MbA2op2jg89tit1gOGOnmnqFE+OySWpCfEkJ4XURfzQDc5xjet2EFpZBj63GJmI/eYDBi7XPi7aZYeyl0gypXSaO3CZ34qmOD7vMAzqiSBj6CpWA8+A2yGj1yDD1nChOsVAz3sI6EJx0ojbJzKLXkw61cwoH+9e8YyaPyfgDDlhekfRK3MhAfgUWsuuDOQ== Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) by OS3P286MB2554.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1eb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 17:03:32 +0000 Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::6e3c:3d34:1999:818d]) by OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::6e3c:3d34:1999:818d%9]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 17:03:32 +0000 From: Wu Jianhua To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2] avcodec: add D3D12VA hardware accelerated H264, HEVC, VP9, and AV1 decoding Thread-Index: AQHZTFXTdYjPNl/6bkyME6q434qUxa8mkWLp Date: Tue, 11 Apr 2023 17:03:32 +0000 Message-ID: References: =?utf-8?q?=3COSZP286MB217380EBFB2351E3B8B54E25CAE99=40OSZP286MB2?= =?utf-8?q?173=2EJPNP286=2EPROD=2EOUTLOOK=2ECOM=3E_=3COSZP286MB217328A12BC43?= =?utf-8?q?9F5BB31897DCAE99=40OSZP286MB2173=2EJPNP286=2EPROD=2EOUTLOOK=2ECOM?= =?utf-8?q?=3E?= <167768592917.10789.405819018051248134@lain.khirnov.net> In-Reply-To: <167768592917.10789.405819018051248134@lain.khirnov.net> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [WUiUc7jtf977Sds5LgHI3W+U2LKChT/d] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OSZP286MB2173:EE_|OS3P286MB2554:EE_ x-ms-office365-filtering-correlation-id: 4334b765-dc39-4303-31d0-08db3aaeae55 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MwC4vNv2xZTcOdcM7ufOxcZLuKBXM04trUGTvpI/RuLuNuczvN1UAErFXdj909s5qAG777UmuGDnsJATMXWBF+Hfm4u9J74heNA6JvQ0rgjnB6u4iZ7Tltp+TuK/zq5cXdkFX4whNgpWqEXyGKTL8L6maP0jP+UX31y8mEsL9DAM62Qq5A8D9plKy4iUfov6ZcAP7Sy3wH4wCPvSEUYpUIPiCYDItps6gQBQd8fvpiNM/7yQRmxEbcapFAh01Z1QfU/VOvYFvg0uCBa0qbVLFh2KMtELthOLGVRxiBUaP+edrHm0B2GXtmZ4vER1HRXxPm8xKwFboilQhKkCcih0wTaWxIz5wenuUX9PUkabc8TYkCwxcRhlYj/0r0y7bRbV3iuXehOSbHgb+HSxJsB2gkjwyt32qY3zM4Ha+n1y8ZOpNOhWm3Ulb9QHwMtFIZVNdVmkqBslFSoev7VBalzyQHKvY+mQJpBxfwT1ClKFeJQqI5arCYOu5w2Ff0MccAf8FpQ9Pt5sY0dJQaGSF4JrS+zZ7Ao37L6cYLY/9cwDwri46KSg31I9DvSxoCx4ltr7JBKzi8s8JRf6WjBtAcdZzceY4BT/iJSFwIcoPUCBTfEuEv3WV4y73Un9Z9PFj/K9 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?SjNtN09UYkV4TzhSNWpJL2hPNkY4Z1h5eG5rV2VxSmZ1VFRGblJEOG41?= =?iso-2022-jp?B?LzJDN1RqK1pqckQrYk1HMHVIUXI3TmJwQkMwaXJYVXdIOGxjZUlxekVp?= =?iso-2022-jp?B?U0EwVkd1Nk9uNWd4VXliUzhjcUZZTEpjWktXcU1CQ2hNU0hwL1l6WDY0?= =?iso-2022-jp?B?VDQrY05DODJxS2FrSmJKZ0ZPamZsL0x4cHQ1N29zRzdsb2NkVkJpYmVh?= =?iso-2022-jp?B?dVVYa1BlUXJYOVJDRjlMWnVEam1kZUNEeVlHcjdqVlZPenArSnRFNFBI?= =?iso-2022-jp?B?d1pyOWlZdUs3SmlpaWFNZkt0Y1p0S1djUCtObU9SQk5jNVBrNkwxY1Z4?= =?iso-2022-jp?B?REtaZ0Y1QWExNTdXcWd0VHhIVkF6eE5oMW5YaHY2TlpTNXNIbFh1L29N?= =?iso-2022-jp?B?WWErc2lMQXlKSGdNNENUb1M3NmRnQ0VqQU9xVzFDOWNYZ05sSDRTN1l0?= =?iso-2022-jp?B?R1ZOTTlKZHloL3RTSUZwRzJ2KzA0a0VSYnZxSXlHQit2dFVHbStXbzds?= =?iso-2022-jp?B?VGYxekowaHJYQm5yaXlsc1luaXVZRHgzOFBwQnlDVDdEMjM2eTU5K3M2?= =?iso-2022-jp?B?RzNOOFA1OEJjL3lKN0FUWm5FNU9zdXFvUStMdDJnMjF5aVB4ODQ1MnFn?= =?iso-2022-jp?B?bzBEUGdWZncvZVpDa0hJUGUvZlJmQVNLMUlnKzlkdGowaWZxM29ENjhq?= =?iso-2022-jp?B?UzlZbjFGMWRpMlp4QWgwZFRoUDM2QXlqTkJvWGtrK2k2TzNhRm55Z205?= =?iso-2022-jp?B?SFQ1Tnc1U2lnWVh6RkQvRHBvTXp0bUdFSzdUTlpxRDRWdTgyQVBCbE5E?= =?iso-2022-jp?B?ck9vYXAzck1mUGEzekh1V3I1ZERTRW05anBYMFM5N1NOcXcvYmlhNFFD?= =?iso-2022-jp?B?cHRxRnBxUWxkY21MN0JIR05yK21lT05wZ0RaQkJWZnFxOG5LNTNXaDZW?= =?iso-2022-jp?B?Z2FQa2diUUhXOHgvakhvZC9NRG4wVlk1ejg4RVAvaFVrcU5FTlI5Q284?= =?iso-2022-jp?B?eTdERGFkeis3TGQra1BQZmNhMDMwM3ErdmJ3bmFGbk1RamZIUHA1UTUv?= =?iso-2022-jp?B?UzQ3Q3JXYkJHZXBGNnlJcVU4MlRHL1dYUGEwUm0xQk5IZk5QUlU1aXZC?= =?iso-2022-jp?B?NDFSV1NlcVp1UHZvc1pOL2JVTU04NWFleWFVd0dqM010RjgwT3FuOXdr?= =?iso-2022-jp?B?Mkw4WXBTVVVncG5TYm41Z0piTlhoMEF1SmFWZm1ndUxzWEVUbVR0YW9R?= =?iso-2022-jp?B?ZDhmOG5XT01oZDYydjlVMmtKeExoUytnMlZxaW05RWtkaWJkR0xDbVlk?= =?iso-2022-jp?B?RFV2MDZLYXpoL1U3QXg1cFQ3Snlxa3JkMmFQbVp4cnFkdVFKdlIrUlBO?= =?iso-2022-jp?B?SDB2SHF3TDVBbDJoZFh2VFNlMEQvM1hwU1Z1bE1XUGlTSVpzU1lRckYv?= =?iso-2022-jp?B?cmxleEx4dDRDeWs2RUEyYWVRQTN2c3FWeTViMEp0elNHTXFLcDRqUWh3?= =?iso-2022-jp?B?S0pZZGh1SHlyeklNdWhSeXl5OU05ZjRCeDU0eGtNaHMyNWI2NDdUUER3?= =?iso-2022-jp?B?ejErb3pXZUNEbEUyaVJRcUlaT1lYaU9lK0VZaFcvMHRzK1MrcVh0SzZq?= =?iso-2022-jp?B?NW5OTCtSbzZLS0xuamtYVFJYU3RMN09UL0hXcEU0enh0a1RERVhwdHdR?= =?iso-2022-jp?B?SitGRTZiUmU2TndaK21XUWpOWmFOSXNUL1AvS09jT042N2tteVRDTUQ2?= =?iso-2022-jp?B?SVEzcHpCK1RQR2xUYXlJM0ZsVUxqclFIQW5iVHlmVlVMZHFIRlJlWGM9?= MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 4334b765-dc39-4303-31d0-08db3aaeae55 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2023 17:03:32.6188 (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: OS3P286MB2554 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec: add D3D12VA hardware accelerated H264, HEVC, VP9, and AV1 decoding 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 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Anton Khirnov Sent: 2023年3月1日 23:52 To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec: add D3D12VA hardware accelerated H264, HEVC, VP9, and AV1 decoding Hi Anton, >> +#ifndef AVUTIL_HWCONTEXT_D3D12VA_H >> +#define AVUTIL_HWCONTEXT_D3D12VA_H >> + >> +/** >> + * @def COBJMACROS >> + * >> + * @brief Enable C style interface for D3D12 >> + */ >> +#ifndef COBJMACROS >> +#define COBJMACROS >> +#endif > >Does this need to be in the public header? > >> + >> +/** >>+ * @file >> + * An API-specific header for AV_HWDEVICE_TYPE_D3D12VA. >> + * >> + */ >> +#include >> +#include >> +#include >> +#include >> + >> +/** >> + * @def DX_CHECK >> + * >> + * @brief A check macro used by D3D12 functions highly frequently >> + */ > > All identifiers declared in public headers should be AV-prefixed. Also, > these seem like they should be in a private header instead (i.e. one > which is not installed and not usable by our API callers). > Can I put COBJMACROS, and the DX_CHECK without AV-prefixed in hwcontext_d3d12va_internal.h and used them in d3d12dec_h264/HEVC/VP9/AV1.cpp and hwcontext_d3d12va.cpp? >> + >> +/** >> + * @brief Wait for a specified fence value >> + * >> + * The execution fence values timeline may be like: >> + * #0 -> #1 -> #2 -> #3 ----------------> #n >> + * ^ >> + * | >> + * Call av_d3d12va_wait_for_fence_value(2) will wait #2 execution to be completed. >> + * >> + * @param sync_ctx >> + * @param fence_value >> + * @return Error code (ret < 0 if failed) >> + */ >> +int av_d3d12va_wait_for_fence_value(AVD3D12VASyncContext *sync_ctx, uint64_t fence_value); > > Does this need to be public? I don't see it being used in any other > patches. Then fence_value could also be made private. It’s provided to the users so they can control the synchronization by themselves. Both keeping or deleting it is fine because the user can write the codes to do the same thing. I use it frequently when rendering video frames with D3D12 so I think it's helpful to make it a public API. What do you think? All the other comments are very helpful and I will try to fix them in the next patch. Thanks for your detailed review. Thanks, Jianhua _______________________________________________ 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".