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 98CD242871 for ; Thu, 5 May 2022 11:52:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E6D8768B3B0; Thu, 5 May 2022 14:52:43 +0300 (EEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2017.outbound.protection.outlook.com [40.92.18.17]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 30EDB68AEA2 for ; Thu, 5 May 2022 14:52:37 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K1NvN4sVIwCinviHV4NCJD70cmzUwUaF85ngq6balCT8k4BjnL8RP0X2j6qtCmjAabuw3SETwvw7TkLYGeweS9KjIpnLHBZ7XrtqdWbQBU9g1Jw4bEcLqlzev1Xa33ryafbsw0DGk/+prcMnQiunrPUm80JoNDfGOW/n49E4fJ4y4cuKHnoFmX2anQFfL3eoSgvfPI6IGypo2vLzXHQbrdviyIetbFd0GQZcV5E1IEXNXHSUcv3UgFC9uD2P7bo/TMvBkrGKY6c+2GyV1IzBBW7wHZYsNMDkftW4oFrNOdOzps/M+fkJ3ngRmqQ5+4u9MCEwenG7qDPoR7suMsOODA== 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=fXCXdN36T7jdbAzNIg9D9OeVwD3PYK9RjSfGUYSNCeo=; b=dg/deOaPecImgHIsXf436DAEZw9DxptaG7LFVRUNF4qYBD7jaaWmN7GKx/3mHkTqCF2Di+YbnQMm8L19DqcfNoJVy1yiW2dqa0mBEtWoT/JZ2tc120qf8gdsJQdhRt3QPUryiZC0exap1pa825xkAiBibPnNgIxJNZFjAlqvZnYMYs06oT/JomZfQhFufYrZkIBGM6ARtr3rwWfnOw6s00gCVCgbLJSS1A1b9DHlTYQGdmiZl0ddRqYEg15XUuJyVySgXEw+FD6XWS1jVrlYE1qxMTq3nxiTFiwSVVqdK1kRR68coWAfV4cnHgejZ2rH6I4o7lIfLw9DECCrsgHUMA== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fXCXdN36T7jdbAzNIg9D9OeVwD3PYK9RjSfGUYSNCeo=; b=npX27wvtG9L48h4YFoU11X4gxHZaC1gOKC9xtXrVRuSqiKWku7ZM4FKQaNvwhKcmPNnL3g6/RFzwnXvOA38fy+6k1zQ56iJJVBbw1sKgeHjVmYS2vuzwyUvfYaz/4rWoW5pVncNIPtvg2teykNF5jnGwZKJ6cDvd7BkEyBHXh+SjMA+9LuVg4jqmX+/xsi8GevgaGK3g/oPWkFenX5uwgK4AlykM7RZYx/8RLuu4dCONyrM/7Ckq3Xo5y4S68mPU5pSNna/hciy9xEcthyf5/DkNle4lC632pQq8ko/EpagRt+BtVHwR6ytFbjZDPdD+cnlP2vYhWgttE97I8beWJw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0245.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:15e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Thu, 5 May 2022 11:52:33 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5206.027; Thu, 5 May 2022 11:52:33 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v3 1/4] avutil/hwcontext_qsv: derive QSV frames to D3D11VA frames Thread-Index: AQHYYG5mcNmMS+HdA069CPLXBsdVrK0QJgRg Date: Thu, 5 May 2022 11:52:33 +0000 Message-ID: References: <20220505105318.716-1-tong1.wu@intel.com> In-Reply-To: <20220505105318.716-1-tong1.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [lCiEOE4LkNzs6t9MA+jH6mtqNDM/amMM] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3c951bd6-ab09-4f06-efde-08da2e8dbd9b x-ms-traffictypediagnostic: BN0P223MB0245:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dUrluN51MahVKtxjsIj/uRWN6OO8/yh3YT4jDlqWqEUx7ppkhNWmpYgwbdmP9pFHGLF0GXbyz1EzJA6e87InPj7S8pRIdrIp6yG3eor6qTUSv3HbbesGHwmi7slpPD3VZXPVXaySr8uDyh94noAdiSbEJN6PCbEDgBvbhHtbgqHLP6ExpnY7NFQZoexjQSoDX4+pYqiLxETYzWu4sY/Y/LwVFKH3ANKOakmP0WVlMe5n1Tm4xxl9rqmmBNyWJMdbV37BuXx6shvJgxiE/GTCO6mJ3kXw3f71IJ6IAf6br/HiuOC/5RCUiQwJ3HM1Zu0K7V9f+sGKi5I/Sdq9J1XY/UyZGw/tKnHbwd9U+0w33AtsAriLjNdrpDFakcjANtTlQscmeeqOLkizzl5cz+NuLCXkC3Um7ElB7rbsWMEtQST1Th0+WqKJbwtL8h5NhIPL1ZhHbk1+4VkNyc7lx2lvjkTC8FZFnSj+sftlmLpq/+mhqVrQs2nDUeG6Y8PoWgImhKTIFgJX/y59k3XhvQvM35X1d0wQXz07qJpdi1Um6I1JS3qW6gEP5v03W2jBLQJHYeQ0mF2RZ0r0SHFAvmr684JZFiJQ7rrR4oiUHyIlrA0mTXsg4irs8FVHGVmuhOWYxxwFlw934LNosJwqEVxiKA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b1NTS1IveXJTTUd4M1dOUXFHajh2MU5aRytMMGJ6R0ZuZnhFZnhmVnArVUNt?= =?utf-8?B?QTNvOTE1aFNYNFBHVzU4cURRYzBRTUpLYjRvV2JaNHp4amNZdzFqQlRkaTAy?= =?utf-8?B?Mmx0WVJSdUdSaTQxS0ZuK2JTdUhIcUR0cS9IcTd6WWJURVp6ZGQ1UTBDNGY5?= =?utf-8?B?czI1bWIvZFdUZ0lpU0FBb2ZXa0VXSjZtTnppRUlWenEyZmxJV0gzR1lCNmdH?= =?utf-8?B?dGk4UGI0SkNETUZLTk9rOGZMRkwxMGw4RC9MNUFhOXIxbVFMeG9MQ1NncnND?= =?utf-8?B?QU1yVUR2MmZ1MTJXa2wrV0daQ201bmI4SjhJQnJydk0wNzV3aXZUeGNiRFQ3?= =?utf-8?B?RXgrWWNUaUJzdDVXUy9zcytrZzNKcEFXR3hnbXV6eUdSRGt6YjJhL1NzclVS?= =?utf-8?B?R3ppNXB3eStwOGIzQURCSytXUC91QlI0aDUvZU5SZkV0VnFaeFNHNjlhVExM?= =?utf-8?B?TWFqUFRXSjJpUG5CU2kwYzk0VjhaYlIwTW1Wa1dEQXpEWUc4UlM5MjUyMFht?= =?utf-8?B?REhveDBlcEVIekMyL3Rjd3NHVDJuMk4yYkN6S3F2RTMxS0N2bEw4elR0UnBC?= =?utf-8?B?azhOUC91OU02bDdLZEFUK2FuaU1VMzdSTGdBWGd3YTE3OEdSRy95a0F3REcw?= =?utf-8?B?VjZqdy9pQWdYNHg0RWNYdkFHVllaK0c0L3R4NkRlL2F5a0UxQTNxcGREdXh0?= =?utf-8?B?ZWlhZDFEdGlsVnFkVFlPK2IrOVBoVEJyZHVuM040ZmQzZ29JVy8yTFIrNkl6?= =?utf-8?B?TG9sNFY2SVd4NUwzREtyQVlPWjMxWG4zaVIrU1ZFcXNFNlNra3RueDc5QjhQ?= =?utf-8?B?NFJVc0c4K1I4YVFTNzVFc3YwS2ZtODZ0UUJRV044dmdoMXlGdjRzbi8vSVJa?= =?utf-8?B?SnZ5TnJWc1VMRnF0RTlPZy85aURQKy9veDRWQlVXc3laTnJlMHNGbTBjb3NQ?= =?utf-8?B?QjZVbktzdGYvcHRFQVp5cXlHR205ejJMaVR1Y0IrOXhKOG92VkhMdFdsOTZ4?= =?utf-8?B?Nkthb1lqNkFESkJIWnBocVZHTTNWRkJiZ2hRTHJXc3FYMEo5dW9mWjFCemZz?= =?utf-8?B?TG9seG1MTGoyTklnc0kwelFQeUpuVHdTWHpPQUN0Nld2Q29jWHBDdE1SeUdX?= =?utf-8?B?TVBWWHhlRk5ZRmw2eEl2MnF5YjFjSXlYcy8zN2F1SVlvTEJZd2RiL3VBaTlw?= =?utf-8?B?Q1F2cWdXeHdwZFAzR0ZjWFVCS1Q0UmhpaXhTRkgzV2E0TkVZUEI0WksrdVB0?= =?utf-8?B?aWRHOHlQYmowMTcvMkZKNkw3V3JFNm0xR2FFV1NsVE41VzU4L0FQNFZpaDdC?= =?utf-8?B?cWlseE83d1ZYK242T1VyVkZXZmJwc1JVUFBtNFVta1h3K3ozUEhLSEFsVktC?= =?utf-8?B?aFp2K201TUVXUHBMckJSZEdNcE9jNEtjWGJJcmUzK1hZOWlBQ0UvSTd1SzZK?= =?utf-8?B?eEJxZUR2c2tkVHhlcXVxeEVDMXJJeE9tQVBmRjc0STlwNWtrNFY0dVVHRkNQ?= =?utf-8?B?a1BRU1hJNHpHUm1lZE5mNkR2VENIalk3bU1oOEE3eHNPdzFsNmhaakJCUnl1?= =?utf-8?B?OEwwRkoxemw3M1NkUHlUbVl0ZDFDMmd4Z3pHbDM5K2VMYngwWWhxQmFHdlgv?= =?utf-8?B?YitVMk5DOS9TWkNWenVXWWRrbkkzc3lycCtRYzN0eW5YMWtqVGRPL2pKblcw?= =?utf-8?B?cWwvNFkzcUJxSHFFT2ZkaUw4QVN1a20weHo0ZS90eWFRSmJMczJRUWlaZmlV?= =?utf-8?B?UTRQT1pWTGFRUjZrWWdBRHd4cVN6anlHQ0c5NURxV1NacTk4YllTTjUyYkhQ?= =?utf-8?B?SDRNVkNHZXVpbG16UHo2SG9XK0lxUEcwNDFpaUx4bWRyZnMvWWQvbC9GZjJz?= =?utf-8?B?VWZxUmxqTHAwTkI1RG5wVTArdzVDZkQrQ3M1NVJwTUgvbjdkVW1GWi9jdG15?= =?utf-8?Q?e9o37WpEC1E=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 3c951bd6-ab09-4f06-efde-08da2e8dbd9b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2022 11:52:33.2413 (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: BN0P223MB0245 Subject: Re: [FFmpeg-devel] [PATCH v3 1/4] avutil/hwcontext_qsv: derive QSV frames to D3D11VA frames 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: Tong Wu 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: > -----Original Message----- > From: ffmpeg-devel On Behalf Of Tong > Wu > Sent: Thursday, May 5, 2022 12:53 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Tong Wu > Subject: [FFmpeg-devel] [PATCH v3 1/4] avutil/hwcontext_qsv: derive > QSV frames to D3D11VA frames > > Fixes: > $ ffmpeg.exe -y -hwaccel qsv -init_hw_device d3d11va=d3d11 \ > -init_hw_device qsv=qsv@d3d11 -c:v h264_qsv -i input.h264 \ > -vf "hwmap=derive_device=d3d11va,format=d3d11" -f null - > > Signed-off-by: Tong Wu > --- > libavutil/hwcontext_qsv.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c > index b28dcffe2a..65af7130b8 100644 > --- a/libavutil/hwcontext_qsv.c > +++ b/libavutil/hwcontext_qsv.c > @@ -1281,12 +1281,23 @@ static int > qsv_frames_derive_from(AVHWFramesContext *dst_ctx, > #if CONFIG_D3D11VA > case AV_HWDEVICE_TYPE_D3D11VA: > { > + dst_ctx->initial_pool_size = src_ctx->initial_pool_size; > AVD3D11VAFramesContext *dst_hwctx = dst_ctx->hwctx; > - mfxHDLPair *pair = (mfxHDLPair*)src_hwctx- > >surfaces[i].Data.MemId; > - dst_hwctx->texture = (ID3D11Texture2D*)pair->first; > + dst_hwctx->texture_infos = av_calloc(src_hwctx- > >nb_surfaces, > + sizeof(*dst_hwctx- > >texture_infos)); > if (src_hwctx->frame_type & MFX_MEMTYPE_SHARED_RESOURCE) > dst_hwctx->MiscFlags = D3D11_RESOURCE_MISC_SHARED; > dst_hwctx->BindFlags = > qsv_get_d3d11va_bind_flags(src_hwctx->frame_type); This is not right. QSV frames are not only created from here (hwcontext_qsv) but also from qsvvpp.c AND also by MSDK internally as VPP output frames, which means that we cannot assume the rules we are using here being followed. You need to query those flags from the (first) texture instead. > + for (i = 0; i < src_hwctx->nb_surfaces; i++) { > + mfxHDLPair* pair = (mfxHDLPair*)src_hwctx- > >surfaces[i].Data.MemId; > + dst_hwctx->texture_infos[i].texture = > (ID3D11Texture2D*)pair->first; > + if (dst_hwctx->BindFlags & D3D11_BIND_RENDER_TARGET) > { > + dst_hwctx->texture_infos[i].index = 0; > + } > + else { > + dst_hwctx->texture_infos[i].index = > (intptr_t)pair->second; > + } > + } Same as above here. With MSDK it is not guaranteed that VPP output frames will be array textures. This depends on the MSDK runtime version. They always have the flag D3D11_BIND_RENDER_TARGET, so that's not an appropriate condition. I would check .second for MFX_INFINITE instead. Kind regards, softworkz _______________________________________________ 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".