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 07BD842916 for ; Wed, 6 Apr 2022 03:58:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2718668B211; Wed, 6 Apr 2022 06:58:38 +0300 (EEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D5D9268AFD2 for ; Wed, 6 Apr 2022 06:58:30 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649217516; x=1680753516; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=hSyeVamTTDFi/2xOTYESFS08dPXuNjHOMvzpHdQDziA=; b=ag+1+tiWDU6kTwPXhX1yWJ86U65GSMB9FJNzjAPl1HJ1YTsgJ1RujrgN MxaEXFx8bZb7pukpe1+241I9dZhZ+s7TbFYa0AGCYHZoyZL0iM2DygGQ+ 8JUGkHsXE6ZUNXs52GkQfWu78zwCsD7sdX+x1ELIFsJqeB7OWvm6xy+27 1mxtViScYceiOmyFVz89AbyybPR1bE4oBzUUQRkUFbNhnEOscnAFe11GG u/jrRLmiAPgm2kV3szlD0peXHGOraf6jcv3RDRL3kZ0TaEJlqrxtgGZK+ 4iqGbQmz6oWAl49M/YHzuRLcSjOuk7RoihaWjDmnu3iWA3DNmSh4QfZeZ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10308"; a="321638530" X-IronPort-AV: E=Sophos;i="5.90,238,1643702400"; d="scan'208";a="321638530" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Apr 2022 20:58:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,238,1643702400"; d="scan'208";a="722343737" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP; 05 Apr 2022 20:58:27 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 5 Apr 2022 20:58:27 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 5 Apr 2022 20:58:27 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Tue, 5 Apr 2022 20:58:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fJpGRw/47IakEDn0vuo7BfsFW9T2e+9gA0KcACyfzPwV+ALll3/tQkgYIA1j4m7323pUAVvO0vEsw9AHJJNaF4BicmH9uYe3VtbBzrgq8hHfCNwG74ueXtU6f6dggKb1M/uyHkp3MQEh2xEEDviQBNkAPbhysY2r92Z5uG5kaYGwdaQQqgj45m7GXfk0D0CJHsWY21JqHRPuHlQWFVSR+4iAaCM40vAUegl3JFLXayEpf+V6UQufn5sf8MRXb0NAuvPA2n2rTjla4UGRhoVOCphGLJUoenz+COTop6o2hbLB77cLUDlcXCU/cyKlY0ML8mSsjxNn0k2a8vzljeRxHQ== 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=hSyeVamTTDFi/2xOTYESFS08dPXuNjHOMvzpHdQDziA=; b=BihUpkwwTSGHduT7Bmy+ZC2MBQv6TcO4VnXBGzqBeA4O/VDvcgg/5lxsNm0o2xW7BpUjpTxWcR4mRFcEBggzPvBzzGjouKTjdEW1AZMFdYPg8QPalV5Z+imRXDDrCcBC+GApf27Lynajr1wsUwmpgNAF9q4Xf0eUZZOrGVk/YeR4QoD8h9tBk17dHWImNfnIrtpj+XDAbOQ0Jh3cYIOfM1YUQllYZAR2y9fZuXAeRN8WDHT5cvYJxdmelwziPR96/2E1arMNpyOspXSwjgoVD6St+BlX8EFybSv1Bgz/7h5T/wXPJWv27B8Q8VqZDRHEdZXbuk1aFqWFsZXk2t07xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by DM6PR11MB3690.namprd11.prod.outlook.com (2603:10b6:5:13d::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Wed, 6 Apr 2022 03:58:25 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::c0b8:e06a:3d29:da25]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::c0b8:e06a:3d29:da25%5]) with mapi id 15.20.5144.019; Wed, 6 Apr 2022 03:58:25 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v7 09/10] qsv: use a new method to create mfx session when using oneVPL Thread-Index: AQHYNSBqcT+tJ+LIA0aRqdEVFkmcx6y525UAgABWBoCAAATjgIAF2rKAgB+WXQCAAsNRgA== Date: Wed, 6 Apr 2022 03:58:25 +0000 Message-ID: References: <20220311081630.21927-1-haihao.xiang@intel.com> <20220311081630.21927-10-haihao.xiang@intel.com> <1202f7ddc68d529bd517aeeb4190bacd9783db79.camel@intel.com> <08febe49f865cc957dbdcb7bddadd6ecb2e0b414.camel@intel.com> In-Reply-To: Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f94658c9-4573-4456-e2dc-08da1781b352 x-ms-traffictypediagnostic: DM6PR11MB3690:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8Zl+ALTnUYQXA/V57cpfipJEj2A/+K+hGVmb9C6TBDKdK06EszbDxIc//nr2h5fq5E8y8bcmoX5gY5xPp5APmE16qiaX4odwC6lj+Ca2ErJMnXc7rmaJ0f6E0056RO6OgVtFjr3IUO3O2KDptNpwjtLkMCLqTd+3hCX28g8s6hCDQxuyvkkeWG9U7rIYoFSxoWAoAsyEFnJ89TBAfByXbYfPMQcf6u/CKraX2fjAtCL7H5bWIhRApAfPckk2VJY9B2kNeN2Ps1maIBl7kFzGwaCINONw/dt28rHw/lkmBMNHvoONmGA8Am3b0Qx2CBi3eJ38315GzH3I2PcxILlZM7jd5NEaBWmHCeLxLbWe7Uuhy5oZC8bmpzZSPonbFrkZ2k6orEslUISf5vJ5uI/I8/jjjcl4vWGi7C74C/E4GSYvQnciefdqKFVySXaCBxaeeroVbHJzDeJrCTmkNW7S9qvOnq+UqnPLOW0lxWMYYplCgFMxI/tdANad5XF2keQ51iWwKxutuid4due/6R+OF4ri0BBSXXNez1+iw9QzX2GMp0qJvwcJyAa0Oh9KRQufuy97vykqvkAKlYOhOvDNu8tp70VikflktEiyRa4AvsyoXHPPF6A5D8KOmCuHMHD1jmrk2GmtXp0pFVTyfQymPk+8keRw0xs4eNeogE1V9DwB7tpxpPeJdebgCQiqfEzYx+FgZA1mSoQK/jMYkDrho4GDOvaqPa0F/53LAs8cstYbCR3lEICp/ZJv9w3yFeWVUlggZv+iA3VRI/fB7SUsX0f8/bFNn7TeP+Ky7Znh/JaxSEoLxxBdodgN3x7loYZ8PL/hm6fUmbg+5xuBqwBfDFNkhLtPlBQkVDsVAmuxOMY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(122000001)(76116006)(83380400001)(91956017)(186003)(5660300002)(64756008)(66476007)(66446008)(66556008)(2616005)(66946007)(38100700002)(82960400001)(8936002)(26005)(38070700005)(8676002)(53546011)(6506007)(71200400001)(6916009)(508600001)(6512007)(316002)(19627235002)(966005)(6486002)(86362001)(2906002)(36756003)(99106002)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UW9YNlpDbTFGZ3JiUUJYL1NFN2RPV1htR2s5d2dWS3BNOEZzdFJGblMvY0pM?= =?utf-8?B?N2JuRUZYaHZrbWlsNW9Ud1I2dEROYzNIWnNLOFdycWpwWTNicmdLODlLaldY?= =?utf-8?B?b1JCNEV2em9FTGI0Rm44aXpoMDAvY2tqeGNIRGp5dENmNTVSdFQwMDhNNjlv?= =?utf-8?B?SzlHUmFUelRiNnlyL0ZIY2RXRTlaOTYyeXI4ZFhPL1pnK1pSTzhnRm85MFp1?= =?utf-8?B?TytoeTRRTERzbFZCZkxKN0FrVzRPdXd4N3F6VzVlNEJkeUgxaFFuTmlBK244?= =?utf-8?B?TUFiSVJPbW9JUnlhRzhLYXNYQTdNSk1BZU93YjFUOEVwamllbXczMmo4VkxQ?= =?utf-8?B?TDA3Nk9USU1aZUxBQjhxZjljbjN6bG9PdDFDNHFFMnhHZUtFVU1hZFNTbGhU?= =?utf-8?B?RVVENW9kd1NRL0VORFN4bGVnYllKanhaYW5MNmcxdE5kNUhqZFQ5ZHg4bk9B?= =?utf-8?B?bld6VTJWVnBXZVBjb3VMbFNvQm1kb2E5RkZ1SWE5UjhRWmU5b2hLcXptZEtk?= =?utf-8?B?aFQ0WVlDbC9YZmdwLzJiZ2VuUU9uTVBpSzhMZlA4Zm1MK0NQWVEzYk1ZdUY0?= =?utf-8?B?UEg1cHJCeGhQaVNmMVpPN2xPamhsMURYdFNQTk9Ha1ZjWU8wSTJlTVNBdjJs?= =?utf-8?B?VnBXcFNER1BuLzJQMTFKUmtnbVFrNzFUN0g2QUIvSy94TFFxNHNoUDB3NDhK?= =?utf-8?B?aVFnUU5IM0ZaYk1KaGYyNytlbTdmaGFuR1RqdlBIZEh0dDdQK2NOTTg5SnVP?= =?utf-8?B?RVhyd3ZCVExEdEExclVEUExTRGFRYVAzMDZGTE1xMGlGbDdHOTJNc0ZBU0xs?= =?utf-8?B?MXh1V3dQTU9mb2RJVnF2NVVHNGY2cEwrRHQrVC9TdGw4d1V5a2Nhd3R0MzU0?= =?utf-8?B?NEVHTG5NOWVpb1FMaGIvdkkyeC9pWHYxQlNETzZ6cmRqdG1CL242Y2ZiOTFS?= =?utf-8?B?RDhRYS9IcW9FQ0JsYlZ0UGFrenkrQURDSGFhVmxnODc1RGhGM29EcEoyZWht?= =?utf-8?B?MWVubGwyMTV4S2QrS2hpcHZHQ1pwM3pFWUJmMkdXTFBDWlczaDJwYUlKTnZX?= =?utf-8?B?Q1JlZTBKVWZJR1dIRElCMW9rT1hVS1BtbEpoSmRHV21RazliRmk4a0lpVHVN?= =?utf-8?B?Qk9xSDlFWU1rU1VKdzhCMUdNOWdUVVdwMUtvZmtvNlhFbjlrcFFWME5pUWV2?= =?utf-8?B?Q2ZzR2tYeVVoeVBCWUdVaW5wVVJoTVN5TVRhdGhaYlJ5QVc4SnpIb2sxWkZH?= =?utf-8?B?ZjZUZW1QYVNqVGxTMFJ2bFR0RTkra2M3aHlqTlpUVUtmaUYvOTB6MUZPZmNp?= =?utf-8?B?N0RwNXFnSE5XMDVmaEl0aXFZWnd4TnFuQlg2ZGZzN1daZzBYQVg5ZEtoaGdS?= =?utf-8?B?cHdKY0FPaUpDaVQ2ODNUVmJtYy8rMDRUMDZSUXdIaEdwd2dpZFpaN2ZkL2lw?= =?utf-8?B?ZmY2amRKS0YzdDZwNGxxR25kNnEzRjkxVlp6UStsSmVCRVk5Y2t3SmhQaFA3?= =?utf-8?B?a3ZvcHBod2pLSVo5ZmsrM1c2U3kzSXlYT0hPSW92OGtBM0Q5ZGw5ekxOS0FX?= =?utf-8?B?T3AwOVBNQUhtMkYrTG9HWFRIUldic0hEbE94Tm8yR3pkeGZ1NG16TUlLUjdP?= =?utf-8?B?NnJ3Uit1a1UxNHlVUFJpcy9RSmVKWUowU2JuNDM1VUQ0dmh0bTY0dzlEaFJV?= =?utf-8?B?ZkJ2d1BFenJEYXl4Y2tHUWxmZXYvYlVMOUtQdFFCZnBaWTNOQWZhbHk5ZVJF?= =?utf-8?B?OGZQYXB6RENHZForNXovWDlGbnlPWHptSG1kS0lBM1owTVJhNE93RWRNVGY1?= =?utf-8?B?Y1lmbjFqWWZYNThsT0RjbkN2K0M4RnNONGF2eXZGK2ZodUloT1NaaFpiV2Rp?= =?utf-8?B?Wmh6ZzdjOUJTK0xRZHNvWTJ2NlBjOHpyTDhEaUV2ZlNFajV4NjdDOFpESWgr?= =?utf-8?B?RUhXVWdUMUh5VnpuRE1qelo3SEJUUVFTYkszWmN0OFUvSFU5SmFvZjZkQkdK?= =?utf-8?B?SG5iNmFpVXhvRXZCUEpUaWdtNURaU29jS1V3T1hoakxldTRZdTN6YWFmRklq?= =?utf-8?B?ZDJhd1QzVFp0SEZKUDEyRFVzbzdrdHFyWmdUSlMwcEZpRldIbUZpZ0pGY0pw?= =?utf-8?B?UTVaY2JtOElFOTFzVm1xZGJMWTgvL0VCU0V4NWVxVUtBUDB3bVVmQitibDBu?= =?utf-8?B?Vk9iZHM2QTVvSFdpUjZJQnZiY3lDTTJHQzJPdTJ4Z21rcUpjUSt1b29uQVov?= =?utf-8?B?anJLQkRYYkJEcnRzRnM0M0RGUER3NEpVdlFzWlVyeXlLZGxTdFlGT0YvWERp?= =?utf-8?B?d3poS2huM1NranFsR1NheXlJUklvaC9hUmltRkVybC9nV3I1NDA5Z29COWN0?= =?utf-8?Q?EHG9TGH80QMJynPs=3D?= Content-ID: <7FA195B9F07640449B116485B1391127@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f94658c9-4573-4456-e2dc-08da1781b352 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2022 03:58:25.2339 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rjH3n8iPK3t+D5vLOCtt1k6aLVE5xih3XGRsmqmL661RxcMVYIg2QRXIYXrQDFOz1hf6PTjSPip6nkGooiG4JA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3690 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v7 09/10] qsv: use a new method to create mfx session when using oneVPL 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="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Mon, 2022-04-04 at 11:46 +0200, Hendrik Leppkes wrote: > On Tue, Mar 15, 2022 at 8:24 AM Xiang, Haihao > wrote: > > > > On Fri, 2022-03-11 at 15:00 +0100, Hendrik Leppkes wrote: > > > On Fri, Mar 11, 2022 at 2:43 PM Xiang, Haihao > > > wrote: > > > > > > > > On Fri, 2022-03-11 at 09:35 +0100, Hendrik Leppkes wrote: > > > > > On Fri, Mar 11, 2022 at 9:18 AM Xiang, Haihao > > > > > wrote: > > > > > > diff --git a/libavutil/hwcontext_d3d11va.c > > > > > > b/libavutil/hwcontext_d3d11va.c > > > > > > index 8ab96bad25..e0e820f164 100644 > > > > > > --- a/libavutil/hwcontext_d3d11va.c > > > > > > +++ b/libavutil/hwcontext_d3d11va.c > > > > > > @@ -525,6 +525,13 @@ static void > > > > > > d3d11va_device_uninit(AVHWDeviceContext > > > > > > *hwdev) > > > > > > } > > > > > > } > > > > > > > > > > > > +static void d3d11va_device_free(AVHWDeviceContext *ctx) > > > > > > +{ > > > > > > + AVD3D11VADeviceContext *hwctx = ctx->hwctx; > > > > > > + > > > > > > + av_free(hwctx->device_name); > > > > > > +} > > > > > > + > > > > > > static int d3d11va_device_create(AVHWDeviceContext *ctx, const char > > > > > > *device, > > > > > > AVDictionary *opts, int flags) > > > > > > { > > > > > > @@ -537,6 +544,8 @@ static int > > > > > > d3d11va_device_create(AVHWDeviceContext > > > > > > *ctx, > > > > > > const char *device, > > > > > > int is_debug = !!av_dict_get(opts, "debug", NULL, 0); > > > > > > int ret; > > > > > > > > > > > > + ctx->free = d3d11va_device_free; > > > > > > + > > > > > > // (On UWP we can't check this.) > > > > > > #if !HAVE_UWP > > > > > > if (!LoadLibrary("d3d11_1sdklayers.dll")) > > > > > > @@ -561,6 +570,10 @@ static int > > > > > > d3d11va_device_create(AVHWDeviceContext > > > > > > *ctx, const char *device, > > > > > > if (FAILED(IDXGIFactory2_EnumAdapters(pDXGIFactory, > > > > > > adapter, > > > > > > &pAdapter))) > > > > > > pAdapter = NULL; > > > > > > IDXGIFactory2_Release(pDXGIFactory); > > > > > > + > > > > > > + device_hwctx->device_name = av_strdup(device); > > > > > > + if (!device_hwctx->device_name) > > > > > > + return AVERROR(ENOMEM); > > > > > > } > > > > > > } > > > > > > > > > > > > diff --git a/libavutil/hwcontext_d3d11va.h > > > > > > b/libavutil/hwcontext_d3d11va.h > > > > > > index 77d2d72f1b..41a315b9e6 100644 > > > > > > --- a/libavutil/hwcontext_d3d11va.h > > > > > > +++ b/libavutil/hwcontext_d3d11va.h > > > > > > @@ -94,6 +94,11 @@ typedef struct AVD3D11VADeviceContext { > > > > > > void (*lock)(void *lock_ctx); > > > > > > void (*unlock)(void *lock_ctx); > > > > > > void *lock_ctx; > > > > > > + > > > > > > + /** > > > > > > + * The string for the used adapter > > > > > > + */ > > > > > > + char *device_name; > > > > > > } AVD3D11VADeviceContext; > > > > > > > > > > > > /** > > > > > > diff --git a/libavutil/hwcontext_dxva2.c > > > > > > b/libavutil/hwcontext_dxva2.c > > > > > > index 53d00fa815..6967357093 100644 > > > > > > --- a/libavutil/hwcontext_dxva2.c > > > > > > +++ b/libavutil/hwcontext_dxva2.c > > > > > > @@ -431,6 +431,7 @@ static void dxva2_device_free(AVHWDeviceContext > > > > > > *ctx) > > > > > > dlclose(priv->dxva2lib); > > > > > > > > > > > > av_freep(&ctx->user_opaque); > > > > > > + av_free(hwctx->device_name); > > > > > > } > > > > > > > > > > > > static int dxva2_device_create9(AVHWDeviceContext *ctx, UINT > > > > > > adapter) > > > > > > @@ -571,6 +572,13 @@ static int > > > > > > dxva2_device_create(AVHWDeviceContext > > > > > > *ctx, > > > > > > const char *device, > > > > > > return AVERROR_UNKNOWN; > > > > > > } > > > > > > > > > > > > + if (device) { > > > > > > + hwctx->device_name = av_strdup(device); > > > > > > + > > > > > > + if (!hwctx->device_name) > > > > > > + return AVERROR(ENOMEM); > > > > > > + } > > > > > > + > > > > > > return 0; > > > > > > } > > > > > > > > > > > > diff --git a/libavutil/hwcontext_dxva2.h > > > > > > b/libavutil/hwcontext_dxva2.h > > > > > > index e1b79bc0de..253ddbed51 100644 > > > > > > --- a/libavutil/hwcontext_dxva2.h > > > > > > +++ b/libavutil/hwcontext_dxva2.h > > > > > > @@ -38,6 +38,10 @@ > > > > > > */ > > > > > > typedef struct AVDXVA2DeviceContext { > > > > > > IDirect3DDeviceManager9 *devmgr; > > > > > > + /** > > > > > > + * The string for the used adapter > > > > > > + */ > > > > > > + char *device_name; > > > > > > } AVDXVA2DeviceContext; > > > > > > > > > > > > /** > > > > > > > > > > Why are these device names required? I would think deriving a child > > > > > device would use the actual device, eg. ID3D11Device or > > > > > IDirect3DDeviceManager9 (and whatever for VAAPI), and not some string > > > > > (that may or may not even be set). > > > > > It feels quite a bit icky to store these in the context just for qsv > > > > > to do... what with? > > > > > > > > Yes, it is a little ugly here. MediaSDK or oneVPL application creates > > > > mfx > > > > session and the device (dxva2, d3d11va or vaapi), then pass this device > > > > to > > > > the > > > > SDK through MFXVideoCORE_SetHandle(). implementation is introduced in > > > > oneVPL > > > > ( > > > > > > > > https://spec.oneapi.io/versions/latest/elements/oneVPL/source/API_ref/VPL_disp_api_struct.html#structmfx_impl_description > > > > ) and user must select an available implementation before the creation > > > > of > > > > mfx > > > > session, however the device handle is unknown in the SDK when selecting > > > > an > > > > available implementation, the SDK provides a method to select > > > > implementation > > > > via > > > > the given adapter (on Windows) or DRI device node (on Linux). The > > > > default > > > > implementation will be selected if child device name is unknown. > > > > > > > > > > First of all, whoever made that API should get a stern message. > > > Expecting to properly interoperate with the dominant platform APIs > > > should be a primary goal, and it sounds like it was somehow shoehorned > > > in after the fact. > > > > > > For D3D11 for example, you can get the IDXGIAdapter a device was > > > created from, isn't there enough information in there to pass-on > > > without storing a string field? > > > IDXGIAdapter::GetDesc has tons of identification information to > > > identify the device in use. > > > > > > D3D9 probably has something similar, haven't checked right now. > > > > > > Thanks for the info, I may get AdapterLuid from the adapter description, > > however > > the required parameter in oneVPL is the index of the adapter, is there a way > > to > > map AdapterLuid to adapter index ? (Sorry for this dumb question) > > > > There is `IDirect3DDeviceManager9 *devmgr` only in AVDXVA2DeviceContext for > > D3D9, it seems we have to add other members to get adapter description. > > > > As for vaapi, there is no API to get the used DRI device from VADisplay > > handle, > > we have to store this info in AVVAAPIDeviceContext, and I prefer using the > > same > > way for d3d9 & d3d11va too. > > > > I'm not sure about VAAPI, but not storing a string just for this one > purpose seems like a win to me. > What values would > mfxImplDescription.mfxDeviceDescription.device.DeviceID contain, and > would that perhaps match something in the D3D11 or DXVA2 device > description? > > You already have big alternate pathes inside those functions for > windows or vaapi, so that doesn't seem like a big step to handle > separately. Thanks, I will try other members in mfxImplDescription and update you whether it is doable. BRs Haihao _______________________________________________ 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".