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 1647642DF3 for ; Wed, 8 Jun 2022 11:13:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8520E68B6B0; Wed, 8 Jun 2022 14:13:14 +0300 (EEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2097.outbound.protection.outlook.com [40.92.23.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 54A2A68B579 for ; Wed, 8 Jun 2022 14:13:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y7/njf4AsTHUZKVpeBBnqlyRAy/+Mwk69/nm8MTPHSkFpNlgGYLRtw70py36TZFi85uvbmWWx4nUyqNTEoRIeltBcdar2Q1FEF6evjLtwo7BcfewOljp49E7ERbkvsjmKKuuJE2GeqazBBX0te0prk3nBtTFRvjVDDvJnG1pzKSZhFb1kG0PMbIH0AbuE7I+AlMe1u1p8N4x2vBwjub9orO51XCYZlpB3TGVj5dtknp0Z3u8kRc1IwqQmjF0Ixqss0BcOLMa4UZLz7+Aibm7Nq3hEVLqJNLaOBLAhXzUkkzK9OwzKnoFEgStjTPZ716qbN2xcJHMwtynR2ftVMRvAg== 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=ho/lEjXCcR0TVea5sckgIKxweIALkVvOSiZyRs1d1uA=; b=VK8g/DEGziTZELPaC9W9dRVo2Njmkmh1xPJTBR7u6LeM+I4K//mmIAIHkGgtVOcPoo/mArQ9wp7DNvCqZecuX03ONC0kfZOuHLJvF/2fUAjhKGlEVNi/aZPn5gezKUDsktRdaggZga8Dy8s/N3yTyVpbxK2VUrrfq/NiS1RH9jNKVYHxhZsCmA5hdbgyNNXi5Un600rskXADBw+Z4QB4utIbsy4Ts/WtjnjpCllIJif3/H9xLiAVDDjvNRwsWcPDuB0IBeu4ueiqTCNAo3xjveuLaHd1b4SUc31yIB7p7+HSSOCPleaH6bRtZ2+Mf7lS4/OeI20LeuKDsI0/nmwJkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ho/lEjXCcR0TVea5sckgIKxweIALkVvOSiZyRs1d1uA=; b=RBIIBfMz3LqSDwbEc8LL5ZWUUr9vYAn1hjprDsRoWDnWvdvQk1sQyj+HUD8hRSQB3UY56vxi1jK+DAv9nM1V8O56g4o9bCOu+IR0FuWmuQjPns8R9RJBMI9f+bvFjWgh53XvMf19rUOHY/vk9NQVaEBGLfi9SE+/hwWY5KiEh5D7WlRNV/D3MSGEc3o/UQzBhe7uPQ4RlUmfxCQNPxjV+iSN8E0JUv42Bi0hKfZzFeT9qXDwvKlv/b77R77mdgXv/WR00K0HQw8b5XZP87kfKCVXRtkFMpbpg2ffE9qRKFuXzEhUNYwCirSQtITDyD0yOXwyEG/i7hXMtWPU7aFMYA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0214.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:147::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.13; Wed, 8 Jun 2022 11:13:05 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a%7]) with mapi id 15.20.5314.019; Wed, 8 Jun 2022 11:13:05 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] avcodec/qsvenc: make QSV encoder encode VAAPI and D3D11 frames directly Thread-Index: AQHYelBN7yIjDSNIUki2xnbTqv8tca1E7eiQgABEkACAAB144A== Date: Wed, 8 Jun 2022 11:13:04 +0000 Message-ID: References: <20220607092216.405-1-tong1.wu@intel.com> <078794290ef4b70ba19dfd436313a58c2ab8bdff.camel@intel.com> In-Reply-To: <078794290ef4b70ba19dfd436313a58c2ab8bdff.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [e7IS0MiMUXLcwUmPSJE/gSZ8v8S6MbTh] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 00ec6f1f-21d6-4bb1-a85a-08da493fdc11 x-ms-traffictypediagnostic: BN0P223MB0214:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OAM0tcWYqczrfV55+3FIFuSi8bkqhs3NAIOnrpUfxOGz+PJkmpXfjmI/xXdu8nPCQ3WeE0ppEMuHN8u0mPxtE0F1Fp+QnKZf0qK+GhxeSnrHtI5h8TOt98LNy6BCJmtSDq+RQjBEQBpVVIucOBAX0vibe6JaAsYgXe8fqcczZUjWtrtbjYM/NWuYirFd99PXjC0Ymc7OH01I0dvgd2pQH0Lep486+WwhKZ9ZQWr4JwjDsdQQ8U0CySl/7IVrjIsB2nbMRCQ+HyB4QoG7SMJ8l1C/tTKZWOkm/6B+UQ8p5yzQR2RISGgo2ikqWzkkXYEx1Tb4SQ1uj7mBqtwS0NmfuTUqlHavkoGcNH9PUiNdHwwEWDiJZcy5IN3dp1lwwx2uJANdrWNEl8v+eujw8JwluqbiIoBEll6msvRKQG7boxHmJEsmExMF8rzbcnCVV5qMs0kMrSFrIHVLUVbtLRmyTPmeJKJ/xfqfO8KKPvUko17MfckaWyYcGJa9cfrX9GtV/PGZH6JhQ6+HJHzQS9FQ4Pn1NJ/rJbtxqjbHnAiM0eNNJ9Ztv2vI9Oh6Ea9WO1HsEolKe7yfS5/nmtxZMPSdOVaOrdhwLc4othNIbUV2uHC8iQtgFC9POUHLv52+I/qM x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3N1Z1VQTHZwUnhaNTFpOG05ZExKdkQ2aThSbXpHZlR3T0hoQllwZGgvVi9x?= =?utf-8?B?c1VkMi80dG1aVGVqK3hCNVVvZ1hSY1NNZW1aUVFURTg3N3JMY0V3WU15djAw?= =?utf-8?B?ZFlrYXJOTEtLMnVwZm94VnRRQWJlbTlZcDFLak9iOGlGd2FWTGlsZkhKSXJ0?= =?utf-8?B?VWU4RXVHOUhRbThTV2dsWUtzLzJnS1lmeU1uTXJzMW1vTHhSU2lIemNRMWdS?= =?utf-8?B?TGFYRlF1dDU4T21ENFhuSzlxaVpCTms1dHhoNWwvSTJaT0poYTk5L3Vva2hT?= =?utf-8?B?UGJqMXduVWorREM2OXphc1M5TGJacXlOYXhNRlQ5UmlRYjdyZ3h3VlV3ejZ4?= =?utf-8?B?NzE2QWdveW9lV0lTaGoySzdac29wRjM2a3lwSWN5M0d3TFNHVmRCMWlYbm91?= =?utf-8?B?OVo2aklXRWpuMWlJV2I5TzA0ZENTUEdRenNTdXk1WDhndlRIVUtjc2RNNHhz?= =?utf-8?B?VGF5L2EzNTd4S2tqWUdIVUJGYUx3NmZ2WVlmalFkSnhPa0ZKTEZuUmtUYWps?= =?utf-8?B?NGFHaXRVSlh4SUIrdHJEcGVDak9ZR2o5MW5HZndLSkJPc2ZsWGlnZ2htbjNP?= =?utf-8?B?OUV2eEFXQkRsSHF6SVQvd3NTcE4zOW1DdFhmNnJ2V3FSam5UbmI4MVEya0ZK?= =?utf-8?B?aVYrbWRPaE9ldFBqR3E0QXo4eDRnYzJuNWNOK3hEMGk2Qmx2YW9raUU4MHdK?= =?utf-8?B?aW13WXFMREh0Wm9KTWdEam9ZbURySUxFZlJoNnducEN1MjBoUFNmNFNQSDhr?= =?utf-8?B?N0hDTk9wL2FDRlBCNGJHQXA2M1VXREVxQlRBM0crTEw2UGpiZkJqQ3A1a0c1?= =?utf-8?B?cFV0M2ZscXRqVVlsejc0ZHVLby9VdndzZTB3b3NGUVRTUjEzVnRWdXJjd1kv?= =?utf-8?B?TlNmNFFQUndpc2pDc2M3d2lIWkE3b3RLUjYrNXdXNm04ZzRMcmEvNldrZHpM?= =?utf-8?B?RGk3WEQ2RDFnZFRmUlh2Ump3NVFKaGJaVnNzbjB5MDVqd1R6SDZtVkF1M3Zk?= =?utf-8?B?Z000Rk12Snl3ZGNxZWFzUXpOczRCR3czRXo5MmY2cythLzlBZ1gwQWNzU0J3?= =?utf-8?B?OGV6QkszeEkzZHo0UllOWHFIenI2a3luUHNpSkgxMW9SQWtEcmNmQ1Zob3pu?= =?utf-8?B?OEd0bGtnRkJFOGs4NzVhdy9ubHhjemcrVnRaT21iZDRvbmNXUHdEMFRSWCtx?= =?utf-8?B?ZE5TR210NHhZb0NKelUrdHZlTDF6YXY1aHRjYmdRYWFaMFR0VkJFV0NkbDF3?= =?utf-8?B?R2NNejBvMXhOamtSb0FacW5PaXhCRkUzQlR1d2IwYlBhanM5WERzemY2dWJS?= =?utf-8?B?dE82S2Y2ZnMvdjVVS1FVWmdlWXZ6eHR5Mjd2OElDeWF6ZEF3Z0hlbVd1Unhy?= =?utf-8?B?eWxkVENYUXg0VXRzMW9LdGU0QXVMamkxN1U1V1JYWHZYQkUzRjV6SlNYczZp?= =?utf-8?B?am4vb21qRnMrTGNHcU9LN3ZEaDFmUXBKNEhhYVB0c2Jic2dmeVdxVjlvL2Na?= =?utf-8?B?WGtDSFhqdCt0MlB2TW1tME50Y1ZVRVh0NTRjMWVVZ2VQQmZWWWM4eDhpMGdN?= =?utf-8?B?TUdPbUpwbU1jdWFWN3c1d25qT291NXpCUmg3aExUZWg4UUx6aHRTVDF1a0sz?= =?utf-8?B?M0VudGo3c1piVy9mMWh2S0wyOUloRm91RjBBOFdVbi9PcThmOGVNbDREVnpl?= =?utf-8?B?QTdoak85V1JwZ081eEl5NDh0VDc2YjJ2OE41aVhCNHk3Qk1rdnhYeGppTGF1?= =?utf-8?B?MXkrUGdMU2NOUlNvNlliL1lMNmZydGVTWDNpSzNjMXJ1S3BhR1I4cU54QVlE?= =?utf-8?B?UXhndG1uZk9EMElTOTNsamJRU0ovdmhHQk9BOURrczlnc0NuNmRER1IrOWVX?= =?utf-8?B?OGJ1eVRjdStQUDFRLzBNaFNicGtzT3laVzRqOTZZNVRPblE9PQ==?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 00ec6f1f-21d6-4bb1-a85a-08da493fdc11 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2022 11:13:05.0102 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P223MB0214 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: > -----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? > > > - 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? Thanks, softworkz _______________________________________________ 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".