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 109AD40E66 for ; Fri, 11 Mar 2022 13:43:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 76BB968B1DF; Fri, 11 Mar 2022 15:43:16 +0200 (EET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9F21368B058 for ; Fri, 11 Mar 2022 15:43:09 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647006194; x=1678542194; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=/XArpmbOcYZ6G2ljOOEIItYx9kfJrtdtWD/TtotRRdY=; b=KvTUqHpIWg0YNatsEwvxfVUYFrLbGWwwVmbWdLay7axJXfsK0xaym6gl 1VczdPxKaEtyy6mbz4daIqtQYQ6FJYqmgCa4i3cbpPHypeXp1nuV3fV+Q fYQMQFH+jMDPMtnm6wBnb5VehZGxTTgjLQBnWcAa33HY2t00+II+ZMZ0e 5D9e59ilVifMuYdYf733dgaxTh7LPYpPNc/9REtQvP+OPGaxokoyZ2xoN em7JuL3DdTAaKrWE83PtfVXX1XIye0QMDGZ9TmFpGBYJnHciEjXBsPhxy YzvrBLab4L4AKUovP3ghdcYzz3PBKOyh77/3SDXd1qo9jX0UVF2Gu4nYk w==; X-IronPort-AV: E=McAfee;i="6200,9189,10282"; a="342000711" X-IronPort-AV: E=Sophos;i="5.90,173,1643702400"; d="scan'208";a="342000711" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2022 05:43:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,173,1643702400"; d="scan'208";a="597111137" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga008.fm.intel.com with ESMTP; 11 Mar 2022 05:43:07 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Fri, 11 Mar 2022 05:43:07 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.21; Fri, 11 Mar 2022 05:43:06 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Fri, 11 Mar 2022 05:43:06 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.40) 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.21; Fri, 11 Mar 2022 05:43:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b2EpoCYYJ9J08vnHzBtEx2iTBIWkvp+PEUuGeVnOAw4YSzd/EYSjOUOI+G04XwbmfTNw96TbNu0XW/IfrMe9BY4xztrGxpL+UG0KVTTvvKPZZJ6QG9aWjQ+y35IHGNZFojynRBOXb6LmxPWBKFGWPFHmltjasFEc2Gq5FriWxeLcRq/TrPQHh8IFn28B2QzMK6mV++ynZLEwxoPyZ55Sai55AQL99zjUHU1N0tOq5DviCDy/5RlvLx+Ox7rQeXT1QLBtrpY15rH3PPJhJt/CCRr76ax/3p6FXwWw0Ne+mLL9GQtwaj2OA1FyufRDzHbxxd5mRBVZnzcYPNHUMaMKOg== 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=/XArpmbOcYZ6G2ljOOEIItYx9kfJrtdtWD/TtotRRdY=; b=nzKNxieoPAH1A7U6iWf4I7yr0PhOzeD0EVf36VceOixrkQxs+m9BWoLz8UNIFeonOVd1+/tr9UlDbW6TkIHXF1rXu1v88OYBHB9lmNj9INUhtZ5uRzBKrPWOCU2mTHkq1nxn6B9z6+wVTYMAD5YwbPthRodmla1GLVyX/eQBXZgq/jMEcVzYGqx/BaUEkZhagLJUoicNBfwgNwFX4wKIlmMSoNdlg4YsVXMEOXFGLKjaeeeDeuoqWJ6HDbhGX9ly3R3bhIlYZN2VovlWtvzGQMvtOhofC4sRKq0gt9sGk3cL9OX4YlM5WHjEt6TBNs63sGmxehy8aNn2Il6bT/m64Q== 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 BN6PR1101MB2082.namprd11.prod.outlook.com (2603:10b6:405:51::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.21; Fri, 11 Mar 2022 13:43:04 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::7101:6a5c:456c:9fa6]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::7101:6a5c:456c:9fa6%3]) with mapi id 15.20.5038.026; Fri, 11 Mar 2022 13:43:04 +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+LIA0aRqdEVFkmcx6y525UAgABWBoA= Date: Fri, 11 Mar 2022 13:43:04 +0000 Message-ID: <1202f7ddc68d529bd517aeeb4190bacd9783db79.camel@intel.com> References: <20220311081630.21927-1-haihao.xiang@intel.com> <20220311081630.21927-10-haihao.xiang@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: 2e340d9c-5723-49d0-90fb-08da0365119f x-ms-traffictypediagnostic: BN6PR1101MB2082: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: /C+PBFewu+2T9iEL2ROOH7nCk1YU5RIwgimfLR9romZkw1UbJ0RbNkaF7Dc5QfHQYqEhYPgmTP5TBg9Qthg4g2PQxIveHUuSJ2zBUqlqtyzDXcrJyiVJIKgBLR433V05VrNUF6YXivj1grCj1GZoRlNJ8XLzfD9i/FzYDBodYZoFpm2ahcI5uzdTHjc9WC58XxVbjvUthatHiHPS0kXXXL4+hCgcNzcE2zcs34aLsfq2Es901g7cC31VhAlgJUFsoklEV0I9RlxqiuiNhAqY0Jec5e4qU2GcHfoL0bXaLVDve9iX3mxVTunoprPOTo6HGh46R1EQYJ7EN9lJdgnfbj6PXLSHEhDpjTfY8SK7lH4NmT9aoNoxf8lsC/xA8X/S/Lu+hx7KalBS8MqkZtf1Tr1v58WqlSutwsRCFblxe9VbdTL1vbuVoWjcd6CflyitHlOBdj80b+u3cwMvPYzCi6Ttbh3iZ0RAE54fXdjsSfLWfWQsXhiM/BFHS/+8s6U9e7j8sdIP6z+nqGFQrcOblavZ5UXEFCEN4bXqVrsamveiMgR5QcvzeJHtJFoASfp4+zARhRBGKfdm4H5YmwlHf/I7CvjSzRWiSziG1Z+Z+2ySGuuPs7t13oiFPgux3h9qkbTzZCD5Uij89ncaahvh8WkCctz2kewM2tmU/k4bnMxv536qVBz9YPd28BfoaTSYPdKHUTPsuM+KYgefr/jyeGp93iqpI6bHDHqaQmcWid8YS75YK/JXMWEsOM1lyD9cdiETovlIPxMRIi+FrT5q157zPPrLNKw73wiwcJX9r4mFQdaXcK4Qsn2w39CJQZ1X 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)(19627235002)(122000001)(36756003)(508600001)(966005)(5660300002)(2616005)(38100700002)(76116006)(86362001)(71200400001)(186003)(2906002)(66556008)(26005)(66476007)(64756008)(66446008)(8676002)(82960400001)(66946007)(6486002)(6506007)(91956017)(53546011)(8936002)(6916009)(83380400001)(316002)(38070700005)(6512007)(99106002)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NkxkYnVXUXoyLzR2SW8vVlg0YzJWbHRVTkdFdG54N1JKWXhTeEVKeDYzMVFy?= =?utf-8?B?Uit0RklDdEY0WWNscU9zZnJFaHdiNG4vajdrMXpZQm00L1cramJ4Tk1RbVFP?= =?utf-8?B?VlNaV3ZyczNtTm5KcndQcEFNL0JsVmwwYzlHdFUyV05kcmJleWNpU3JESDZL?= =?utf-8?B?eERKUDlJSWNoL0RMYlVaQWJZOTRDcTVBQXJId01TcDFTNzBMVmJtd1hrc2o4?= =?utf-8?B?KzNYdkh4Ly9jVjRCczRLbjluWVorMkw5b0x3QmZpY0N1YjN6YWFodFdETVBI?= =?utf-8?B?WWxWelRXaEZXK3JLZ3hZQ1dEY2NVa1RvYXJURWZ5cG9WTCsxUmkzTTErVzc0?= =?utf-8?B?MTViNTh4MFV6K0EraWx4em5JcHdhM0M2aXc2aGVEeG9OdnZBK3I4Y1o4OGds?= =?utf-8?B?MVFQNW03SVhKVWl6YUc1dndUbldCU2ZZRXd6cEFCekw5NERBTEpUZmN4Sksy?= =?utf-8?B?ajhIMnQwbjRhNUd0SHdEcFM4bGNKVmp5R0t1SFlKVU56Ny9VcytOMUNScjI5?= =?utf-8?B?bVdGOEI2M1N6ZUp4ODlXeGNjNVZBcGdncFhjSFpsa2VJVXRKSmhTelVYZXdi?= =?utf-8?B?b1BOMVRjbTFiZm5zTjErV20xUFgwajE0aE5zbU54bkdpK2E1SWtaQ1hkTzNL?= =?utf-8?B?Qk5STWptZWpSZUtXa1lGRm1ZWGkxTDRuMWZvbU92YmFBRE1sOWlWZHo1N0Rm?= =?utf-8?B?U2xiSmF2enVNQ0lwSzZQQ3RnM0p0cVU2T1l6b2VJVTZRWFJTek5rUjErRG1h?= =?utf-8?B?VEcrY0ZzczZXbTNRaktTMktQdE9XVEVYM3BlaHRYYWpLZXpzNWNJTU1NYXhE?= =?utf-8?B?Qk5QK1FEaDc2czFrSytDdVU4UjB2Q1FGRGgwVzVodmxjc3hYR3hQbC80K3lu?= =?utf-8?B?NXRVMnJBMW1vVVV4SHJWcldHWGh0bndOaCtJUC91WXZZUDEwMWg3T3I3TGcy?= =?utf-8?B?WTQxa3NlUDdsQ1hLbEhsNU9JbWcxbklJckp1Y2NpT0FaeGcwaTZSMXlsY2Zq?= =?utf-8?B?NEVEZmlqT3FrTGorZUcwVm85ZDV4UmwvMnlBa1cvYlhGckZqWXpvRjgzazdY?= =?utf-8?B?NW5OZWFKTzZwSEQzS0pjSzJiQ1EveStrL25BUjZYVDhTdEFxbUhUb0o5TFFm?= =?utf-8?B?eXZlYUJJcjVCMGdFOEN3TUlxYW1sd3IxTys5VnB4a01IcGRzUnpKUUZpdVJk?= =?utf-8?B?V0hQSXk3Q2s4cSsrR05oU3NxeUlpeVpUeGh3WkwzVW5qZ0V4YzRlTTJ6d01k?= =?utf-8?B?VjhSOUhQakZQUUVzTExyR2U2cHFjK0g0S1RBM295MUQ4UEZ0Z1lpSVg2NWdr?= =?utf-8?B?N3FnTWFRM2doSnZMeG5Fd21hN0tSWHRSb1A1YXNCdGVWd29BOUVXOFgyeFlC?= =?utf-8?B?NnpKYVhWeDNHRDhGcTcrSU1Nb2NhVm9jMjk5c0lNZHJmSW9rTlZsZ0VrYTBJ?= =?utf-8?B?VENJV3VSOHIyWEwrYVp6a3ltRWNSMzlOYktBT1BSU2twSGpkSldPWkYvb3Br?= =?utf-8?B?bjdxVlRGWmg2TkF2QlZ1S1NINmgxMHg5KzdETjJUbVpWaTlsWVdHQ01idGhk?= =?utf-8?B?dHhQaDRib0dSTUFqdGNxS3NVQU4vTWFtS2hJV3o4bmJGL3lHZkpFVzZ3WGJ5?= =?utf-8?B?RFl6STlSS1R3U3lqdVFCZ0dUWUY3ZTNhTnNFSkgzL3hNTHlEcThMUVY1Um1X?= =?utf-8?B?RGJLZkRWNkhCTEZWS1ljazIyeG1YQ3Y5N2RtUlZtZkNjVHlqeHJLTVlmNzA1?= =?utf-8?B?R1FCeFpweHdLOERjSjZaNXVhak1NaWlmR1k1REUrbXhNN0wvZmRuVUpMQmhV?= =?utf-8?B?ajVvcWp3cFg4TXlUTmRWVXJQRkMwb29FS1pJMW9tS0U2T2JueVVZcWxzSmdq?= =?utf-8?B?aW1JUVlkZGNWenBGMGY1NHN0aUhKK1FIZUVRUHlJWEd4VkNocnpUTE5SQzZY?= =?utf-8?B?WWg5TDBFTVUxZmdRamxLZU03RU1hc1BtMlhLOFZZeHh5cFVQN3NFbGlOY253?= =?utf-8?B?SkljVE55c1NBPT0=?= Content-ID: <074148108ECDC0438ED36BC8A54B6FA9@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: 2e340d9c-5723-49d0-90fb-08da0365119f X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2022 13:43:04.7190 (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: Gni1B4SuvtNaT7bTCy5P37ppis6661jWQYwoeDKqD2fBJJ/XAL/0IzVI5QJfCVdTILYFFx22Tn4SjmUA1JfGvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2082 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 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. Thanks 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".