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 996644238C for ; Tue, 15 Mar 2022 07:24:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BA21268AFD2; Tue, 15 Mar 2022 09:24:51 +0200 (EET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3EA3568AF33 for ; Tue, 15 Mar 2022 09:24:44 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647329090; x=1678865090; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=7GctTiBTRhAN2W+EKfmpHPipojnOD4uHYkpad1euyLo=; b=fEMUrw0oGbaCdqBmSp2sIS31gWnMaNNLDmLKu0vzLAOcwouRbzJrc2Y3 JJaqD63wCm3beBcWqp+qew4wz2SpEGZKrQB+y5TEFD49kCVeYolA8GyfS EecUw1LVWlahgg8iE3okbQcWO7Snkl2fpyIAvP0JLYrCUIrECw/5AThMr /fUxP87P05/3EIaWx+zHhsY1c8dCLGmOs7tC+PGIhpM0axwzUdgqTNdG6 Icxa7/8WMBdz8jXbO59qd8o31bg+SnORyII28boAlMljW49b0OEXJDNpf VUVuE8xP46uPzuEBpx0Q8QkJ42NBkmlrJT7UajUxC5I/f3+r2Px1Jasc2 Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10286"; a="256184678" X-IronPort-AV: E=Sophos;i="5.90,182,1643702400"; d="scan'208";a="256184678" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2022 00:24:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,182,1643702400"; d="scan'208";a="646120437" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 15 Mar 2022 00:24:40 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Tue, 15 Mar 2022 00:24:39 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Tue, 15 Mar 2022 00:24:39 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Tue, 15 Mar 2022 00:24:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ftauErR1+owH5UTK1rWd63xPhdynSvf0od20BaIUDICPics7xWANzW+PWqZ/NOVX9zj1xq8KmtTiwP5bSfDsdbAy9Bwld7ovvr0UFKwO3R7Hzvp2yz1Ilz7hgI7xk4eb1AvR0lR1vYIcvZ/Zi1e7yQfCgMClKzrb9toAfvZtOXUPeM48X/qAsDEBZ3PgKKLi0rtLXBQd3IMY3MbvSUPTdNN1LhS6p+gD+oM8vv168djxGnTBL/HadBwSsj2FhfiLKIG7W5/GvcydsqWz/ynRdZrWlvvCnGrHFyBbkq3g6yBGuwSipCIdFVAL6bnYEcauriUh6sM5BDXbmAUO9NKDNQ== 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=7GctTiBTRhAN2W+EKfmpHPipojnOD4uHYkpad1euyLo=; b=GWu+cQPcixy2lyqtD1tqDV4IxbBPo4kQxO9GulzWpCRJXwKlWTf8rBaaVV5Rl6YMQpuEycO5/6TtMfvpVSiz8JxiN2uEOXJeu/CTzOqa/tNoJ/seIMKlFGd+g+ZbTctg/s5d8L1UY3hRV/2XLOGF8jm1d3DjLrztXcNLSzZZFyuPgtrCsHra7O3VuxKieBtppzzfk6rfw8dvwCDpwyHCYfYlgnMGk44W6Gpcucu1rHxnADq094qstS1hE5twE8rCHbCxLegsviIKLJplrv0mEHG23r9mN26xgaNEEjCOf+H3pWolE0Lsm0L177a0k+61F3l7kqLtJ/Jovw2aBmo3UQ== 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 BN7PR11MB2817.namprd11.prod.outlook.com (2603:10b6:406:ac::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.25; Tue, 15 Mar 2022 07:24:37 +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.5061.028; Tue, 15 Mar 2022 07:24:37 +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+LIA0aRqdEVFkmcx6y525UAgABWBoCAAATjgIAF2rKA Date: Tue, 15 Mar 2022 07:24:37 +0000 Message-ID: <08febe49f865cc957dbdcb7bddadd6ecb2e0b414.camel@intel.com> References: <20220311081630.21927-1-haihao.xiang@intel.com> <20220311081630.21927-10-haihao.xiang@intel.com> <1202f7ddc68d529bd517aeeb4190bacd9783db79.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: 9714a3be-3b1a-45f1-3f61-08da0654dcba x-ms-traffictypediagnostic: BN7PR11MB2817: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: FVX+ksikwCmjGIpSNKdLm01iY3zJ77Cn1c3QAq07VvWE1JfB569jOBqpcf1E8pr2wBPD4X8Bz0ZZ4PTLp0IqM+zF18eRmWWF2V+CWuA3RFk068Yvkgn0OFWu/1aKBg75TY0wDMX8Msfb+HB1nyrYVaRjOH3bJwoKl9hXGIg2qqo9+eQ7CQcFNVBdz36UKQxpZL8QpZqz1cV3Axt8ZTL8A9+acMJo0c7bxKeGzwqMZ876RvzwGNbe+QvK8QAbRJwn27gax7rA1/cGZzsLt3kg35K2bCT1fzD3c2Z4Dkz/WDrcQ1urtjXUHue69KLbyWm0Fa+dVA3sSN3YIZ7F1KswYLynjcOQZZYKkr3PytdDc8/KLISe8yoG2ZYcsc/9YbMQOEWZzJGx7Hv+sx5Gf3owLS9BniMY1H518/TIo6gKZjdlXr35lGrJ1dJnGabY+6Zuy+5fCLg1Iwx9q/qYcvupJzWzuwpA6bxFNQ/XMB681IODbdKOBtu/pqyk0u8FU02pq+kVC+UOj0klk0KPRCTLSbQg3HwosQc1b9ZVLWlQ26qXX5Sl+7TKO20U7zS8vyml9W9tYV9xzkUoOs9JXB9q9n3duZLc8ZIavllkd+5wYRnsOuSXHTVO3gpHPkGXKpEC430H9e9ZOyZZ2+sg/rTAW3z9ooy1TekPJ6gQ5QHblkZE5ZPFQKIW2jIiy3KwHGWgFRuYSoH7sU+WnLfdoBhLCaiGSVK7iKvqIIauLF6XlXBuBzWeQixElnWDkvdkef21q1/6c1h8L1TPqX8n+PBuQ7oOgPri1YpW0XasmVSAQuIEKDlZi6TYNFBSzuMBWfaVGKmzz4IKiA0abtg1XQFKX1XJe4+G/RC6X1o1QEoasZw= 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)(53546011)(6506007)(122000001)(82960400001)(38100700002)(966005)(508600001)(36756003)(2906002)(83380400001)(6512007)(71200400001)(6916009)(5660300002)(6486002)(19627235002)(66446008)(38070700005)(186003)(2616005)(91956017)(8676002)(26005)(76116006)(316002)(66946007)(66476007)(66556008)(86362001)(64756008)(8936002)(99106002)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OEwxLzJHV2s2aUk4UnVNM2NHcHZseXhSS2FKNjZUM04vVUpzSS9kUUdVSlcw?= =?utf-8?B?V2pjZjlycDdMRWRpZ3VtUkdMNXJPL3lxemNrYnpLK0hWUE5pQ2c3UVhPc1pM?= =?utf-8?B?VDFobnB0azZsVG5XQlQyWGc2NjRRcGpOWTlBTDVZNFV2eXZrSlZ6YjlvanBG?= =?utf-8?B?aTRQcHBTdWRmWkJQS2JpelFpSXNucG5hZmFJRkRIRGZ2QlkvQlYzOGhyS25W?= =?utf-8?B?V2VseDd1VkRUTE0xSnVUdk9DVnhVL3hkVUZpS3RtWE5OVXFGeVpGbUxudTNl?= =?utf-8?B?TVhvbXVaV01iMHBSWXJDV3duVWpTVitjY3FtVjVVZnBGejh3bHlqVExJbWhG?= =?utf-8?B?aXJreXhEQldSdFZKbXJTTllDRVZkR2gxdnU1d3BJTVpHWW90T0o0UXJHYkRZ?= =?utf-8?B?R3NFR0VPaytHUm1JY3lkbnFNQ25Qbm9XRlhNaWc1eU9tVjZ0ZE9tY1IvVG9X?= =?utf-8?B?WXkvdnFVYVpIak4vbFMrOXRLWitIY3A2SllGajRzdVJETWRIVmVxT3R4SzIy?= =?utf-8?B?KzMzRFUzZDBVZHUxOGlKSzRBSDdVQnNYTVlDS0xOTCt5QzFUd3grbWRHVXNn?= =?utf-8?B?b1l3WFRyUnhoTUlwa3NJaVFDVUNxNThlb3h6RC9zTFVINVB2dS9yOGpHNWov?= =?utf-8?B?bkNJdE4vMzJidEdTZ0JUNzc5YTNpbnZON0dybnZIQ1pRU1VXVkVmS2J0cHpU?= =?utf-8?B?MjZJaE9VY1FMQVlaNlpZMjJ1S2JHekk2V21oWWlhMmpNY3lDUnIxVVpidTVP?= =?utf-8?B?Z2E2SXZGbjg5NHMxWk9uMFpRb2hsN2RnKzRHemRic2tESWlIcm5UR1FBWTk0?= =?utf-8?B?MkxsNnB0WkZNR3d6dURtdnVUUUVIbmZpVk9xNE9OZWJwbjhhVExKQkozcVVM?= =?utf-8?B?YkY0dStkTDI0SW1NK215MEFkTnVkck9Ec3JHWFZGMGk3RzQ3dUJLbGlIUmtB?= =?utf-8?B?RUhkbUNjVGxEcmdiLzU4OUxFeEVjQWhqTUR6Zi9vK2VibyttTVdkaFo4Y25o?= =?utf-8?B?MktrU2o2N3ZFd1gvV0Z4ZmF3d2hub2hDR1hBM3JPMjA5bWRrbHpabnkySmFr?= =?utf-8?B?RHkra21kS3Rtd3pWMHZzcnBYbWE3Rmo2MGR5N2N6cWdhNEkxSEI5SHh5cS9W?= =?utf-8?B?UndVekJiMlNlRzJoTjJXY2VrOXhQVTFVa2ZLNitjUFZUZGlFRjlmVDgwMlBE?= =?utf-8?B?OXVxZldYRGRaOXNzMWNpUmx5QUNnaXhMdnFLNGU0SzlVQ0lERXV0ekRyQWJq?= =?utf-8?B?TlVkYnhmU2VaZEk5Yk1zOXZBV0lEa1l1b0psazI5MFlrVWxIcWlkTHZqclpI?= =?utf-8?B?QUhpNG84eVAycWVoWjVMSEM0K0JhWUd4MldKVXdzcnc0dXFvUldKQTc2YU9X?= =?utf-8?B?T0xEOE9KTVJqbGQwTGlNL1BNZDQ2NHBMMW1ROEJhdVFRNGNLZWxGWERvSEwz?= =?utf-8?B?MkVzZVNzS1FzMGY2dWhrZnNETUJrdTR4OVdGUVN6MHRQNzZNNFVBMGVHUFA3?= =?utf-8?B?YmVMYjdSaC9DQ2NvVGRmYmgxaEJKMXBlYVVIYjMzUnZWZ0k1Ujl4dmRQUFBk?= =?utf-8?B?akdhdEZmbUsxQW5VbjAvTEpKUllwNENXbEExZnRuNHFPQ21pTkhlYk02TXN2?= =?utf-8?B?cDFOZEhuL0lPMGJ0LzZiTVB0dWFHNU1VOWprMVk2eFZoMFRueEcvOW1mUW9D?= =?utf-8?B?SFpTVG5ySUNCbDhDbTc0M280Um9rTDkxNm5aZzM4cGtuMDkwdGljTytBMUZ5?= =?utf-8?B?WTF4eFhLTjhCcUd2TVRTN3JneGJRVkVFS3QvdndkdG9SOW05dHRWWkY2QTBD?= =?utf-8?B?R2FZOFMvakpsK2pMOHdpc1JVM0hpRHR1bU1kQ1Y4OUNGOHBXclVwajlQOEdM?= =?utf-8?B?bklIalhqczU1YUU1YXpZUjNYaVpqNzFxV1pZQ1UrSGRYVVY0VzRVRnJUNm5W?= =?utf-8?B?WTdZNGZKcXo0M1ZmNGNiWDRzcHh6NFd3aXBpNWRGM0RiL2RmWWtSZUZNMFJh?= =?utf-8?B?VGhFdUIxckFRPT0=?= Content-ID: <03E79A1FAF5F7F4EAEA01FD9518EA6A6@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: 9714a3be-3b1a-45f1-3f61-08da0654dcba X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2022 07:24:37.5309 (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: UXYLv0vLT7yQu/NPk6rK5p1BJweOYKnq5JjqKjMFGlbskUjnHOYuPbx8Iis3WbbhO3tucsjAqImVlmIiyi9/YQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2817 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 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. Note We may get the specified child device (or default device) in hwcontext_qsv.c if initializing qsv device directly, e.g. -init_hw_device qsv:hw_any,child_device=/dev/dri/renderD129, and needn't change AVD3D11VADeviceContext / AVDXVA2DeviceContext / AVVAAPIDeviceContext. This change is required if deriving QSV device from a child device, e.g. -init_hw_device vaapi=va:/dev/dri/renderD129 -init_hw_device qsv=hw@va 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".