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 763BF42A32 for ; Tue, 11 Jan 2022 07:01:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DC0F968AEE2; Tue, 11 Jan 2022 09:01:36 +0200 (EET) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0F772689CFC for ; Tue, 11 Jan 2022 09:01:29 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641884495; x=1673420495; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=ihjigvvEWtZhWbJv4x8OcdtLBpcgjsuq/rNNtYEl5Tc=; b=JFXdOnfc+fa9jY2lJdWIrkGAaz90dJTy8FjVrE6MAwvJtEQwSz98/+Bh T+o1rX5mEE+D8KzMJpz1SchMB7Ze620zxCeeVoDdaErnrnmXitZaBdrkU YKQm4JdMq4xTg5yYfIPeW+0Gdn8USWi49kn2XWbyesFC6ZPCBpfNQ/1b+ 9GE+DVzIYjnJDKeQgpYJMWxKc1O9KIAckjWmd1R7CbQ8wpXN5g2EG+oEK ZdQQPnOBnv5eAfpntgzJwZv5p9i39nQeZIZKq7sZQlxdPyfFkRq6i97mk c+KqMVcavsW+cmq175+yIedLiTvNC4gyWXjRrKk5l2ud23TrwEAVpV8v7 A==; X-IronPort-AV: E=McAfee;i="6200,9189,10223"; a="304156165" X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="304156165" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2022 23:01:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="528620256" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga008.jf.intel.com with ESMTP; 10 Jan 2022 23:01:27 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) 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.20; Mon, 10 Jan 2022 23:01:27 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 10 Jan 2022 23:01:27 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.20 via Frontend Transport; Mon, 10 Jan 2022 23:01:27 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Mon, 10 Jan 2022 23:01:26 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HsptIyYISvy+TUFGiKh8q2bskQNT3aJ4n5cEwcIRCzosb9kfYL2bscgJAK74Vu9ygA2OR36ZTHPZZ9xJQsvRpYvu8tqo6lUYY6KXuhQy8Fte8nDecXx7u0Wdl4bkdd+yqYzxj4BGRnkQ9rA+svhXKwf5INFPDkFSzwW7p/HiMm0BPiTt9UEDGJRYKt4Hff6ZRaohNNveq87b402ul0YtXb5FI13BHsSHAXftPKCaO321dqLTw6SPrduE4EGijkk/wW4IW1bngBumfoJjB9DtENMKd7WbkPYY3k/kKokKThq2SLoPou7renlTdZqo0s1w/XruW+7GwtHcxHvWCk4KGA== 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=ihjigvvEWtZhWbJv4x8OcdtLBpcgjsuq/rNNtYEl5Tc=; b=DmfgFkznpmf1Y12K2W8msOhHj3bbFEvjAHTfdsp4Q2LJzm0bh0IIEcb39WEP7dst5s+yRt+fOJ6WAIuP4IiCHnDgSjYIGgj8fGgu2XtjqAGVKHiLzhiTbetfMleRg1UDPvwAhDkPR0/f2JoByofsaA5JQfIcbtaTiJsW4wI2suQ12zTlFz0yFnqYsHlRKj9plc/vRacP1agKEg17v2Oo+CR12RynTa8lpFwCUSKVS5r8IsbXCLZ6xgUntADik/oR7BmMGd/YEXjDc/qItryDgiCnmrfh69Kd6VBfnAIp52xwndsqsCUAVk5mjPcb4MoRbZzEIA8uc+TZoScBnugEnA== 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 BN9PR11MB5514.namprd11.prod.outlook.com (2603:10b6:408:103::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Tue, 11 Jan 2022 07:01:25 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 07:01:25 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v4 1/1] avutils/hwcontext: When deriving a hwdevice, search for existing device in both directions Thread-Index: AQHX4hsioJyM1GLeREaoFRgSTTytDawV/YDXgAAxacqAAASjAIAqE1oAgAWS44CADigVgIAABTeAgAdFDoCAACuzAIAAIMQAgAAGvYCAABZQgIAADDaAgABVy4CAAPLIAIAAo3AA Date: Tue, 11 Jan 2022 07:01:25 +0000 Message-ID: <96e8c643ca0264d8819e14af2dc884162d5455a1.camel@intel.com> References: <163795393240.7822.9483345286843818669@lain.red.khirnov.net> <50841f8a73c902d3fca896b1eda923d082b27383.camel@intel.com> <6c1f517dad96d2d6075cb69a30e1a50aefd3feb9.camel@intel.com> <1379ae9c-d8f9-7e32-260f-eff79ac1cfd7@gmail.com> <6cc00dffb915619af857283b9fb503e7aaeeb603.camel@intel.com> <595cea3f-43d1-e1fb-8541-c620cfd47090@jkqxz.net> <97ce0944-17bc-6e89-160a-e103b77db861@jkqxz.net> <8c4d65af-49c3-d594-75a9-b78bfc80792d@jkqxz.net> In-Reply-To: <8c4d65af-49c3-d594-75a9-b78bfc80792d@jkqxz.net> 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: 84b7bfc0-045b-47af-47c0-08d9d4d02f24 x-ms-traffictypediagnostic: BN9PR11MB5514:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R1ICxVoXx6J8rqGDYHQm9Q4AdMNcZUMoxFIPkBoOwV5LL+5fGM5sjevVhmt94N4eR90rw8Nqkyr2g8o+LPe+gMYVpaIJUjGjjB0S97WITNxjhq9iU+fQW/ykwYt4lgogK3Szys1hynpxin/S5ZbXaEfLJwJjYOL4TfmLlCw6X1AiDcKoeX2JicL6tbvaij/vJUprUmDJ+MkEtZ6KfAd9pHpQw83H1UMH8sKeIrf/r/LpKCr6oEnx+9+9sGZDGhNhrgHXnHUAHOaqD2jl3woptFBrrNn+dJ3UOf3ShhqRIBJUah3KAznZkc2ZpBKrmJKY+Kh0maiKjAVNeEhhS9f7b2u3ie0oZiLLUVuGiFwMLczBZlfltQ8z88IDw5hzvIoU33Xw5zPd6D0xpUpLjeGoGlYA28abB1edICHIaDBSX8bvmQ5pAose6Kqta/y6wTpzDoqxIEyyF8ZVRXAW4BEMS43Dx56BjduveebY4UGyX/UdiH8MQLqp63yios8eChShodsus237UVugcnNdIc0Z9orkRyyG+jlsID412b2rHWUU2DfSL2gmQAVkwPBN00QM8NgbzBBGRaaRv7DK6SAsaofRRkN+sgGt5h8KeFATUMUiKYUbu8aXyeOYm4VlaZbLpRfVrAqZmTdH1GHsWIoHOeA89nZ52prT5ON7lCy6WQIvWkHsFUX+gvZNB6XaZsfc1aGBYy5JJCqrNCizKRrX+caJeJus/k9YJ2myNqa4hNXxCz3QV3H7MODQR4GMgH9WKnvFW7nB31PegueCLbo/wNA4D7fclam2Iacr83/0//Jmuu3XEeBmZ1mVRTMjRRmU 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:(366004)(966005)(71200400001)(508600001)(66446008)(76116006)(66476007)(64756008)(66556008)(91956017)(66946007)(6916009)(36756003)(5660300002)(316002)(86362001)(2616005)(8936002)(8676002)(6506007)(53546011)(26005)(2906002)(186003)(83380400001)(38070700005)(82960400001)(38100700002)(122000001)(6512007)(6486002)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZlhyVU94Z0tHSXUyMnhWeHVZUUZ6aVQ1VXZaMUNHWGpJUlhwY1Q1MnI3UVFy?= =?utf-8?B?ejRqb3kvRnZUR2ppVjZpZ3YxMzdOUFFTbkVXWEVFVzFaMmd5eHhQRFllVnNF?= =?utf-8?B?UWU1Zllzb1k4Tk1LcEpwaE9qWkI1RnlIZnBib2VGK0lGQUJkQmRJVW5jajNp?= =?utf-8?B?aFk3WWJNRG9GWm5xZ1dNTDR6ZDZjd1VnVTdneE11KzVCV2JjR09HL3FUN1A2?= =?utf-8?B?ekJ4RVdIRSs4WWVFclVQa1Q3aTBsSndwdWFsekxQMzBFQjcwb0RKQ2orVFZH?= =?utf-8?B?WXRaTDU0Y0ZFeUhvRm0vaStCZUowSXpXb0krN0JDQ0I3OC8vRlRMN0FlcGZQ?= =?utf-8?B?U1gvQ0E5VE9OMFVJbU1xdXhZMTk1bllEeWNlYTRrL05oYVBVNmZjbDhDQ2M2?= =?utf-8?B?YVBDZXduTjloaXhJbktGeWt1Z1cyV0N5ek1hNmhwU3ArWVdTNWIyT1RLaVd6?= =?utf-8?B?Qlp4aDRpZSt4UXhad1ZlNkFwZ1QreGQzY1k2MXlIcTV4RjdaSUswVjdjMmg1?= =?utf-8?B?NW8zbW95Ukkyemx1MFA5SkxGK3dMQTlXYzlZS0FJZ2xocTEydjVvRk1zaDQw?= =?utf-8?B?bE9GaW5BVVJwN09OcldVdWVxbDJBMEQ1YmRDaWVsRXpaa0N5M25sQWNVQVMv?= =?utf-8?B?L3MxWlE4cFI3MWxIUjJQUXRNeEJ1K3hsRWFOTnZOUXBFWTM4RU5lZ0UxY0Zx?= =?utf-8?B?TlFJWm8rWTFtZXpxZktibXo1c1ppZ29BZEdlZkVPMjZORTlvV29UdXN1VGx4?= =?utf-8?B?U3g0eUFIRGlZUHc3QzExZDlrYnkvSnhPTTBsWVFVbThlVFRJSlZTQnNHQzh0?= =?utf-8?B?UlBXUFZjb2tOZVBzY1BzSWprQWJLMFhUMWFPaWtHWXRHeFRWUC94UUN6N0h3?= =?utf-8?B?YkViQzRvWjBiOW8rRzNzZ05tZnFRQTdVek9JMHF3Tk9aL29zT1pmNi9mWkFD?= =?utf-8?B?RFk0RHJBMFB0cDAzYVllN2llUWtDV25jcnVDWnFILysyTWs3MlZ4bFhiZG9r?= =?utf-8?B?WXYzOXVLSzRwb0IwWDU2ak9ZbzFkcjNaZVVrMVZHOHJFdVY5Q0t1MnNhbk92?= =?utf-8?B?UTlYREh4MFJwVnN0cTlnQ3k5VWN5SndlMXhRWWwxV28yelhmZCtXc003aE5h?= =?utf-8?B?SSsweGZ2cWo3UXBydjdPazlNY2dKMDQzTmIvWUlUVzJadGVDVEUyUVRZVWFk?= =?utf-8?B?THBDbmJvMldvUStoU0pldUVuYjE2WExDdjdnTzRyeHZqZmo2UjdtenMwTnV1?= =?utf-8?B?VExvSU13R2l4a1dubVdLeTQ2T28vVFkxUS83VVdYMGQ2S1gyajJSczUxVTJ0?= =?utf-8?B?V1JzMUpQRldlNC9KV0xHUmRiQkFsSEJ5cUNwWmlqbnFFdWhoUVhocDkxU1Vy?= =?utf-8?B?L0NXVjRQdG5kVG5PR2phZVNPUU1aZ0lCQmwyR3JCZSs1bzlLNjRFUUsxWEk2?= =?utf-8?B?M2ZXeW9hYWZkU29rMkJJTEh4U0x0L3ZnaXpzbzA0d3RSWG1adFlsRmk2SGVU?= =?utf-8?B?Tm9jTUpzbkpUalJjQmI0NmhhRlhDT3VRZUEyd3E3NjlaQkluRksva1Fjc0Jk?= =?utf-8?B?a0NFUnNzRVB0eE0xUVZhVXFUQXFGWDVvYnl5cmVqMHlVb01qcmZsd1o0SXpO?= =?utf-8?B?a1ByLzc2eXM0VmNmbzNxZXEra0lSTXVueXhUWXB0eFZ4MVhBUjF1bkl3Nytm?= =?utf-8?B?OFJ5VWtrZ3NscUlVQTMxVU9PMUNZN3NYZFZ5Sk5yYzBJQkZCdWcwbDZXalFy?= =?utf-8?B?dU1vMk5iNHRPY2g4OXdERWM3elM5d0Evbk5wWUFDVVF1eEcvZGxUdUtvUzRw?= =?utf-8?B?WlpKRWZPUncvd3N0L3FTajJHU1lqMk91TGpiNEdKOUVPYjJVaG8xam5OdGtp?= =?utf-8?B?VDZpK3NKYm9HblZuMFZhMWZrWEV1U0UyU1BHYjByRm5kVkx1djBtbjlqZjU4?= =?utf-8?B?R2hhdDhXVUxnZjJncEE2NXpiNjBoT0M0QzNOSk5MUlAwUHVkRnJ6WWtlWWUr?= =?utf-8?B?cGFSaWVhMmpGZEZoejhlb0hVRWorcVNnajFGVUZ1VXd6RWJsSXlIbDlSa2ww?= =?utf-8?B?T1JxZFpRYmlBM2ZZejljd1RoREpwMWk1K2xnWmFlSXEwTm85dVRsQmVZS1hn?= =?utf-8?B?UWk4RlpnblRVZjZuanBBQXpuSWhtdnFneTBjcDlxTC8vdzRqMmY0Q2pIQmJO?= =?utf-8?Q?O9G5BdaoCfxxz5ahm3t5VwQ=3D?= Content-ID: 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: 84b7bfc0-045b-47af-47c0-08d9d4d02f24 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 07:01:25.7891 (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: 9IRdFNO/8uWoRN/Ao+SlY4LxgOKtJysxRwdcBiDdmsZwP1jLe+0VUrsYBy3XRR/WdwH/kif1bpwzdgVdQALeaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5514 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v4 1/1] avutils/hwcontext: When deriving a hwdevice, search for existing device in both directions 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-01-10 at 21:16 +0000, Mark Thompson wrote: > On 10/01/2022 06:47, Xiang, Haihao wrote: > > > > Hi Mark, > > > > We want to provide a more user friendly command-line to share gfx memory > > between > > QSV, VAAPI and other HW methods. > > > > E.g. VAAPI provides sharpness_vaapi but QSV doesn't provide a corresponding > > filter, we want to use sharpness_vaapi filter on the output from QSV > > decoders. > > Currently the first command-line below may work, however the second command > > line > > below can't work because QSV device is not derived from a VAAPI device > > explicitly, so ffmpeg fails to derive VAAPI device from QSV device (it may > > derive VAAPI device from QSV device in the first case) > > > > $ ffmpeg -init_hw_device vaapi=intel -init_hw_device qsv=qsv@intel -hwaccel > > qsv > > -c:v h264_qsv -i input.mp4 -vf hwmap=derive_device=vaapi,sharpness_vaapi -f > > null > > - > > With explicit device selection: > > $ ffmpeg -init_hw_device vaapi=intel -init_hw_device qsv=qsv@intel -hwaccel > qsv -c:v h264_qsv -i input.mp4 -vf hwmap{intel},sharpness_vaapi -f null - > > (Exact syntax unknown, but I was intending something like that.) I got the error below if using '-vf hwmap{intel}': [AVFilterGraph @ 0x556e3141f750] No such filter: 'hwmap{intel}'. I also went through the source code for the right syntax, but failed to find it. The working syntax for me is to use '-vf hwmap=derive_device=vaapi' > > > > > $ ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -vf > > hwmap=derive_device=vaapi,sharpness_vaapi -f null - > > This is really wanting the reverse case of device derivation. I guess this > does want the libmfx hwcontext to always have the source device there, as > suggested above. Always setting the source device for qsv device will break 'make fate-hwdevice'. (source device can't be set when qsv device is created via '-init_hw_device qsv=intel) > > > After applying Softworks' patch, the above two command-lines may work well. > > In > > addition, we may use other HW methods on QSV output without copy for gfx > > memory, > > e.g. > > > > $ ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -vf > > "hwmap=derive_device=vaapi,format=vaapi,hwmap=derive_device=vulkan,scale_vul > > kan= > > w=1920:h=1080" -f null - > > So, we move the derivation out of the graph and get: > > $ ffmpeg -init_hw_device vaapi=vadev -init_hw_device qsv=qsvdev@vadev > -init_hw_device vulkan=vkdev@vadev \ > -hwaccel qsv -c:v h264_qsv -i input.mp4 -vf > "hwmap{vadev},format=vaapi,hwmap{vkdev},scale_vulkan=w=1920:h=1080" -f null - See above, -vf hwmap{avdev} doesn't work. BTW you prefer to derive a device via -init_hw_device option, right ? It seems the command line using derive_device option is more straightforward. Thanks Haihao > > (Maybe it would help to have some shorter options for making devices like the > first line there, because making a set derived in the right sequence is > probably quite a common operation. If ffmpeg knows the possible-derivations > this wouldn't be hard to make.) > > Making it all explicit also lets multiple physical devices work together > straightforwardly, as Intel seems likely to want to support in the not-too- > distant future. > > - Mark > _______________________________________________ > 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". _______________________________________________ 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".