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 56D9343394 for ; Thu, 9 Jun 2022 06:48:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EB6DE68B553; Thu, 9 Jun 2022 09:48:01 +0300 (EEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 39EE468B052 for ; Thu, 9 Jun 2022 09:47:54 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654757280; x=1686293280; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=0oubEdfE0b6u99xkAEU/5hTY2wzxdyqFPwMvPtheLHU=; b=BlOHVNL+n/jowuCEG12tJFe24xQD84WZZRDLN1U8MCLjVx5tzhXmsvq+ 0x2Q5N9mHxQ3US7+1lpVrQU2btmI9iShi+cpafVVVwLzTSLvMiWCJtRx/ x3oBdrEe0TLOR/RTJc5XZE6qaPcl98tqn2i1mH6tGAl9/6CDIZfgXMBFS DgBlW+j+lZBB4C+vMGmuXdcEdb2Z0BMQuvvDXnEnBUHVZDYcS2QUqx4YC 1jUX5Cf3yiA9GNdJJFPwVGmZ8tQZs/OEeeH2kOVyzjIJuvKxnLUXipd7G rV7K/AeaWLJpHTM5BAN2fN51wkiJBtmebfaacY9UVlwMWjCRKSaYb65Cu g==; X-IronPort-AV: E=McAfee;i="6400,9594,10372"; a="363499293" X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="363499293" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2022 23:47:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="671001401" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by FMSMGA003.fm.intel.com with ESMTP; 08 Jun 2022 23:47:50 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 8 Jun 2022 23:47:49 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 8 Jun 2022 23:47:49 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 8 Jun 2022 23:47:49 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) 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.27; Wed, 8 Jun 2022 23:47:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aeP8EMEz+ptvLgjd1TV3W7kRoJacJEEcZ+B1nDVOAaHPxNkV3/IjMd8ILxNRD2Y5bBhmbWFHROmdK8djLZvb9XfjCnKwySzXBnoaRD2oX/y8wsWJDKaRIr/yGHViZUKEX4lXGKpDLcUEUKuyoEPY/wcU+eEwxfOunll574sNgXcYA5xwD/TPjHoHbRfJLRVw9OO9HDv6I6Gx6agA0Y2e4ADtxOBwmX3Te328zwgF3KImZVA0IOtXj9gF1OcNyXmW9oh31g9f84Q+if2m9xZ7GyE1PD/+rWNr//4afpo/O2caelkxLU/alQUvJkVxedpuFbPnwmZeCAmetClQWui48Q== 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=0oubEdfE0b6u99xkAEU/5hTY2wzxdyqFPwMvPtheLHU=; b=Pu1ODZv5RA4P6hL/z0xQEy+MnVB2ECrQPl2z7P43q3k9BAPDVfeikEX39mGUkf2536c8ZXTo6QsNR6HEBLjB4F/1n1aWvntvujiJcX3UFgmqhbCiaOK4+WW0/3IEVfwPgNYKRKj8sZRC/necytqklkhXgyNW7vtMb3qgBubtyJ7AvoK/Bv/DWLndw4jn3bkV1oJAaS9f+wnJjxvLZM4CDjf4HlbfmhFBRPB1wT5Nf3QgOrFygGYq0GMOV+G8OTIMOpraoCCut0mFp5lmIcsqq78oIpGLdy6Lqse9+iqmEKsAAOZB4nG0Lq0b2CtPJVf5nQAd7C3LNrHZi9unLs7EFw== 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 DM6PR11MB3580.namprd11.prod.outlook.com (2603:10b6:5:138::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.18; Thu, 9 Jun 2022 06:47:42 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::2d06:ec38:937a:da73]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::2d06:ec38:937a:da73%6]) with mapi id 15.20.5314.019; Thu, 9 Jun 2022 06:47:42 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH] avcodec/qsvenc: make QSV encoder encode VAAPI and D3D11 frames directly Thread-Index: AQHYelBaaOTlgTZub0mfwS8574Qq4q1E9t6AgAA7loCAACpdAIABSC+A Date: Thu, 9 Jun 2022 06:47:42 +0000 Message-ID: References: <20220607092216.405-1-tong1.wu@intel.com> <078794290ef4b70ba19dfd436313a58c2ab8bdff.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: abc7bb6f-14be-4679-d5e5-08da49e3f3c9 x-ms-traffictypediagnostic: DM6PR11MB3580: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: dFOmdaB8xybFcbW2iggHT7dTurh5A2hAHNXqY0rLLk17/WV+TqspklbCCQl6ArHixZora8ksyocsLehSoh3ZU1ybqzeOpKs0ITzZ8UQJWw/BJw+oBE3o2gCM2+svGlb0loZ2DSt42Hq7ps+qLFg2CvGeVqgNu7UDYbj2e95e9fTgVU9j8hqDPkfzzv1Af8MrH4uv8wr0agE25fKxFhTjGU30VhPBwDl/rRfNEWkaeTjuG4kClwQB83Fm16UB9t147sSwQsXfplALh0tUPUFzlAuP0jYU4/rer3cZ8uo5eGolIYLwrgD7SrxnOZc0AFXqKCgk4A8lY9FfM/sgTBoMzhPRrVS0s1l86um2XiPj4BJM6Zo1WB+NGwPM9ZuHvd+gynDZ5qoLJNmjHnbjXyZh3hx9+mFQpyFhbKEWakQuy/lK7Vi1/slMgD2iWIEJSQwNWIrkX+Z2pGH5z+Y4081aoVYm/YtwW+phRznQTAL/RFjeDpMtFWZ9uys4qYTLqAkpNtfmyNmkOEQDW6I9YRdU3A2ZQRb0eyOwjCPVp7qBGUQ1iwbfyNyWGAgXf+arIqengk18AR1WccAUWe6CO6qYsA1+R5Sh/t28bZmk1a+jVLf2DeQd8uGVakP5oCK4cseEkpiWKx1SXM2t0Zy8IzPb6w2PULkkQA1Quvy2WyRgbFL9lCxqaNW097uL9hWEgjTxZKO5EzmGjj04aHmaQnjgbcgd7KyiLGUdA7m98GN328jHcfQBldEgkalRK0ocdE/HdjVofL6ziPlkMHCVg0bynzbUa+lmsRk68PNDiMurke0ooxOCCC/eVpvs7fhYnN8/HgGgEbdfZfhdk9nrpkHDTw== 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)(6506007)(6512007)(83380400001)(38100700002)(107886003)(66946007)(508600001)(6486002)(8936002)(86362001)(186003)(82960400001)(122000001)(91956017)(76116006)(26005)(53546011)(71200400001)(966005)(36756003)(316002)(64756008)(66446008)(38070700005)(2906002)(2616005)(54906003)(4326008)(66556008)(66476007)(6916009)(5660300002)(8676002)(99106002)(460985005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d0w1bkZMcTYySGZ1blJzUmo3OEx3UkptdHNXRWdJWUh3MHFpK3BDVGRxeko2?= =?utf-8?B?V2VwemNIRTlROEI0VEw0aitMZ0VPbmJuNENBNDdVM3BTSWt5T2UxUzVwbkJX?= =?utf-8?B?RWQvcXhwelVVL2c5SUFDWXRqbktocnRONVRtVVVMU2JISUp1TFpJRE41WFBO?= =?utf-8?B?SlJzVm5YeXB4WVM3UDVyY0s5aDkyOENkVjFrSkk3NzIzSXpYYnBSbHJ6RkYr?= =?utf-8?B?ZWhjQnBjSi90Q3c1S3RPa1J6Zlk4UVcyWDBHcWNFbjNKVjlEczRKSlVGSVMr?= =?utf-8?B?UXpTK0VtY1pEODVtM1JnTFh6eldjWkdKSngzRU0wTHNHUFNvSm1IK0JsZFVk?= =?utf-8?B?clZzRlJZOUZWRGtKQmRUdjBaMTErMXhmV2MrNTRqUDBKZnZ6YWZ2M01Ud08z?= =?utf-8?B?bFNyd0h4SjZ4MktRQUZsc3B3S255diswd3RXOTA0REFiYkZ5VGEzNWpLMUE4?= =?utf-8?B?bGtkbXNoWHZjVWsrUk4vTDErS1JHd3J0VUV0UUx3VHBaczE2bllTUUdZalgw?= =?utf-8?B?VnQ2WDdYSzJiMUlpdjhNSEJFNEdmWG1YNG1TT0JvUytTY3FsaHBYclhRUUJE?= =?utf-8?B?Szhic01OT0E5NnpyektleEtXR0ZQZFMvT2ZiYmR4dXJjQ255MG9OY3pxSWNy?= =?utf-8?B?blpld0xVUm9ockRZaGZDalBscnB6ekVuYktjbGRjMXBQSTJrQlUvN2RURjYr?= =?utf-8?B?eWl1YjI5c0EzeFRHbFhUTG5CZDRGTjlmVStWZ3JRdWlmZmNBYmw3NFRBYlV4?= =?utf-8?B?WVoyTnpjeXpKYTc4K1Q2cVVjUXkxV2RwUE9haXNSN0F3TGF5d09BUWhZZHVE?= =?utf-8?B?SXZ5QnlRaEkzUzdUSGdkeDJ4ZGxCZmFYMDZmNCtvYXdobm81a0FwT0hzdWQv?= =?utf-8?B?K09raDhaMU85VnZMaUZZS3oza0lJMTlWZUw2c1ZsZUhvMHZSOVhxRzFmSndJ?= =?utf-8?B?TFFsT3FIMTFZbi9NUUdkdmgzd3JaL0orMUZNS3dYNS9ZaWVzaWhqSTUwMThp?= =?utf-8?B?VFM1ZVU0RGgxcDBGQVVQUzN6ZkxoRStpL21MTEltbnFpRXJhUW1oOWdWeXFL?= =?utf-8?B?UFNGZWQvdWZWOW5Qbnd6czJJR1ZYR242OExacm5xcDZ2eExSbDIrRXNYVURI?= =?utf-8?B?cjY4SkROMmg5dkZmTG5oZGs2WDVKMXhjK0d3V3QxNUJLOGZuTU0vdXRGbHBh?= =?utf-8?B?TC84NTBGcVZTOU5JT2tOeXdGRnd5T2NlZG9ybjd4b0Z3bmpJYVQ0Z21xbTJ4?= =?utf-8?B?OU9HQUtodTNtVU40eUE0aE1ZUVVvRzJhdk9sYlhseGN6eWVuazZVQis2aGY2?= =?utf-8?B?WHZjbmt3b085WVViTWVVd2ZOYzBRcXVzeWo1YXlKazhZSTg1eUVIdnlKWnJK?= =?utf-8?B?aEdmNmM2a0RaY3AvYzViZnBNMGhFaytiTmhPVEtyY05sMW5RV3ppOXFNUlZT?= =?utf-8?B?R0xUcFk5WldBdmlROVJYcGJyNnRNNitxTVAzTE1EV3QvZHQ4R1RlTDI0YnRW?= =?utf-8?B?bTJhM0g0NWU2YUg3S2FjL3lFcXpMd05qOE5mYnpnc2dDb2o4ZmVGak0xWVlT?= =?utf-8?B?UmduZzlFRUxFS2diT2doQkh1RGplbUxaeER4OWRZb0NWVWtVUzFEb1RyOHFI?= =?utf-8?B?VWFUdzNPbkRIRFBRTDBCVG1BYnpsWjQ0ZS9hVTZBZGtWZkEzZFdzazZFN29r?= =?utf-8?B?SXB4eHk4bmtnbm95SjZKTE5kSzY4K1FJbHRUWTJxbGdJZ1BiZnR4Q01mUTZD?= =?utf-8?B?NjJ2YXhOVTBrWlpxSVJWYzNOV2ZVT3VwZzZINThmUklKVEVFTTcrUnZEMXBq?= =?utf-8?B?d1R4NDF1RTlsYmVUeGtpREhGZ0xSYXB6MTJlb003Mkl0N3ZHVE8rcFVEaTBT?= =?utf-8?B?MnJrZythUWZwZTQ0L3JvZnUxeU5MVEtDK0lqN2JRdWpHOXIreXRDd2ZzbU1k?= =?utf-8?B?Y1FTckJuWVp5ekw0dDIwcVZqSTF2SmFRSDY4N0ZURXFtRXNvZ1prbFYvNXJX?= =?utf-8?B?V1NMWXhnQzNjaUo4YjgxMGlVWGZocTV0M0xBaU5qM25Xd2t5WnZ6ZjV2TW1h?= =?utf-8?B?REdxRDRQRmNPam5BbEtUTnIvN2FLSUV2RVREV2dDRFRpYnlXNm1yTGtCZ0hs?= =?utf-8?B?V2l0a1BDUnhtVWZObEo1YUVBTDFpa2hBOXdvc1BDVjV4UDZzemFPM3kyTVJW?= =?utf-8?B?SDF0WldjcStjdTY3dSt4QzZobmI3dUxveFRXNjBVK0h1MkNPaWZ5cUYwT0VS?= =?utf-8?B?bW5ZN1RQRnNDWWg0VVVVRStGTDM0WXpESi9KQzJqeFJjQlgyUCs4bW5TSGV6?= =?utf-8?B?STFwT1lOMjdZZG5neHhKaGVFVkdjOVRqSUR5bElWVDlQTEdnaGlqcXpWNW9z?= =?utf-8?Q?+Qa50tzse+g/h8rQ=3D?= Content-ID: <2BDE993F3529AF468067BAA087EFE978@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: abc7bb6f-14be-4679-d5e5-08da49e3f3c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2022 06:47:42.2372 (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: plGuLpH6Rh75ZUdfmqxKRZhD9PZNXtH8S6IDq2p5Pe5nTtmE395tHkV6ABhOsuIylkPUizp+D+BeruQZ2f1lQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3580 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] avcodec/qsvenc: make QSV encoder encode VAAPI and D3D11 frames directly 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: "Wu, Tong1" , "Chen, Wenbin" 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 Wed, 2022-06-08 at 11:13 +0000, Soft Works wrote: > > -----Original Message----- > > From: ffmpeg-devel On Behalf Of Xiang, > > Haihao > > Sent: Wednesday, June 8, 2022 10:42 AM > > To: ffmpeg-devel@ffmpeg.org > > Cc: Wu, Tong1 ; Chen, Wenbin > > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/qsvenc: make QSV encoder encode > > VAAPI and D3D11 frames directly > > > > On Wed, 2022-06-08 at 05:08 +0000, Soft Works wrote: > > > > -----Original Message----- > > > > From: ffmpeg-devel On Behalf Of Tong > > > > Wu > > > > Sent: Tuesday, June 7, 2022 11:22 AM > > > > To: ffmpeg-devel@ffmpeg.org > > > > Cc: Tong Wu ; Wenbin Chen > > > > Subject: [FFmpeg-devel] [PATCH] avcodec/qsvenc: make QSV encoder encode > > > > VAAPI > > > > and D3D11 frames directly > > [..] > > > > > 2.35.1.windows.2 > > > > > > Hi, > > > > > > thanks for submitting this patch. Though, I'm afraid, but this > > > > > > - fundamentally contradicts the logic of ffmpeg's handling of hw > > > > acceleration, > > > hw device and hw frames contexts > > > - adds code to an encoder, doing things an encoder is not supposed to do- > > > > qsv > > > encoders and decoders have their own context => QSV > > > > nvdec and nvenc have CUDA but nvenc can also support D3D11va, it sounds make > > sense for me to support D3D11va/vaapi in qsvenc too as d3d11va/vaapi are > > used > > internally in MediaSDK. > > Can you please post a command line showing nvenc working with input > from a D3D11VA decoder and without using any hwmap/hwupload/hwdownload > filters? > According to the code below, nvenc may accept d3d11 frames directly, https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/nvenc.c#L46-L72 so the command below should work $> ffmpeg -y -hwaccel_output_format d3d11 -hwaccel d3d11va -i input.mp4 -c:v hevc_nvenc out.mp4 > > > > > > - is not safe/guaranteed to work always > > > there are different requirements for QSV than for other other cases > > > like VAAPI - for example: QSV requires a fixed-size frame pool > > > and encoders often need a larger frame pool than VAAPI > > > > > > > Encoders in MediaSDK don't need a fixed pool, probably we may relax this > > limitation in QSV. > > Well - I think they do: > > Common > The QSV hw frames context implementation is using a fixed pool size and > changing that would be anything but trivial. > > D3D11 > The decoders are using and allocating a D3D11 array textures which cannot > be resized. When the surface count is too low, QSV encoding will fail. > > VAAPI > See vaapi_frames_init(): there is support for dynamically sized pools, but > not as render targets. > > > The actual problem though is not about fixed vs dynamic pool size - it's > about whether the number of frames will be sufficient for encoding. > And when try to use the (d3d11va) decoder's output frames and supply them > to the encoder, they may very likely be insufficient. > > > QSV encoding always requires quite a number of surfaces. > You might remember all the extra_hw_frames parameters in the sample > command lines: > > https://trac.ffmpeg.org/wiki/Hardware/QuickSync > > ------------- > > Did you ever test this with a D3D11VA decoder on Windows? > I'm not sure whether this can work at all (feeding decoder frames > into the encoder) due to the differing bind_flags requirements. > > In case you did test that - could you please post the command line? vaapi on Linux: $ ffmpeg -y -hwaccel vaapi -hwaccel_output_format vaapi -i input.mp4 -c:v hevc_qsv out.mp4 d3d11va on Windows: $ ffmpeg.exe -y -hwaccel d3d11va -hwaccel_output_format d3d11 -i input.mp4 -c:v h264_qsv -y out.mp4 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".