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 D7F7B42A20 for ; Tue, 11 Jan 2022 06:17:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9832668AB50; Tue, 11 Jan 2022 08:17:56 +0200 (EET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 734216881C8 for ; Tue, 11 Jan 2022 08:17:49 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641881874; x=1673417874; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=3xlBOIcS3SC5fyFk3aEF0BEOawc3W0IT5TBmQpA0LZc=; b=gD842lj36iDF6vTTI3soiNkci0/lUCWUPL6h7Kqa4aBLTsv0YR1tQkZD rqIaa8ZSSJP/tO1r03zSFgRSh4RLuGAFBheTBxc8TBNiq11KEe1FFJsWu Wz7jhDWR1b4wUaA3jMNCk1pu+TQlRVYdvK/jMCxKEFjiSWGTjvsGMQZxF DvolWD29yTJ4S/x+/YF9P2D6sGQMDuEunxMhI7E4L5TdC+TJcGOr3zVLR PnCFHZ35+9yqtPY6J3zi09jvoJLhnt2CqT2JuiM50XJy6Nh8Ct/SB+t4Q oQLSjixwFmK2R1V0x3hopu/XCW4YIQ9DCBmFWjEBds2sjWlareOCaXPjY w==; X-IronPort-AV: E=McAfee;i="6200,9189,10223"; a="240962943" X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="240962943" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2022 22:17:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="762421493" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga006.fm.intel.com with ESMTP; 10 Jan 2022 22:17:46 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) 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 22:17:45 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx611.amr.corp.intel.com (10.18.126.91) 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 22:17:45 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) 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 22:17:45 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) 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 22:17:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BfVFGM07GpXTWgzyC5btEc2kut0cJyKrTpRmGQ3qh1XeitWj2Ygob4QBWZjbjiuybuk0StLcawbfsFCg+Seq5/f9T5pYfiquq/gsy5pEtaCz60dyiWbTDa91h/Hwu2qBfR6V/ONsI8+X0j9hijkYQZICZp3yG85x9I31eDsC2D66+d/IvvGCIpMS1O/BqM2n/5lxi++G0Rref50VizcGt2mcspFWXJS4xES3mtd4qsLrYI6+SUAry20qPZk1QoFKre3gasC8wL6HiHHfVlfH6lfr89Ng+DXKUpOIne2oJVsbu1nQh2ArcQouHNiJtVv0nXEGOUEq8nIvHsO9rDAg1g== 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=z2lzxDlrd2ZU7oQTwQaUMksc9X6wHBXctn+O0Idil78=; b=n4/1ZXG/m1EaX6adizivvnTxBi/unsWXrWVLGI6VzF3mMlJI+2O3uW1Vm3AEmg1T0rKN8+n1bHpyVO3R3QgvETC+HtTi06X9tKqgyg8xPUgaa3BmYnMYyBhmrhOPd3TEe2ZGDoD1y1yJcqNN6EqfNuxy7WqBI9Xij8qegye4UOi6ez6Wa/AwoYdGexTJ8elr64Ehsxb+sVZC2RnUCQ3z+mD5Mym1EYVU6FjuBjnQf4kgTpTo4ZabUd41q3s8WmL80P25UI2J7+jL6s/2w63k+mms7OsM/82+p/W6KYGoI3aZ+9HS74V64WBb88IbdhSiiIT+LuGUMnUtAKer/evPJA== 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 BY5PR11MB3879.namprd11.prod.outlook.com (2603:10b6:a03:18f::17) by SJ0PR11MB4926.namprd11.prod.outlook.com (2603:10b6:a03:2d7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 11 Jan 2022 06:17:44 +0000 Received: from BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::550:e7c7:13c4:7e0f]) by BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::550:e7c7:13c4:7e0f%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 06:17:44 +0000 From: "Chen, Wenbin" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH V4 2/2] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl Thread-Index: AQHYA5leyPTj6bQUs0Wq84KRF+l+oKxdQF4AgAANfoA= Date: Tue, 11 Jan 2022 06:17:43 +0000 Message-ID: References: <20220107073622.1177322-1-wenbin.chen@intel.com> <20220107073622.1177322-2-wenbin.chen@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action 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: 90c4e77e-d75d-4cec-37e7-08d9d4ca1474 x-ms-traffictypediagnostic: SJ0PR11MB4926:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BN06fAoMXnjzbAJTyJ5dOGDRpvRKF/EHBxCNwreN9pqsNdy10VPT8gvZbXf5FqW3SkUI9ubkmAgfKmO/6r2Li66yO+gS4xfC5Jp3DplHTyHurH/jfXCvAeZ+SwjmGAw63XEm2cqWkSdmcap+vFFL8HDUrVUjQmGLLyFWjw4NuwPDQ/LXUHWO1g0kEDmZBgV2A2J4C05PJKKfP5j0QyZt6HnZV+XQnaNMpl314v4NoiXxILJjX+Frvp0KiXAdGy5vjvS6lvF9EcAkKjEHYEsQStZXPNrHJFgXNhVeKv0EkMP7+Jjp2IJlmmKDFgFFDkuXupIFULMBZL1Rz7B1gYpnqnk0P2ewF9hJg4a0HiW3coEXLGn4jo12gElNyM4k267W0yfBlav/tLmyH1w5Au1Yz63WBhkTHtDmileWtpzipFZj9njb9TG37iNUP6OcY6RehtYhOpgIehXteVAIIZaTWAc1R/mE6iNkxsB/xRMcZTOgxhoZvYWAdxQNEvsTSeywJ690T6ixoPIjGETVtEVfZNkPbVXQ/o51/lWrKVHc0dHWpv77HFys3xPKlx+HMysuNPBs6dEmpjZGAarwJYXe5k6Y1q5LbOJxKTAqEVn7b2v/6jfs28RLgeHOqCRax/WboL7WJOH/i2vliyFt4fi7dBfhgA6XJLnwNn5/43ejX1eapzX7E9T+NfiutAuWwhDaoXCElUfWP0N2H/WwNReyJtJ8rENC9DyQ6zr5mPW5HRo4TC4U49i/9Vvnbr+BQh/jK7ZsK1VZ2S53+FqBPcDDyZHRzT9bqDsPhICXtc8PuB8= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3879.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(966005)(26005)(71200400001)(8936002)(8676002)(122000001)(38100700002)(66946007)(6506007)(186003)(83380400001)(33656002)(55016003)(82960400001)(9686003)(508600001)(52536014)(66556008)(66446008)(64756008)(316002)(6916009)(66476007)(7696005)(2906002)(5660300002)(86362001)(76116006)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?muD+SJqCilZiYTIZWMWMGjeVl+iYeCdZ3E//OvGc8bvwht668npxlZ1boWel?= =?us-ascii?Q?qvqdTmV+l8GksJHtxFfZK1PZFcamMjuLTgY1V3xx+nxDxViTjuR/S03nbuoP?= =?us-ascii?Q?4lrkjL1z/dGY0juvGMVoXuiLJMmg7u5ULP15k/TFS2ZFhj3Xq6I6itWdbgMb?= =?us-ascii?Q?TqEdGjYyJtdVpcGYZxK60mg1MsGu0VQj4EPH9RWaOgJ5BUVehYjne0YtBCaC?= =?us-ascii?Q?h3rMq3waUXXGkmuSSGeyPQNL4b29LFdPNkiGlpORgsh+PWQAr7HX8yJA7v+Y?= =?us-ascii?Q?eXwf3VJp8QfLIJ5q8JGFUjIn0iJZgTu4jctQvffKdlElISsAWlHRhISeM81y?= =?us-ascii?Q?naMtQri1JXSl5bf0WHTAjV8pc33n3W9npaHXMF+qhPx4KPtByVEMHfsR2PpA?= =?us-ascii?Q?iohWmRxrSF4rRAiPhOGHmw6aZTCeyFMoiJzqbnroNBQQfM+taNPg6OrEV3iP?= =?us-ascii?Q?EMzXsjyHpmhKt0HiMA2r76+2HfsSydsgdF4yiKjaJ1tbexKxfI1643SVREPB?= =?us-ascii?Q?4UkPgw6S41Ak2uMeE87CtcNRCtWdASn0ewtssE2r3Ij9feE5buoUIutmxf73?= =?us-ascii?Q?qKMajAMdhK5jrA8jfyUanev6YUJktXPRQyl2O3DJoBfei7uoPTjcXMqNt64G?= =?us-ascii?Q?miSRN+fax/RGF69nYlbIXseep0TcVK8fAa9RX+Qdwaz4tLS+YFaKAWSJC05K?= =?us-ascii?Q?4URRaQdfGnCSvqobaBO60YCEFkhQgnAAKkyqIYECjr20d//zcApP659NMIYG?= =?us-ascii?Q?Oq7/eCBHy3pDnsaYIvPZuAXPMqBNLiBC6b0dM1JrC8WleppB2lpgpUCJzJvm?= =?us-ascii?Q?bzi1Fiobm3DX7yuhF5GQGeCCR4G3SFPbci5aE6C7BVAZYMA2DY6EU8ORmzFI?= =?us-ascii?Q?l41G+Vu5QRAxJMs89/Pxz+AJFKJfxE14Lgi/ebB3wkeROZ0i7WnhmhM5uNR+?= =?us-ascii?Q?8b2Lp0wfz0launa/Y3DBBCuEo8scdPkGQ4IXQujDk3JdZz3bNoxdliBYJSxP?= =?us-ascii?Q?aEx+nZ6BlYA9U/5LDuG8jaIDoc8I+n1xavgZUAJxTb0WbSOUgosejzD7BeZU?= =?us-ascii?Q?q8LvkiZn6z1LnfwNOl3WNFQBU6ig2aCKXt1dWIpYUbxwBBeOFROdMRiQxZRf?= =?us-ascii?Q?nqVuVunWTR5OPAN8r9jQ4V+MygZFbH6LJCUrmL3DYaVp8ghId9R5V0m9PYku?= =?us-ascii?Q?EfiDdBGz+Eilwb+Y2UBDvg6o4P26BWM1h78JizZIXqd580QzIozxDkcacfrR?= =?us-ascii?Q?LXmTw224+tlEA1ji/cfzqyTzFg6VMClZPvp8vW8A4WPfXER4O4ThyV4BYnra?= =?us-ascii?Q?x6KOLdFXorJswZoyP4xgP3geos5CRunmNuEfl9ts23sTFmP6ljaxQsvuxvSB?= =?us-ascii?Q?1me36pAdS5XJyHl8kw7KcLaGbcw/gyMC1nlfg2l0m1hNIoyBmTh8sJaId/dH?= =?us-ascii?Q?lFX+JN16vJTXkvabXHT2BH4hp1zJu3eXA7M+D9DhDqXWCsGPIxAJspvl4udl?= =?us-ascii?Q?30dbnMXOe8C9QggrrT2fJzdhpTuXJ6DVzOO56eFd/TBJ5P2BdS+p087sYLE7?= =?us-ascii?Q?y3w/lt6yahGGp+R25giGBcfWQlNqteJft7+yx8dxLEOmupTs6fE+4uiINprF?= =?us-ascii?Q?WTEjHuj7LqUU+qMY/IPdsRw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3879.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90c4e77e-d75d-4cec-37e7-08d9d4ca1474 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 06:17:44.0029 (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: oBdghNzjDJ8Dz/4pvQ/n27d1C2zGP9kb7mloD85blyzEGJm0gMSHwsu8FhO0wC5k0F3tqG8yYhS2OPZO3yYPlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4926 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH V4 2/2] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl 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-01-07 at 15:36 +0800, Wenbin Chen wrote: > > From: nyanmisaka > > > > mfxHDLPair was added to qsv, so modify qsv->opencl map function as well. > > Now the following commandline works: > > > > ffmpeg -v verbose -init_hw_device vaapi=va:/dev/dri/renderD128 \ > > -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va - > filter_hw_device ocl > > \ > > -hwaccel qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v > h264_qsv \ > > -i input.264 -vf > "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \ > > hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \ > > -c:v h264_qsv output.264 > > > > Signed-off-by: nyanmisaka > > Signed-off-by: Wenbin Chen > > --- > > libavutil/hwcontext_opencl.c | 14 +++++++++++++- > > libavutil/hwcontext_qsv.c | 34 ++++++++++++++++++++++++++++++++++ > > 2 files changed, 47 insertions(+), 1 deletion(-) > > > > diff --git a/libavutil/hwcontext_opencl.c b/libavutil/hwcontext_opencl.c > > index 26a3a24593..ceaef26f1c 100644 > > --- a/libavutil/hwcontext_opencl.c > > +++ b/libavutil/hwcontext_opencl.c > > @@ -72,6 +72,12 @@ > > #include "hwcontext_drm.h" > > #endif > > > > +#if HAVE_OPENCL_VAAPI_INTEL_MEDIA > > +extern int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf, > > + enum AVHWDeviceType base_dev_typ, > > + void **base_handle); > > +#endif > > opencl_vaapi_intel_media can be enabled without libmfx. > > Thanks > Haihao > Thanks for review. I will update. Thanks Wenbin > > > + > > > > typedef struct OpenCLDeviceContext { > > // Default command queue to use for transfer/mapping operations on > > @@ -2248,8 +2254,14 @@ static int > opencl_map_from_qsv(AVHWFramesContext > > *dst_fc, AVFrame *dst, > > > > #if CONFIG_LIBMFX > > if (src->format == AV_PIX_FMT_QSV) { > > + void *base_handle; > > mfxFrameSurface1 *mfx_surface = (mfxFrameSurface1*)src->data[3]; > > - va_surface = *(VASurfaceID*)mfx_surface->Data.MemId; > > + err = ff_qsv_get_surface_base_handle(mfx_surface, > > + AV_HWDEVICE_TYPE_VAAPI, > > + &base_handle); > > + if (err < 0) > > + return err; > > + va_surface = *(VASurfaceID *)base_handle; > > } else > > #endif > > if (src->format == AV_PIX_FMT_VAAPI) { > > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c > > index 853fb7f60d..6d9b8324c2 100644 > > --- a/libavutil/hwcontext_qsv.c > > +++ b/libavutil/hwcontext_qsv.c > > @@ -112,6 +112,40 @@ static const struct { > > #endif > > }; > > > > +extern int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf, > > + enum AVHWDeviceType base_dev_type, > > + void **base_handle); > > + > > +/** > > + * Caller needs to allocate enough space for base_handle pointer. > > + **/ > > +int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf, > > + enum AVHWDeviceType base_dev_type, > > + void **base_handle) > > +{ > > + mfxHDLPair *handle_pair; > > + handle_pair = surf->Data.MemId; > > + switch (base_dev_type) { > > +#if CONFIG_VAAPI > > + case AV_HWDEVICE_TYPE_VAAPI: > > + base_handle[0] = handle_pair->first; > > + return 0; > > +#endif > > +#if CONFIG_D3D11VA > > + case AV_HWDEVICE_TYPE_D3D11VA: > > + base_handle[0] = handle_pair->first; > > + base_handle[1] = handle_pair->secode; > > + return 0; > > +#endif > > +#if CONFIG_DXVA2 > > + case AV_HWDEVICE_TYPE_DXVA2: > > + base_handle[0] = handle_pair->first; > > + return 0; > > +#endif > > + } > > + return AVERROR(EINVAL); > > +} > > + > > static uint32_t qsv_fourcc_from_pix_fmt(enum AVPixelFormat pix_fmt) > > { > > int i; > _______________________________________________ > 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".