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 F3B0A401D6 for ; Thu, 20 Jan 2022 07:21:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 74EC168B2CE; Thu, 20 Jan 2022 09:21:12 +0200 (EET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F18C68AF2E for ; Thu, 20 Jan 2022 09:21:05 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642663270; x=1674199270; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=kt1C4XEOdFHYA1DiQ8FbTI4TdZUHkqlyWjpFNencu+s=; b=dfCjA50zOz7B0blmDyxsRUIo7vt3zc9Lh6QlTjufslUnNo3oBYyKQu6o p+Xkhl+w875xXdk2VuyvRLbLHMghrc/2Ku7EDQdD5bZlrJN+x5aqWiESx As/nrY524Lwp2N2mv0pBxKiBTcfdFmwGUwKPXXq22G0LOVseJuDpNJTiv BRbBejE54GqAiqOAfnStuakBOskQgOecDABQx9zbWGyET7MpoKm6BgB3i i2E4Xwd1twtjdVighIrb8uRPgzUsZiE6nPm409qB0Z3oYBBxDMiB+lBss J9a2P0+nSz2ZiN5QthYMOC+0q+7hJeXCaRswNYUjdPLrkAO1i2K6ayQ9w Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10232"; a="245487533" X-IronPort-AV: E=Sophos;i="5.88,301,1635231600"; d="scan'208";a="245487533" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 23:21:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,301,1635231600"; d="scan'208";a="518512281" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga007.jf.intel.com with ESMTP; 19 Jan 2022 23:21:03 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.20; Wed, 19 Jan 2022 23:21:02 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 19 Jan 2022 23:21:02 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.20 via Frontend Transport; Wed, 19 Jan 2022 23:21:02 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) 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.20; Wed, 19 Jan 2022 23:21:02 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OvVdMHjARl1m7dDXFcRtyYPfFE0iQ//CJAHueQOHw5539UQlJ0PukdyahloKzhBgp5jllo+rVM8HqpxwWcwkzDdtD0fbFFoOpyaln/ri09FDFFUxGDsY6N4mSe3qMNehAYRkE7QflbR9t8JPoL+gyQApFYoBHmDQ50odbo2o7cqAPdwPHaA6dCMUfe2AwLbfqeigDxygtCu9G0TGwxJXKqznEC2nCSA9eYCsgnXf8oeSyTI93inS1ECjL/Y824Cdkd489xZCn62Q25aQbOxUBPOPRSQebOOR9W9Tyqe3LSlk/N3AUshvlEuxLVa1Tcrjph9Bl7DZvrBsBMtewiZexA== 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=3bD00jK1cMrexPqLApkNBUWPJfQQdGIZaIifPxSV6nQ=; b=nyKJCg0X31F92YEp2LDwH61mu8Wc/ZMbHr2QVnmtRPxs2C4ogK5AkR2ik0AZjdJ4JI1ap3v1DOE3VgjEDLcs1yrDakHuuwcE4Q8NzF89qhj5rgHH4E4FZ05ZtgD784a7WIinAvhB8XLseupU8kHnIJaol0GEVUG/7Y+3zBdMnELrzAr1TORaWBjVGh4L3CmntXj08z821U6mutVO0hUCb9XDAmek+MqaqpLksuX322gmzM05gPXkvLntfbNsqxlGsrpDMR+VJHcMxtITFwmYmy7XaKnitbjFFuTra4fVEjriL21hF8/W9nT/cqXk5NJuYtlYnTf7mA6PRI0HzG9q7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from BY5PR11MB3879.namprd11.prod.outlook.com (2603:10b6:a03:18f::17) by BN7PR11MB2708.namprd11.prod.outlook.com (2603:10b6:406:a9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 20 Jan 2022 07:21:00 +0000 Received: from BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::f5e9:d06e:7641:776b]) by BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::f5e9:d06e:7641:776b%4]) with mapi id 15.20.4888.014; Thu, 20 Jan 2022 07:21:00 +0000 From: "Chen, Wenbin" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH V5 2/2] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl Thread-Index: AQHYBrh++MEkKtPJFEO1YgGISCT4TKxrjezQ Date: Thu, 20 Jan 2022 07:21:00 +0000 Message-ID: References: <20220111065538.750653-1-wenbin.chen@intel.com> <20220111065538.750653-2-wenbin.chen@intel.com> In-Reply-To: <20220111065538.750653-2-wenbin.chen@intel.com> 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: 405d948f-9830-4f3d-c956-08d9dbe56924 x-ms-traffictypediagnostic: BN7PR11MB2708:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4941; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +/YlnikHWtqHW3PnN40EaeaU2PYEbikDMBlN98YwTuaM4uo/laKUHj8vHK8mpXeDyycN9NtY9s7KkOsTH6MsDlZd6DsHdpQ5DPkLSNTCLDqulC8wnaHAqSdtUgOolJxDI9tdtK8kETWz4cK/uDYIq1SNH8cawXmxzipAbDSjhxNZooDOfmBsTNwwCokyfGzrMyYgvxnUxDcogYk7oicDAPAnyFV/6Eumxs0RV7o7zIpvP94EeV5hBGbPYbxSs03KgoEv50XD5XeafObRJRxEUaRqTWmpVeMF9s7V4eq5SmhqWnPrLkPylsjD2icLrrXGvJMffIvEWBV6d3eGDLbgBOfB+4S7BN6S1XOAcBJtiQZGYHmoNB1foLNKRMQK/OmoyK/QIkjRaVjfZyX1FlD1Iw7p1Hd+I0+xz/8q59ZxXcVHjkszqfGs5Wh/e5GIxLMFpyphW6Zbwb/ZxFR+fJhcv3yCkgZ5vkKG0LCPoimqhCJnFd9p+Dwo4w376TqyK/nr7pA+w/Wzuj8zCRJPVmidn6dNCBFGcQROLyAuxR1rOzg4WetY0yuLMoKM+GEHMA9lPpxNivENK9wOWeSqfyOpmZW2/CZ20ME1kkzVLbY897Dz6YYlrdsdBltS6s9MNUsS9+ZD3OvSN4B9nIzxLQbZwwsnDfq0SvyH81Cs4HT5qcVgsr8cnZQIO+NNvkgs0/IJgd9y6TzrI1ziMkWRF8nAE8yjYrywEiFRPnl10I9LpLpuO+s16PIr51dXFlYq23AGkUXPvPwa5EJ0aGgK3HL8YhWEP5k+RXgUsNDpBNJBh2U= 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)(55016003)(38100700002)(38070700005)(122000001)(6506007)(33656002)(76116006)(9686003)(966005)(8936002)(508600001)(2906002)(66946007)(26005)(71200400001)(64756008)(66556008)(66446008)(8676002)(86362001)(186003)(66476007)(316002)(52536014)(5660300002)(6916009)(83380400001)(7696005)(82960400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?i07mZdy5cUb/vEwLvf1IiCEz5gsSEz1bPy41tsyIUE/ZqVvmiT2onyoi+8KH?= =?us-ascii?Q?KdBFbZNYNOB2J25zrXKQ1iPgddhZ+GMlXpw4zOno19r+AjZZ+domJ+naOnT0?= =?us-ascii?Q?L0cFtnzVdktTEPt3gW3pYzN9Z4oNgyQvQYqvCZsSbIfROUToQ37e8ZkAmdec?= =?us-ascii?Q?+fJWtm/3wL6/JqWgBG5DuFbPR0kkGfBqY3tSmVgtWLx7lhy0hMsuzmKxTB8r?= =?us-ascii?Q?p0DFLVfrfC9wjIBGYyclfxAcNXDefUnv2snzVeHAvfV39mXsiVtEJW+CzScE?= =?us-ascii?Q?mpgxeEsP1gfP8/s9U3JfIKnLYbQa7wuTJ7VfSs9cKjBoRcWl72L1J3RvL/rG?= =?us-ascii?Q?4Ke0gIGLCS0CsZAtN4jbQsUGA3VRbab1XS9OofufUk3wHKxRFiTpJ5XVzq/Y?= =?us-ascii?Q?pkC2IKwLdvq5BIJUv6YHtG2FJNtPv7GoF7/TXjHjHZB3GSGvkzpw2FahP++W?= =?us-ascii?Q?m/tskGsvF3ArXcxy0b7Rz3zPt2g3DxYwdg67SN3ryK84XYd5Tk4jvteeDlsA?= =?us-ascii?Q?qjgg0iYOHrmEGxvRUlCmSp9fiHtryZNRtvxq+fPLUPowLLk4gpJnrAoYmdlg?= =?us-ascii?Q?4j8G1b9frz+yDNK0RK5wstgbx674OvmKqEV1OdyQ+iySBb1Yhru1/rrP6mFY?= =?us-ascii?Q?GVrM4AL0RedHLxcxtBFXweWgtjOgYMqT10ZrsLD0U1SRKg6trXW0b9yURh46?= =?us-ascii?Q?EO4SwT+t4tOc5qPHWQ6Yabx3PSkDqPx71Y0JzMsG166y2nvgWpMo7vEUQt2U?= =?us-ascii?Q?hLshAySrd7PoytSdaRc8gZWdIMk4ld6Ke8BPX4eOx3IGA8Xd6Q683m7XrN5N?= =?us-ascii?Q?WGCaXQPKVSKLSJQi98RSe5cASfAwwe/UEYJK5dTZF6JkY8menhF/f25MJFSv?= =?us-ascii?Q?tYUMSkEeJ6j+vkCmToWDIGamf7BNwEkFrC8k8kVt95m6a8zjTr7n4ayNdsv5?= =?us-ascii?Q?DskHKRz/3rc4ixMGNKZz5mxTOvJlLEUwg7CxMRWFiZA46+z0u+4uJ3OxLbXL?= =?us-ascii?Q?IJeVUOhenuyPt5AOVE8LsbBMgbooWpPMTgOtSDU5Hwo9I21yQKuigdo4+RKP?= =?us-ascii?Q?NaSmatGW4FRIGBJUL9bmdAMabGFHLGs12PVwuunVnVph0JcI/nF0UMMSAiv1?= =?us-ascii?Q?k85cX9GMVlONA7CmvYLZR1MxExXgymVg4haImnUR7uuad7wtpgyoXVnMdiK5?= =?us-ascii?Q?YRq9DSzmm+K48QcLSccaI1tdUzs48/bgpP4VqwZ33wzIuhJQ4ZyorB/Zewb1?= =?us-ascii?Q?mf5u/zDkWfY68BpszBh/737nMCmO87Yo3rB4p/VasU8P9UCNqk0cX72KNVuj?= =?us-ascii?Q?VwxUXaFVbF0dAzhNPsIT+un/APVa1YW9BkMgniH5CMdlXjgOmM34pta4/VJ4?= =?us-ascii?Q?APOsurBX+4sKWf9nyJY5h/0BCagt4+aiYkF9dfOnihsfp4PQlsZWBm2e392a?= =?us-ascii?Q?4V69k6/+OqUojB96Y2XmukwjCOLH5AIkwuxhmmQ55urARK6RivTwlDp8CPwl?= =?us-ascii?Q?/4Iqj+Wz8Hk9h/gHwP4dIqQcMpm1UIatPAwj5lFyH0ZHOBVqW0uZV+kWlKKf?= =?us-ascii?Q?rCv4HSujRJ+lIshFE+NaJRrEN+R9gOms2AsJsCqh29yPFks1sfaWuczn2S/d?= =?us-ascii?Q?c4aNP80Qb8nLIaYbr7qjo7U=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: 405d948f-9830-4f3d-c956-08d9dbe56924 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 07:21:00.6710 (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: 9vXZIfDMzKgv7NgY6JOhPxs9Zj+GuWtdY7wZnDz1nG18Bq4OFDUd7cGqJf0oDtIGqrunM2d7MSktIdql8J/Nrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2708 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH V5 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: > 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..4e2ab18ede 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 && CONFIG_LIBMFX > +extern int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf, > + enum AVHWDeviceType base_dev_typ, > + void **base_handle); > +#endif > + > > 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; > -- > 2.25.1 > ping > _______________________________________________ > 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".