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 69DAF42634 for ; Mon, 25 Apr 2022 09:37:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DBE8F68B2F2; Mon, 25 Apr 2022 12:37:43 +0300 (EEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A16A068B00F for ; Mon, 25 Apr 2022 12:37:36 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650879461; x=1682415461; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=fDHXNNTSGIMVLDbouYx9G7SshqK0qc0ad/ZYKYF+PR0=; b=OYqFrDvI820+jxObnSLe6VBmN7ngr2FxdrsK2pIT1sHH8t8DEJL2c6w7 yUp8f6Bvx4HlvSL1XmnvjoOvLvvkJeqhymgvrZe/7YzAU2c6zwx3iLdFn SwisT6Lca2QmW8bDACbrDiqZo6TEzANLcLm53WulK34bSXEsgmYDHjYrh ey5KP4ZPGmTqm7u28OzbTC5MwpGKvyHBTiaj4I3deZJ2/+xvc/NYfXNUO 7mxmIjSDinIiBBJ+g4u5Xt008nFnNHa18lI44tIMvHkb6bZlvC8aZNlCR Gx5ljul+kYvilXG0kxEi0NYc/FQqGlwQlTPXqudgJp9jGkdRvGZe2Ojry A==; X-IronPort-AV: E=McAfee;i="6400,9594,10327"; a="252563321" X-IronPort-AV: E=Sophos;i="5.90,287,1643702400"; d="scan'208";a="252563321" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2022 02:37:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,287,1643702400"; d="scan'208";a="616441811" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 25 Apr 2022 02:37:34 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 25 Apr 2022 02:37:33 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 25 Apr 2022 02:37:33 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 25 Apr 2022 02:37:33 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 25 Apr 2022 02:37:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M8RiDbSvn+zSVvDz3gT8iGgIT5oAaAo9pZ6DYcG0RBx5GjjW9aDfnQHE0YR4gn4Oaw7LVZ76cUCJ0xTx+WWfpb3GS/7XjXd6eZ5ifUps4ocz4UGgCMUvc+DcO0lhCPjlVYrZnpQXBDxC/CXY2CXyWtGAt/LKYrj0Ax79lTcWWSUD850GLZeDzbjD7k3/n9Ao20RELLpPbkMGPTmLIRmJDIjgl37I1Bl8obWlQRB0KscmLwmbvf+TNNuRBbNJQjN9vwl9RNbA98ICZzntNs3GxJrMIkX+EeVyEa4jOWVqyIvSwobJMJyBkWy8CC0pWgdigorHSka9JrCPJRxYmpHG0Q== 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=fDHXNNTSGIMVLDbouYx9G7SshqK0qc0ad/ZYKYF+PR0=; b=fsYSB4cGrre/4e7zlC6VLjVg8ieBgzmeGD0WV3DH/Wd5inL9OGRa6Lc6Au+4sxEApq45jTWzbQuci4l3Y4xxy7j1qXbgyIJILFj5nPUlURNEx2/5KKdQphRreMrYxLbbLe1Hrq5UR8ZzHiwQ0xlEBL4xP8UT2uFTGNtFiSJ8aP6DQoXIGn2px8CdlW3vLevwxHF5sEAGOfhbyK6phpcVz+kKoLz8cWkiqc84zPE+LqdPbpw4xPFRkNsU9J5vSq+YcB2mD4FF5Or4jx/ikEfNe974xV6+iskl5HJe4NEx7wvGcOaONotvtSNnQWx7ycBlG96sKLMpIQ4cO1r/942Qpg== 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 DM5PR1101MB2250.namprd11.prod.outlook.com (2603:10b6:4:4d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.20; Mon, 25 Apr 2022 09:37:30 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::6534:444c:a75d:4bf2]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::6534:444c:a75d:4bf2%9]) with mapi id 15.20.5186.021; Mon, 25 Apr 2022 09:37:30 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH 3/3] avutil/hwcontext_qsv: fix D3D11VA<->qsv hwmap errors Thread-Index: AQHYRap9n/zRddlqLkqoPCGXpm/0p60AhNSA Date: Mon, 25 Apr 2022 09:37:30 +0000 Message-ID: References: <20220401092416.1018-1-tong1.wu@intel.com> <20220401092416.1018-3-tong1.wu@intel.com> In-Reply-To: <20220401092416.1018-3-tong1.wu@intel.com> 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: f3985111-bb43-4c28-3fc5-08da269f3811 x-ms-traffictypediagnostic: DM5PR1101MB2250: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: GPb5m55JfcanJl87FQcFkfhGYKKz8GtR5cJzXRK2r29V06Y3SYm+j/70fuHWQX4v0/sewR1ikoJeyv+E0EAJDCm/R8b4NFMuKRNGoXJRzDlWhkXVi4PICFPdwhHT9T8zP7+UE9zXP3xkUgIegrfEP0KbfxBVumObV4dnwhnwH6hGzCSfFiI8Sn6qBrcBl/ztPBWNkmqfS1E6f1xX9CL7GGWs3vO+xlel5vhjaLZFtDtdc/oJ4rFSAycG8Hy2zDIRkSLA6P32g71Q6rdt3IiOh3ykMFrflvwxwLX/LP8CDhPnrAMXA4PyBXwdiAVMDSmfw/OyEbRvDcrmYOEZcjb0KAWIfs80Oktf4uH9kPeZWKLt+whjWuSZlP2aMnKetNd9QfV4rmm3GdByvhmve3nS+Qvn0Kn6eIT2q2SohgDaeTjS1CsoFLluCjD7afsdjhzdP1dxCToisLds5SdxiWo0JcATj0r+6GfTQFdFOQ9o4tZDuoLa4p0krTtMjStoixkv7rY5nkYCmmP1Oo6OiG+/6VM8YjTrCx4Te9UDVgj7XlzpSVl3oo3o+DcTcMRTdIjNTMgfvCYwLjLX54M4UqcGclvrWcCUFc6FzlyMLwpPMcX6maZ4npGIUMkbr80WDD3GajJH1b2pPgOlhm3gQihPYMNPWTuN8KgL+XGdi4PrERvpkhfxQh0Uc5MKyznpfD0VVkSKHgptuiB8F4hPZDfg5nlj0+04goTKobDlW4yJ6bnwlllf3bzrPjj6EDq3xLAWyYbwjly2KfkmM4OuXkAf8gyNnleV20ao3Jn6EMMvF05yeREhIkuPN4wNfs2fnKtUlwbpv9YSY91aeVMfoTKV7Q== 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)(122000001)(66556008)(66946007)(66476007)(76116006)(91956017)(82960400001)(38100700002)(38070700005)(966005)(64756008)(2906002)(6916009)(6512007)(4326008)(6506007)(8676002)(86362001)(26005)(66446008)(71200400001)(186003)(8936002)(508600001)(5660300002)(316002)(83380400001)(2616005)(107886003)(6486002)(36756003)(99106002)(460985005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bHVXR1pXa0tQT1VTUE0vTk1QWFprQlVObUlHdTIwRzJvT0ZKMFRMekx4SElw?= =?utf-8?B?K3BIeCswV3hlaXVwZEZOM0VTaHE1OW9zNWNkM0ErRmt1WGRJc0VVWkhUQ29u?= =?utf-8?B?SytxQTlveW1Kc1NDU0JRTlZtTVh1aC9uU1NYVnFsd3E4VkhMNDhHQk9UVkZo?= =?utf-8?B?cE5ZRTJ6RkYrcy96SDNHY1NpbGtPZm0rMzVQd3dDV29MeTlSemYyMUZBbDhP?= =?utf-8?B?WXJWQkVBT2pmaWx3RWxVdmhxMGlMbExTUnR3RHZWaVl0Si82UHRjeXdCVExn?= =?utf-8?B?b2pzZjFIMllyOGJ6TGVpMEhQYkRXVUFIU0tKK0NEK0FxUjdGdy9CMjJ0WlZW?= =?utf-8?B?TXczdndSV3o1dytmaCtmVTdxalZqSzJlc2piaWk0UFZmOWhHK2hoTzhlYXND?= =?utf-8?B?bW5URUNHMDlIM3N5U0tBRUNCSmc1aXZUVXdnMWV3WjZkWXhqRW0ybDd3ekVJ?= =?utf-8?B?ZFFleUtUZnd6OS9nUGdybk9xZ2xaVHZ2WUcyWkNaaDFnQkdQbDh0RjBjd3hw?= =?utf-8?B?dnREUXUxUzVDRVZMdU14VDhxSm5nWnUrTGNBdWs5Sm1Jb2l2YTFRR0kwWHhG?= =?utf-8?B?MTRsQUtIa1d0dnFrV3FIWUlvVDFzcmhGcUIvRmZ2a1hzTjJKZWF3dFM4aVl4?= =?utf-8?B?QWozNXduQ3hwZGphanZPMWlLTHVDN0lEVEZEbmpLbVJpMGpZM3J1aUh6ZnA3?= =?utf-8?B?RTQwSmRKS292TUZVNHB0WndXTENHc1cwL0NEcHluUXZsaDhab1hkZmZNd0pj?= =?utf-8?B?bldpbjhua2tHMlRhbUlEeHVCajVxSm01NThRRkFqU2xKU203Q1ZXcGk1bDZQ?= =?utf-8?B?V0VRY21aUXkvWnJRUlFhM1c4V0RaRlRZZ2w3cEJTOElMMjNnNmYwSlhaNWhy?= =?utf-8?B?VW82dWRUSnltelJlcmVadWFiYnlkZWRod2J3cXVtT0xlMkFNYWVBbTREMnZh?= =?utf-8?B?Nk5GVXVJcHdDSlhVQUkxdFhMbFlmbHpBRlpIRTBZRzgvUzYzRnJGalFKdXQv?= =?utf-8?B?cmlYSS81YXhKcWJDRHc3VExzbDBuQkhWQWNSWndCK1pJSkxERUh5UkJZTWdL?= =?utf-8?B?SW81VDBkQTFrN2luVWZ6d2pDYzBEUzFDdGZBZ1VkMS8vekRaVENJRmJZRFc3?= =?utf-8?B?WGlrQ3BMMlJWTnkyM2M1akJlMzRsUUlRa0pIQkdJUVRtb0U2dkRTMCtsV2dX?= =?utf-8?B?RnphRU83ekJlbHkyWGdpR0ZPTWtIR2tRVkZQMDNOZHdmUXgxRzRqNTRhWjJM?= =?utf-8?B?eC9xTjdBMmVpaHE4RUJ0TUpGSjRHYTdQQ2VkZGR4R1FCZ1QrZXhtSDhqTVh1?= =?utf-8?B?UWdXTWdJdDlVelNyYVNBbThqVTlMWWJyelhQeGhBRFVzSWV1R0s1RWcxTUNG?= =?utf-8?B?L2dsSTVWRVo1eWVUUWM1K0kwZ0kwWTJ4blBrVDRDcVBqSDRJYTZURkhaSFZH?= =?utf-8?B?bzcwTzJGdkdLZWg4a2QvNCtBZkpQWWRtWjJSKzlDT2dXaU9oejRZc2RES3A0?= =?utf-8?B?RWFpU1c5ekxPelNtUWpJZ1FLWnFLd1BUL05ZNmxHSWcyT3Z6dWprTXQ0K2cw?= =?utf-8?B?Y05rSTYvQzlFUHhweXkwcjl3NmdyLzFlVEJmWHRRaHZPZmdMNFIvcWdrYzRj?= =?utf-8?B?cm04RGF3QUJPWEprbHpNUG1aNFhOWDF0ZkhHd09BRmtMbFZnZjY2ZnVSRmp0?= =?utf-8?B?UUdpZWpBa0RMWThRUmd5bXQ1TU01bVBhdGxYQldJV0NjbkVCZFpOZlliUzV1?= =?utf-8?B?S1ZPZksxTjhvSkppemwySGxnaXFaZG1KYUU0ZHJQcGFlRFAvNGlFSDkva2Nu?= =?utf-8?B?NmFvL3BPeHB2Rjcya2tlUHBkMmNZQzhoeDJpWUFSL3hlbGtGOXd0SG1mZGdM?= =?utf-8?B?bFFBeC83cjZIa0ZrRXNhUHlralhuK1drQ0JIczBVNnJhcmZkdVNKRWZUZzFE?= =?utf-8?B?RUg5RnNBTmxDc1NvY0o5U0dxcmZTVGY0dnFEU1Y3TVF1cFJWV2N4anVIMXZS?= =?utf-8?B?MHJYZEkrSVF2TzF4ejliNnRIUVg5S1FhRWNEOWZtbmp6ekdyZzFXaFUvZnVa?= =?utf-8?B?WlBXOUx6YTZ6TVkzY1lXY3RaZEM4QnZXVjc3aEZESWhEZTlTTzVwd0t1Q1F0?= =?utf-8?B?bmE1K1Jiczk1dzZlNFJXdUU2VjEyUXpkbjgrWU1HK1FsL05QNHo2dytXRVpi?= =?utf-8?B?MSs1VFV0ek5EV0xjby9JVElsMzJ5cVFIeEI5NVYveW43VEVSdnR5M29qenZ5?= =?utf-8?B?Qi9ZTzdPTE80QjRxc2IrUEhtc1IxNUFlNkZpd0dnaC93YnhrM3BNazg0ZEQx?= =?utf-8?B?VU8xOWNTZDVaWHgyL3hxQmpKSlg2WURoSitJczVyYWRCZU9PT2FYY1pJTWZo?= =?utf-8?Q?t0uF07kDKvbcW6jc=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: f3985111-bb43-4c28-3fc5-08da269f3811 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2022 09:37:30.8031 (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: zM8g9I+iVsASo32YKXEKiVkUlLTmOOVklLa4tq4SLAYnQFYynWysG7703JaeeczKUQRtBe0k0Zf2YiWnAOLpjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2250 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 3/3] avutil/hwcontext_qsv: fix D3D11VA<->qsv hwmap errors 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" 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-04-01 at 17:24 +0800, Tong Wu wrote: > For hwmap between qsv and d3d11va, The mfxHDLPair information should be > put into texture_infos when deriving from qsv context. Moreover, when > uploading from rawvideo, the ways that the textures are created are > different, bindflag assertions are needed to make sure the right > textures are derived during the process. Now after this fix, > d3d_dec->qsv_vpp->qsv_enc, d3d_dec->qsv_vpp->qsv_download->yuv, > yuv->d3d_upload->qsv_vpp->qsv->download->yuv, > qsv_dec->qsv_vpp->d3d_download->yuv can all work properly. > > For d3d_dec->qsv_vpp->qsv_enc, one sample command line: > ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i input.264 > -vf > "hwmap=derive_device=d3d11va,format=d3d11,hwmap=derive_device=qsv,format=qsv" > -c:v h264_qsv -y ./output.264 The default child_device_type is dxva2 for option --enable-libmfx, I don't think it makes sense to derive a QSV device based on dxva2 child device to a d3d11vadevice. But even if initializing qsv device with d3d11va child device, the command below still doesn't work $ ffmpeg.exe -y -hwaccel qsv -init_hw_device qsv=qsv:hw,child_device=0,child_device_type=d3d11va -c:v h264_qsv -i input.h264 -vf "hwmap=derive_device=d3d11va,format=d3d11,hwdownload,format=nv12" -f null - You may try https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=5304 Thanks Haihao > > Signed-off-by: Tong Wu > --- > libavutil/hwcontext_qsv.c | 48 ++++++++++++++++++++++++++++++++------- > 1 file changed, 40 insertions(+), 8 deletions(-) > > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c > index 95f8071abe..e6a7ac3ef0 100644 > --- a/libavutil/hwcontext_qsv.c > +++ b/libavutil/hwcontext_qsv.c > @@ -806,12 +806,23 @@ static int qsv_frames_derive_from(AVHWFramesContext > *dst_ctx, > #if CONFIG_D3D11VA > case AV_HWDEVICE_TYPE_D3D11VA: > { > + dst_ctx->initial_pool_size = src_ctx->initial_pool_size; > AVD3D11VAFramesContext *dst_hwctx = dst_ctx->hwctx; > - mfxHDLPair *pair = (mfxHDLPair*)src_hwctx- > >surfaces[i].Data.MemId; > - dst_hwctx->texture = (ID3D11Texture2D*)pair->first; > + dst_hwctx->texture_infos = av_calloc(src_hwctx->nb_surfaces, > + sizeof(*dst_hwctx- > >texture_infos)); > if (src_hwctx->frame_type & MFX_MEMTYPE_SHARED_RESOURCE) > dst_hwctx->MiscFlags = D3D11_RESOURCE_MISC_SHARED; > dst_hwctx->BindFlags = qsv_get_d3d11va_bind_flags(src_hwctx- > >frame_type); > + for (i = 0; i < src_hwctx->nb_surfaces; i++) { > + mfxHDLPair* pair = (mfxHDLPair*)src_hwctx- > >surfaces[i].Data.MemId; > + dst_hwctx->texture_infos[i].texture = (ID3D11Texture2D*)pair- > >first; > + if (dst_hwctx->BindFlags & D3D11_BIND_RENDER_TARGET) { > + dst_hwctx->texture_infos[i].index = 0; > + } > + else { > + dst_hwctx->texture_infos[i].index = (intptr_t)pair- > >second; > + } > + } > } > break; > #endif > @@ -900,9 +911,16 @@ static int qsv_map_from(AVHWFramesContext *ctx, > dst->height = src->height; > > if (child_frames_ctx->device_ctx->type == AV_HWDEVICE_TYPE_D3D11VA) { > +#if CONFIG_D3D11VA > + AVD3D11VAFramesContext* child_frames_hwctx = child_frames_ctx- > >hwctx; > mfxHDLPair *pair = (mfxHDLPair*)surf->Data.MemId; > dst->data[0] = pair->first; > - dst->data[1] = pair->second; > + if (child_frames_hwctx->BindFlags & D3D11_BIND_RENDER_TARGET) { > + dst->data[1] = 0; > + } else { > + dst->data[1] = pair->second; > + } > +#endif > } else { > dst->data[3] = child_data; > } > @@ -930,9 +948,16 @@ static int qsv_map_from(AVHWFramesContext *ctx, > dummy->height = src->height; > > if (child_frames_ctx->device_ctx->type == AV_HWDEVICE_TYPE_D3D11VA) { > +#if CONFIG_D3D11VA > + AVD3D11VAFramesContext* child_frames_hwctx = child_frames_ctx->hwctx; > mfxHDLPair *pair = (mfxHDLPair*)surf->Data.MemId; > dummy->data[0] = pair->first; > - dummy->data[1] = pair->second; > + if (child_frames_hwctx->BindFlags & D3D11_BIND_RENDER_TARGET) { > + dst->data[1] = 0; > + } else { > + dst->data[1] = pair->second; > + } > +#endif > } else { > dummy->data[3] = child_data; > } > @@ -1287,6 +1312,10 @@ static int qsv_frames_derive_to(AVHWFramesContext > *dst_ctx, > return AVERROR(ENOSYS); > } > > + s->child_frames_ref = av_buffer_ref(dst_ctx->internal->source_frames); > + if (!s->child_frames_ref) { > + return AVERROR(ENOMEM); > + } > dst_hwctx->surfaces = s->surfaces_internal; > > return 0; > @@ -1314,10 +1343,13 @@ static int qsv_map_to(AVHWFramesContext *dst_ctx, > case AV_PIX_FMT_D3D11: > { > mfxHDLPair *pair = (mfxHDLPair*)hwctx->surfaces[i].Data.MemId; > - if (pair->first == src->data[0] > - && pair->second == src->data[1]) { > - index = i; > - break; > + if (pair->first == src->data[0]) { > + if (hwctx->frame_type & > MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET > + && pair->second == src->data[1] > + || hwctx->frame_type & > MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET) { > + index = i; > + break; > + } > } > } > #endif _______________________________________________ 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".