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 43F314064A for ; Thu, 27 Jan 2022 05:35:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9CACA68B1E2; Thu, 27 Jan 2022 07:35:16 +0200 (EET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A147768B110 for ; Thu, 27 Jan 2022 07:35:09 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643261714; x=1674797714; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=D5mHco6XNboJd4uQzWHwolR42ZG2HL9h2nk4bMZ3BPM=; b=mFvrjmhrkP3k5JP4JT5ywB8FmgwVIbi/4G/dbfx5nmQNy8gOz3pO4rem 50oqnZXT40seO1rQAJNyO0rNTOE6vE+KZFkdtZOS9bwj2z+QaCvMsJ6xB YJ6AkClJNOiaeOqgNJnAFrQzvqQhXx7harVRLc5KWfkoWsDqlJBjuAYMp L+v56KMTxGwe5cMuWntFv8ZpIYqJn+u0Na8PgR1RYOP4ZU4PUylgFCeuf 37QaxJ0yXn4bPWW9njb5Mc9wdyT4M5Nqn3CVrNmVAid5jy9c7KtDaxL5U wQQOGJJyXwiIjyUREHVAuC3WAixNgJE0SlpLP7NDwAAPybJpSA+qvsKvT A==; X-IronPort-AV: E=McAfee;i="6200,9189,10239"; a="310068205" X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="310068205" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jan 2022 21:35:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="535489233" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga008.jf.intel.com with ESMTP; 26 Jan 2022 21:35:06 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.20; Wed, 26 Jan 2022 21:35:06 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 26 Jan 2022 21:35:06 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) 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, 26 Jan 2022 21:35:06 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.45) 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.20; Wed, 26 Jan 2022 21:35:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NSUUc2DyinpKrP8ZiLOtDFSg7Qq1m2iHCeQujJrQ2JUw8fQ1e1tkAsqWO3Eb4uMx3HcKvBxe5EtD6uSald+GZGFfp0+wsl5FFvuocq3ekAXUZgkI0YqEAK28lDhWq7D4T59tokQtH+D2MgbHRNYDeFuGaJKiZzTNtfHUJmdEh9lJWH4SyZta7+ylrMDTv9orebChEsERyhhiV2R+LX5polTw8SRFqkNgu77cw1vK2n96uYKQzB8oJ1y+HtsABwXokcDrcgxB+i+68NEPB94PxiSwI8FcJtJquF7wX0JcllzVQBqBgMhXHxAWej916niDW68+/BNaVnMiQ49ozgWgtw== 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=D5mHco6XNboJd4uQzWHwolR42ZG2HL9h2nk4bMZ3BPM=; b=ZCzRO5PxbxDaReKKt8c7uACuFWN3z/Dv7p99OVBhv/lily6taHQZwBYObbGKADaLTkwv57q9o5FeZyShkaHew9dkTFa59GkWn9aaVDv6uuKeEeRSQjN/79HscWYQW/8wYp3fC1w65yNUHpfoyVL87us6aieSLD8BsmRq/jZ8EncFFx4P3262Vr44IpRjfghpWcMC+uJ+oKYKNtvxUNPzvk7ZPFQw9NNjU6tCDRDntFTxMJkpZvBiqMRyfjrz3bIEFMjBtYWKHtJlYTzOB/KNtzN+9OpHBMJ6CzEVDW2lm6N81sDDjm7rolkeNqLAKjtwZGJCLrIheo5mwVV11HHreA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by BYAPR11MB3142.namprd11.prod.outlook.com (2603:10b6:a03:85::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan 2022 05:35:03 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%5]) with mapi id 15.20.4888.020; Thu, 27 Jan 2022 05:35:03 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH V5 2/2] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl Thread-Index: AQHYBrh9Yarx1fN/YkOKQWmZe4etmax2cdEA Date: Thu, 27 Jan 2022 05:35:03 +0000 Message-ID: <4cede0289bda11a7113a1261d6810bd347fb6401.camel@intel.com> 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-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: 233b5d5c-3d1a-4165-18b5-08d9e156c4cc x-ms-traffictypediagnostic: BYAPR11MB3142:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tcoPF7Au41p9/pmRSYw5einsqIWC2W1wD5r1KmCdkP6B7elm+j0Kvf9LFnTyBHu/aZWHeoOBA7r5yGgZfSuNqCDsj1BCsAoJ5EC4bbD14DUH22YJf6DRYlkDYNdwXpbQw2BugQSqLdcHwM9T1wOBkfyzcPcBC5c8lF80ZoJWtjHLG+e52ZISpjPR1oxV0XEns/PY8dvRJCMZAqybNEdGGyUWYeEpgQ4RkUtIYL/OLMN6t9pwer3CeyGrN+0WGnTMqVvM0aii71xEzl1e6PfxfRBInAg3w4J1sD4yMn3X5flZ7eRVZe1GkFdgMsWdrp8l3Pbqg9wCsZSVo0CcMvEzwksdZYyPKc4aP8auhSvNicla1/OKbfaLMGcfITHpL2LQUGvt0a9rf68KuzGglLGKDQ1UWTXuhk2SwZ/SO5Bgju+lG58usRZiLRMv2ceSHTZv3Nnl+BYSF0eTzIGowH+D6ftjI0aNr1tqXWZQgnSyYFtqkLarWvptrSrxEXYaPFitKmM5by4IRciYy0mS8kdyYwiAosPx8t1XrxysZ60gVQSk89/a4WmpQMcppR5XJPuWxGnwtEn/BqiTyUrCQORuslncaTofsGTZfQgdbZPJdFzItF5Q6uwn4UJ/5nzbrhRQ1uPwCZuxWyDlAAqGvMarPm5YY06MwTbQEQY3pz+l386P98TMem32fjTuOvMwtRuo+ou51MULKZG0p/HCMJNyh6meR2aKJVeU2U87hmE09TQ= 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)(66946007)(6512007)(2906002)(2616005)(6486002)(5660300002)(76116006)(508600001)(6506007)(71200400001)(66556008)(36756003)(66476007)(66446008)(64756008)(83380400001)(122000001)(26005)(316002)(6916009)(38070700005)(8676002)(8936002)(38100700002)(186003)(86362001)(82960400001)(99106002)(20210929001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TkExdkI0QUtqakNnRUl1WXM0VklwNGhrRExnL3BsaXhpVUkyVDRqSWpKQVhD?= =?utf-8?B?NXhaaW94ZHhGNGMxWlUrbzAzTFNWNGp1VXJ2dE5FUzZxOERzRUkwV21BTG1q?= =?utf-8?B?N01Eb0luVE94c2tva2FtekFRK3ppUDcwSTVGWHg5TjRCMlBFUVNUUVJpN0dl?= =?utf-8?B?TlFTeGgxc2ROcjNDaEVBU0pPTjd5cWJIbXZpVU1GZStHeWhISiszcmEyWnRL?= =?utf-8?B?Z0R2WXlud3RKbC9FNmlKTENjTTFOSHFkc0hCZ2ZVQ0F1d1dwWklRd2VwbG40?= =?utf-8?B?b21DZGQ4N2dnbVgyVkpvL01MZFJzU0hpSzE2NFpMalBTdkpLSTBUK0hpRkxp?= =?utf-8?B?d0NVVDJRRVJoWVpXZGR4aE1SSlpWY1pUOWRuZEN3UDlxcjZLcStnQWFpVktL?= =?utf-8?B?T2tyeXJDSWtWSktQWm5UVzVsdDVRTTF6bFkwN1JUUlduVnpoTHNWR2M4WVRZ?= =?utf-8?B?Q0dBQlZiRjRRRm5qbzZiRWlVeEF6MC9CYUxGUmx3a3oyckhJZ3kyUURjcURS?= =?utf-8?B?M29sMHNveUJLN1BmOFh5N3IzUXMxOGRnc0Y1blh2MVBxTWk1Tlc5cS9Ga2xK?= =?utf-8?B?elpINFM1WkFQM3pFQVJac3BtbGxBZDRaK015b3NRRXFqSEQ0U0RSOStPTHZY?= =?utf-8?B?My9TUEVCdG9Rdjc1VnhxUXFBWEhmbHhCeGw5WE5wYjRWSGM5NkRYMWRGM0Vu?= =?utf-8?B?enBRL3BDODZPOWpQZUt2WjlGM3g2NDJsQlNGY2pveHF6Y0I5ZkIrS3gvbWwv?= =?utf-8?B?NEpHanFSWFVOeDFwYVQvdHNIaVc4ZGNyMFBiajZSRWh5S1MzVGU2UmxnaGdu?= =?utf-8?B?c0ZCRitsRmVRdTNwM2JnWFUvaVJjY1V2M0JyQ2h0OENGU1orcC9jTEd1aDhu?= =?utf-8?B?em9LSnFRN1dDdVJtVnY1Z1dVOGxqaWZ0MDJtdURWZENnOVppcXAyOGRhczha?= =?utf-8?B?UDErUm1MUk5oNnFuL0UveStINkpKS3FmQ2ZJVXpSV1RtSDJNTnYrbmhDOGdy?= =?utf-8?B?RXRCdUxCOWp4cEMrYzFFeTRhN3VsTWVmYzcwLzIzeWRHYmFJQitiUlZvaTlF?= =?utf-8?B?cktpbGxKNEtYQ29TSGVnSGQzaWpLUTZsVGFwZmNCWW8rU2UvRm9BWjZHRFZS?= =?utf-8?B?bENUT0VES25wKzNuc2crVVQ1TWhMbDByVVp1NU9yR0VLQmh2UkRqWDdWT3RE?= =?utf-8?B?NzhLa3FZaHJrUk5IN3pVcTNaRUJKTjZwV3VVVEY3M0YxMVVNZHQ4YkRIZkVs?= =?utf-8?B?eW9EWENqWEpCZU5VamVtRlM2bk5uTjNrc2JwaGdKbldUZi83b0FoMjA1YWpG?= =?utf-8?B?QjdWb3ZUWWd4S0VlOGpPTUxLMG9oUmdIa2NlT1hvUHdLbFVZVDFUQ3FKTXF5?= =?utf-8?B?SnhuQktKMVpXc0FGL2dZU1V3eTd1bHM4Q3l4ZkQ0MHlvZzludnlxME5BVDZ5?= =?utf-8?B?Qi9FYStlUi9xaSthVjRkOWdRNUppb0drVk0yOTJHcWplV1FWTnNUSFljN3Np?= =?utf-8?B?NHF0c3NMSDdqR1QxQ0tOQVNleTdsZWNXUDhkaVdSZ2FMczlBZEJVdkxSSVh0?= =?utf-8?B?TkttSVdRMHZpUStOenVhdExobTFnQm1OVHBQMFgyTFpLRDhSRDRoTkV1am9D?= =?utf-8?B?VFBIOXM3NktLS2EzVUVYcHBXRHA3WmVGVEJJV01Pa2hpMDZUQlJUam1zTkxk?= =?utf-8?B?K2ZGWnZtVXJIU0hGMkw5cE41OFpJcXBVdnRaU1JIQUExNjdHNk5udVIyMnJv?= =?utf-8?B?c3FVbkpKT1VUditVc3o2b002aW1hMnUxRW94emJTcVpIZk5xQmluUnZsOSt0?= =?utf-8?B?NEJGNzlyYy8xc2ZsTU5zcE4zbnBGem1LM3gzdG9oYnJWZWNia1Z3NW5KNVBq?= =?utf-8?B?L1hmWlQzam1XSzhDZHh4NUhxYkVHaklZOTNPMDBhS0UrWDEvS09HTGV5c24r?= =?utf-8?B?a1JlUXc0K2NKTnNWRlc5eWVZOWdyNFFPalhOS2YzUlJjZHVxMGk1S3cyTDFV?= =?utf-8?B?bnJIOFloRDFSN25UdjZXUjZMaFNlanpxbm9VZXFPQ0xnUGd1WWVWb2NuTEFw?= =?utf-8?B?TGZNa0VPaDNBdmFhOEJJSGM5OFZ5cVlwc3Fac1hza2lWTTFWQVBzUklSa3Yw?= =?utf-8?B?cW5oTXlJWEtuT0t0QWpYV0dTR1A5dldKUTFWSC9QODYrRnVEL3lQeDB1VlFP?= =?utf-8?Q?FWLNLQEoYhK2BjNcxH7oRfM=3D?= Content-ID: <15C1987EC9ED2F40A493D9485EDC5E26@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: 233b5d5c-3d1a-4165-18b5-08d9e156c4cc X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 05:35:03.3689 (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: K/Hc9ACnMYVVV2GvLASO7xQavxMH0rJnk7dRG66i8RQHPomXh0W0GK4vrDXByhhVg6X43QktGRu45CVgPWRPfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3142 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: On Tue, 2022-01-11 at 14:55 +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..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; LGTM, will apply -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".