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 78E164078B for ; Sat, 30 Apr 2022 14:41:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 74D1968B267; Sat, 30 Apr 2022 17:41:29 +0300 (EEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11olkn2081.outbound.protection.outlook.com [40.92.20.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6803D68A848 for ; Sat, 30 Apr 2022 17:41:22 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dRlRus4EZBf3TpriP+EoatknI5+6cDlDoXSi/o5exRIYOM0e1KqQobsgeLo+0r2oB8Lqf77kt96zuNew8FO2Mj7/ZhiInARQ0wW1KrNOJUEZl+N+DyhRMCCY3oJP7u5KKJjXbwA3hrbKtN9D+Z61uq91uYnudUEk05ENSI15rkhD6vAZnSC/yB0LBUPTTXDgbo3wiG7P7DbmSOjyzUe5+N5LOCnP9ohc7QynTv+Oxs3QjhzpK87Bk0qJuiKH2PxiWmAy2bV6rdP7uZf4o/AC32Ud/i/uoldQJeKB+bWkhRH8AYcxyHlLAT4poPceDdKfjAjlUix/GTRROWqfc8H+tw== 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=xRhJ9Sdj3l5ETrr4jfA5yHYpuU/yuMcCLjVlWwtZGvQ=; b=DdWtjq9ky5Isbk1dImlo1+7QBkTG45rGDqWBDwSdR2dp+fJa5OMEr8h4gqfz+HNN58MPCTmA+enBe91VaThMX/j6G+jwPa9bQfJ3viJGe1KfX/3DuMKPirdnSF4px6WKNbhefxSV8wrcSDKkwHxQEZ8YULhOwrbWD3RwT582uktYJ7X3sddrjw3RcRhTJYNDw6r9t8zMf/c/RjKrbZMCcowAAxuxYJOghma2tBo8WiM1AL8ZDaL7BcmZqoNxYHlCubjcJRZT6zWI45vkWT4i9mTGAz7QXWiJ7bL2GE/7CUy1PMGIo+OzWxiYsfrC42I5k+WuvlkUgFA6ziwZeY3TWA== 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=xRhJ9Sdj3l5ETrr4jfA5yHYpuU/yuMcCLjVlWwtZGvQ=; b=iOFGzZWjlO9B+o4qevgyp13wNKvwzmji07fa996A2hHCCB91oJhVmNUjRMrcartyZtepRqBEoy9KmqOXGyQzi0WVsjhM+4RNkeczAG25V0YC7f3EqBhefscSfZ/Ft5qVHwRJsiHXo/o7ibBqzrFsiuuob7P/w/V+QH0l8LQuVZO1jKoNzpECR/fOS0l3hqjtxZ3vSt3G8wsybv+TasA2iDtNWKMahGFak+AEKckNwZIMxBM0kmeCinXalM1f6lKZKP46/X9IWADweVm2G7kgYGIPnMSodgwctdX1WYLaUzpZWrcF9Ue/Fh/TZr+3fZGG8UdEHGIL8uoapqLHFr2V+g== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by IA1P223MB0497.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:3eb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Sat, 30 Apr 2022 14:41:19 +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.013; Sat, 30 Apr 2022 14:41:19 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2 3/5] avutil/hwcontext_d3d11va: add a format check for staging texture Thread-Index: AQHYW7ZLGkWM+NlWi0SFVJDGSZ1td60IgWMA Date: Sat, 30 Apr 2022 14:41:19 +0000 Message-ID: References: <20220429104505.1747-1-tong1.wu@intel.com> <20220429104505.1747-3-tong1.wu@intel.com> In-Reply-To: <20220429104505.1747-3-tong1.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [MLDISaZOQlQ5puexn8GB8jI5OV9jDXhU] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ab00fe5e-e48c-497b-28a2-08da2ab77d3c x-ms-traffictypediagnostic: IA1P223MB0497:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8d/ckprVJj+F292kh7K0kD21JMoZI7jD7dChfVPfPVaVWFbIpfrJr9mGYaOAixmfUaiC/MZ9N73+9+wonXviO5cUy2KcjAASQvVb2CeGn9dZSMZJypo58RC/0WDyxasXgEzSABEH/c2tJRN8279VtfNd40iJUOd7FbLc3EzecEXSDtSfhwrnA6xvShyzQRlZoc+lhiDXZxAjv29AE3YJS4Ga7IZcIXauyFL8dxe6zpk24Bl2QgtP6gomMe/ZNm6sg2TwVLdNoqRjZDj0abt1iXWMXmlm1hSaEYU6FSvcEtjrUHHpUf/W4WiJkJBtuhZbveVkeurAj7jf1TFv8UffCumR4GHeHqaFlDN6WOiO763ZbF1GASJp35D+ByohK/OsKUEgtYs5i3KtJiFsSZcq4DaAsLZLeEJQpKolpnCnTHd+eVqo5rxPRKp8x9PXqV5893EpfgXDleM4mq6QdBHFqEz3Kn8OUpMBfSiWCNsflpXOciIL5nnY7QIrrGvZOfEgm5ikajQBzUc/O3JpmxZM56qJu4FP9L1XW3jmempkonOb7KuXPYfWVyoCtHFJIplDV/Qlqh3r3fFJLKrXBteQzQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OTNNOW5LOFNlMGdOSGxFT0k3VlJINWlVT1kxcE9aUnNiZFRkK2lKUk5pc25E?= =?utf-8?B?anJmVUZGVXJ0VDRseFR2VVdRcUlLQTB5bXJkQmhlbGlOdVc3SXNuTnkxRDB2?= =?utf-8?B?M0h5OEsxclB0VnRUczdibWpnU2w0UjBmNkVWSFp0MC9YTlBBZXR3Tm9lYWF1?= =?utf-8?B?eDJ0aVlZTzZ2eDd1NDFqR3gyVnhVU2tuZ3d3UjRmV2hHNWE3QTVqL0w4Uy8x?= =?utf-8?B?eG1PbUl0SUI3bWpTMDFFeis5MVVoZks1dVNsNGpHN0RCSzd0RFFTRWdLNU03?= =?utf-8?B?cXFQdWE5blBFOFUyc29OcWlsSUZYUHFLdkc3UWhqOUxJamU1Z250dDF6bGNt?= =?utf-8?B?Vno1Q0d2RnZmOENhRWJWaXpXNEl5UkN4NWcrMVh1bFgzUTVuZmV5YkNFWERv?= =?utf-8?B?SXpLUWZjRmlWNzFWQTgwUUNTbGdSQ0p0dEl0N2h6cStKZGZac0JqY0dvV3Ra?= =?utf-8?B?SWNXUzJqbkdZZlBZOTNLL2YzTDFNaUppbWdmaGxqMnV2N0tQRXgvTTJZemh1?= =?utf-8?B?a25zU1doZVQ3ZnBqTlF0VVZrd1FqNlFraHc4K2VibTdPN0ZQU3d3a2hpRVpP?= =?utf-8?B?UVBFcmVoRXFmTkQvZ21qaWZIa05QeGZjeUs4NGxvLzFicDZqYjRwYUFzNU9Q?= =?utf-8?B?eTFtOVVtT2dYaDcvd01WbUxNNnhPSXl0dlJYcmtBbWhIck5aL05GMlVmOTd5?= =?utf-8?B?YUdPNmxIaWM1c1paVlg2M3J6UWxOSGZ4eW8zQ0I2cEdFV3ZpbmZMYzJ1SjFI?= =?utf-8?B?NDhKNkhTOFhHQUlSK2tIZE4xSncxNWlVUXErTjFGSUtCejUxM0ZwOGZnK3pB?= =?utf-8?B?U0VOalZodjJrZzhYb3ltSVlMWXc2QytPN0JJazF5U08zMGpHSUJRNGlJcUdm?= =?utf-8?B?eFBUOHNFelNMQmFFcFp3WjlTL3VNeExOaUZobzRSOXp2WDhSalZHUjZyWnNC?= =?utf-8?B?R2VjU3ZwVUdzaTN2ZUliOStzK1N2YnQ1NGNMam04c0h4V09IM2Yxa215ODJw?= =?utf-8?B?R3BqbHRYZkliMHNqSG1hMTUrVERsamNJWWlaMFFmdHJrQUtQYlVWakpKZ3hl?= =?utf-8?B?OGFML1hCd0NBbjZteXplU0Q0U2pKZ1pMSForUmRWMXowYjh6UEprUEVkbE8x?= =?utf-8?B?OU9xbVJYcFU1eUcxV3l6aWVPMVpabUNnMnozelVoZ2l6T1MreUdFNzNBaU8y?= =?utf-8?B?d1RwaFZZSlZVNHllNm9zdStjQjZCZnFNT1hhSFhSU3Z6bUZGRWZENWxpSnFH?= =?utf-8?B?c3FZdnZyWlZTQVRrS05MT2FMcldEZ1NpdzhGcEtjNUNMTWFMQkpWdXNnT0gw?= =?utf-8?B?anVrU09aQkhCQ2pnck9XYjB2cHhMYTZGNG82ekhySUYrQTVwSFdydTh2cnRy?= =?utf-8?B?Q3Bad0lVOVRla1RQNXpLdkxaQzBWWUlKdTRmZW1UdXZsczJHa2UzeVprbTFL?= =?utf-8?B?OUwraDlxZklVWkVZTWxnbHZxYzRFMUlVaHlON3BWd0oxU2xJRjMrN2VMWktL?= =?utf-8?B?ekFNRDlYRnRmbkRLdXRkT2tyZWZnNlVKTnNXWk1UTXNCM2hhTU9tbm5vOXdT?= =?utf-8?B?NFd0aFZjTzh4YzJiWDFCSDcvaFBVK2I5Ni9lQVcvTHVKcDZ3L0VROUFhSy8r?= =?utf-8?B?RmZUeHUvWEhnT1JBbStBaVVRZDRRT1Zrd3dUQ1BleEFRVm1TdElHYktjYVZP?= =?utf-8?B?ZUxRalA5NHF1bm1qQlkyQXFETVJMbzh4dE43OVBsS1NrbWt1cUN4VDNlU0tr?= =?utf-8?B?a01QMmtiUXJkYjlIeUhOa3hVNUh5TEpMMkFiZzZxaXMyM2VLT0JKVllxa3Iy?= =?utf-8?B?QnN5bnl4TzJueW13cGFscHc5VGFUWXMyNkRRbG96U3ZnZHpNNVBkbHNtSnI3?= =?utf-8?B?VjZFQ2ZzSk5BR0hUNmVtcmJISEF4U0J2M29Ka0NyQnE3TmorN3p0M2pPZm85?= =?utf-8?Q?VHEpNLwNMu8=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: ab00fe5e-e48c-497b-28a2-08da2ab77d3c X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Apr 2022 14:41:19.4197 (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: IA1P223MB0497 Subject: Re: [FFmpeg-devel] [PATCH v2 3/5] avutil/hwcontext_d3d11va: add a format check for staging texture 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: Friday, April 29, 2022 12:45 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Tong Wu > Subject: [FFmpeg-devel] [PATCH v2 3/5] avutil/hwcontext_d3d11va: add a > format check for staging texture > > The texDesc.Format needs to be filled in with a corresponding format. > I > add a format check to initialize the format in case sometimes the > ctx->internal->priv is not initialized, such as during the hwmap > process. ctx->internal->priv is D3D11VAFramesContext. When it wouldn't be initialized, then hwmap couldn't work. D3D11VAFramesContext.format is set during d3d11va_frames_init. You would need to find out whether init is not called or whether AVHWFramesContext.sw_format is not (yet) set during init. If that doesn't work out for some reason, I think the next best solution would be to add a 'format parameter' to d3d11va_create_staging_texture() and in d3d11va_transfer_data() (the only caller) do ID3D11Texture2D_GetDesc() on the frame texture ('texture' variable) and pass the returned format to d3d11va_create_staging_texture() Kind regards, softworkz > > $ 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,hwdownload,format=nv12" \ > -f null - > > Signed-off-by: Tong Wu > --- > libavutil/hwcontext_d3d11va.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/libavutil/hwcontext_d3d11va.c > b/libavutil/hwcontext_d3d11va.c > index db529acbb4..0ec0e07d3a 100644 > --- a/libavutil/hwcontext_d3d11va.c > +++ b/libavutil/hwcontext_d3d11va.c > @@ -349,6 +349,8 @@ static int > d3d11va_create_staging_texture(AVHWFramesContext *ctx) > AVD3D11VADeviceContext *device_hwctx = ctx->device_ctx->hwctx; > D3D11VAFramesContext *s = ctx->internal->priv; > HRESULT hr; > + int i; > + > D3D11_TEXTURE2D_DESC texDesc = { > .Width = ctx->width, > .Height = ctx->height, > @@ -360,6 +362,20 @@ static int > d3d11va_create_staging_texture(AVHWFramesContext *ctx) > .CPUAccessFlags = D3D11_CPU_ACCESS_READ | > D3D11_CPU_ACCESS_WRITE, > }; > > + if (!texDesc.Format) { > + for (i = 0; i < FF_ARRAY_ELEMS(supported_formats); i++) { > + if (ctx->sw_format == supported_formats[i].pix_fmt) { > + texDesc.Format = supported_formats[i].d3d_format; > + break; > + } > + } > + if (i == FF_ARRAY_ELEMS(supported_formats)) { > + av_log(ctx, AV_LOG_ERROR, "Unsupported pixel format: > %s\n", > + av_get_pix_fmt_name(ctx->sw_format)); > + return AVERROR(EINVAL); > + } > + } > + > hr = ID3D11Device_CreateTexture2D(device_hwctx->device, &texDesc, > NULL, &s->staging_texture); > if (FAILED(hr)) { > av_log(ctx, AV_LOG_ERROR, "Could not create the staging > texture (%lx)\n", (long)hr); _______________________________________________ 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".