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 4597042A1B for ; Tue, 11 Jan 2022 04:29:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 14EDF68AC4D; Tue, 11 Jan 2022 06:29:24 +0200 (EET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5E209689FD9 for ; Tue, 11 Jan 2022 06:29:17 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641875362; x=1673411362; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=guIoD+7lOgz2Sk6JsNuEWFL5twI5atp8ZglpZA6RzDg=; b=GYeRTsCiEVpfW6RWaA4fftZlFg67VW28ic121UQDtFN2QPlRsNzg5m5z TFbS4h1lZ0Bc23G5xoec4toTCC5HAsyGoxscCQYbodYiHsZ5lVt5osk6N ekS+YB4Jq1OB2OBf5WCVTqyHd2RS/TpXGS6C8uVd5P8BHG2yAtdlesFhj oQKQsJcfwrMbaRMA07rE66AZ9/4R1vPJnEDzQi7Ar4k0X78LAEegAyRna dvWBVmMtOYnxBUBFuxo/sUpU1cR6MAFNaBByIAt01UiNiA8Qb3bdSmIAg PoF70dUVqaaponKRSHIbr8Ap8dMpTMthoJh3mJj3KjZ5rDJtfKwB6Erkw w==; X-IronPort-AV: E=McAfee;i="6200,9189,10223"; a="243196317" X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="243196317" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2022 20:29:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="764746683" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga005.fm.intel.com with ESMTP; 10 Jan 2022 20:29:14 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) 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 20:29:14 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx610.amr.corp.intel.com (10.18.126.90) 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 20:29:13 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) 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 20:29:13 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (192.55.55.71) 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 20:29:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q8057upuZR/vAHGT31fCu24K+ubsDa+kNp9abrLbNwMlP8t/ANWMeXbx5zO+xctWTp3uV+NRzGYor4+SyNCk7ljE8TrcVqXUDKYc99LaWU5zJ/QXx1gXqmtBTXKpbxjVKi5ukOvMNK+ZwAWW8pn5JqQ3TLb0H3F1ea/Zg2oy48pknik0qkIw11a9ziv5HI2newl8On0GE86UOQgSg7McnjJ2XCwzymSHTTgu3anRTonsRsqMLJ6dKs64LuS/KTh50i6+hm0eLmXEO56LJHiK97GyUo+h5OYZcw6E0N7B1ICpTprzoTleAbOzdTxlJTCuYAgkI8/u/ku+7gtF7HYinA== 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=guIoD+7lOgz2Sk6JsNuEWFL5twI5atp8ZglpZA6RzDg=; b=dhb+oIrbFL3i9aJKJYYYrlwI7X8XeOo02QRJ/Z/HctxsipBpoYMPiFQbq3lricNjW1t3dIpJgpZFmGgh9IoVGd48/GtX1cuW6qKS2PsiosciYDehXzeUTU6h6w0Fgq8ZQZOFq7sE/mSaSTynMWOpjz3a3lAsTrkB30AMPUkQfkUV+3k0imrxbjF+bYDD6b6Sel6xVPWJZ7bs61nQ9eUWVegSU4BEZ62zvlQunaAr/6WesX51mPMJKE9YBL0y4dW6LZF7g1jBTAZaFNTzgmjlbKGFQ6BxLYWCW7+HbUG4kVOt39BsXcB/3b+h2yxaa/Kp/pfv0qpbL/tiXSZu55kQOA== 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 BN7PR11MB2674.namprd11.prod.outlook.com (2603:10b6:406:b2::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Tue, 11 Jan 2022 04:29:12 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 04:29:12 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH V4 2/2] libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to opencl Thread-Index: AQHYA5lfkpej/8FiRki7VWAAdtDULaxdQFyA Date: Tue, 11 Jan 2022 04:29:12 +0000 Message-ID: References: <20220107073622.1177322-1-wenbin.chen@intel.com> <20220107073622.1177322-2-wenbin.chen@intel.com> In-Reply-To: <20220107073622.1177322-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: eb3e615b-583f-4cd7-1b09-08d9d4baeb1d x-ms-traffictypediagnostic: BN7PR11MB2674: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: EmkCt98XxeLki7XZ/yO7KkB1fcSCREo9pXxGgC3bSS3VYqgNgOJuDFrbCfN+xVHW1JF/OG93xQI+OYIPGk40NA1PZqftqgxR7auVT/9TxmEzFA/3B/e6L3PTCxq53T9QAk/jePKkfNmmUikZLCjs0V3eKjziuaRUmANYP2vScS10wgu9DX5Nw4hN2SXb0u5EjjQuwwZgieprKr2BkHwcjlEmHaweDwhgx2XQ2i4Heduv/+Lotfl1i0ueK7wvgyC1qHccD/tw70S6JFJ/SSHeW1V27i/5pTl+FZvkcxP8ACK5OvH/ljZO5oePoi4gV+LAe/APwjIwcxBvJ6DILe7Ltu7+CMlvfaXBisq6B7JUHgBNTE/xcHkbyir8lYLUcFIeWY5+k9klwmcnZ5eK4oD9XMBHSG8U8MLdb+ipXmWpJLL+HDMHzJicUEzQiVHyBdbWsijlJd36jEwbSoOecnRqlUSMtIQkI4yXVT5qBsetB1KIZimvl1mUDpgpMRJHIz+8El5cxct95pOO3WTn6dlf2yWHOpOXVU98jiKDDqacJNwDfrpnM0gJIU0GmBZ31gr3jhJ8fsi1lZb4PgH5kf4x4+GzGfpfU5LPGSErJm/JjPd4FnMN5Z1USBKvQwrZ/iGUvYIUuyMyUcHVve6qgHIjaYuf7VL+lzGxnBYY3NxPNvZFisWdQJApR9V8+SPttTK3gU5uUErVH/X3LsGAHDf9tbRiy+W5r8p+MDgVUmD46Rk= 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:(366004)(38070700005)(82960400001)(66556008)(186003)(91956017)(36756003)(76116006)(66946007)(6486002)(8676002)(38100700002)(83380400001)(26005)(66476007)(6512007)(122000001)(8936002)(2906002)(66446008)(5660300002)(508600001)(6506007)(86362001)(6916009)(2616005)(64756008)(71200400001)(316002)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VXBRZ29CZmJhelEvTlBjRGFKbVdnRjlMUHVKeVhkdUduNzFqVFZXbXdOSkw1?= =?utf-8?B?TkpqbjdydHpWMGVJY05LZmpmd0RuQ1hkRUV0VUg5Y0JFTis5UW9NNkoraGlF?= =?utf-8?B?MXRrM0dvVHdnZVBnL1dCNzQ1bkVCUnYrSkdRU2U0cmd1N1VQczk0V2tobFVx?= =?utf-8?B?UG0ySzY5UlZvdnpWTThROERFODg1VXk1emZ3M3RWRXdzT0JsY1NUWnhzWDJp?= =?utf-8?B?YlZSVTR1ZzJvTjVubTMwWW9qMmZtclNRajRUV2Q0WUVYOTBqZmFXNWJ6dVFj?= =?utf-8?B?eCswL3dvalpBUjA5NmRlcFB5dml6eDdCakRYQmxxMlZHc2d5RzBPUDkyT3dr?= =?utf-8?B?eEo5ZHhDdWorOVZvRERnSWs2VnFBUk9TelRNQlVCZTJPSFU3YUQ4TTR2RHdn?= =?utf-8?B?cTZkTGRSd05CaDV5NTVxUWZzY0hsbEtITDcrdVgzUTZQOFZnc2FiVFVFUGZ4?= =?utf-8?B?UVNrUnhBQXpKc2IzWFQvRE15YVUrRG4zYUN1MGFzN1JHNGRRL3ZlNENYQUYr?= =?utf-8?B?dmlKcktwTkFnY3FDSjZsaTdzVkNEUGhoQWpua2xoWi9lOUVBNmxXaEN0bFI1?= =?utf-8?B?OHFHOUlLY3hUbTcyRkRuVzdxWWZKYU9QSUlaL0Fmc0F5NjhMdjVWV2xGTjNp?= =?utf-8?B?K0NVRVRZNWxLMGkrNXVEWlgvbG5tb0tCd2lKcE9yWGQxTXFuL1JEdmxHblhQ?= =?utf-8?B?eWpHWFkrQXVGWEhnRVFPaEx1b3JmMnYrY1g5SkJJVUtnZDJwTWlWdVFUMjQy?= =?utf-8?B?Mjl2aGx1bllJZ2ZuczNUSEM4TnN2amRVaFkyK28vbmJNYjMvY3g5cVVlYWpl?= =?utf-8?B?dGRaejY3UkdFVmUwcTI3N2lESmZ3QWIwMDBLRURHcTJUUlRTT0V0UnZoSHNa?= =?utf-8?B?bjVPNHBmWVpSOTUwcGVPUStvbDI1akd4TExYRE1oZmxKQVQ2dzB4OGxVS3Nj?= =?utf-8?B?emY0dktSUERWU3lHVTA0ajcrWFlxVEFYT2hEb0xvcWh1WGpRbFZMS3RQQUVk?= =?utf-8?B?UWp3Y1NSYTZYRURmanlEQ0FnY0VXclRZQnltM3ZuWGdBeXhYcVNISnJUSXpI?= =?utf-8?B?d2pYYXRVZ0ZMTWRIWEZTWXJsUGhJaDNpY2l0bm9MSkJQcFJmaWNydjBoSFNt?= =?utf-8?B?eGI3MXFsNmdtVkpyZDk0R0pHa1E2RjB0ZjhkSlJsUHpSTU5TYXVWOURrOXhB?= =?utf-8?B?bG8rQmhOSWhsR3dFNVV4Mi9ETkZTbkdVM1N6UWswMmdCaDJ3Yit3N0QwNWlE?= =?utf-8?B?VmdRRXlPcHU1L3dnLzV5L0pNOHM2WjNzL0lEaWEyaDU2dVpRcnlsU3YzYS9i?= =?utf-8?B?YndYbW53RUZZQWUwRjV1dXBsaU9SdzhlQkdqdUdqeWtkWkQ3WGljUDVVR0V1?= =?utf-8?B?MEVSS01tSG9oKyt3anBENHJHVEkvNHpHelNmNWdvd3FUVmtDTG5OTFhaQWF2?= =?utf-8?B?ME0ySzYrM3ZDeXNBdGlMcXhMcjZzeHQ5Y0hhcm05UkRhcmt2MjQwMnZFeHpz?= =?utf-8?B?OEFQa2wrQ01Jb21adSt3SEJuOGlxL3ZhVEZMTFYvbVJZUVV5WFFJNTJDbFJi?= =?utf-8?B?d0FDRWU2UndZZFhtR1NxaVN3OGhWeCtiZTFJOEMyZzRnVTBNMDArR0lzcGp2?= =?utf-8?B?NmVBOFJaUFpYZSt6RWZpSTdzbGVjNlA2WnpKVWc5cnp5ZXJ1eFBnTWttdm9r?= =?utf-8?B?Mmp2bnkyMUJ5NjhPYVNFSVo3Y1VudFZGUFpjcVVWd1d1cDFhbFdsaWFLU3Za?= =?utf-8?B?OXNjcWZKQTBnU0QybjRQRlExZkQ2RFpPT3RtQk9oTDYybWwvUVcrbndZMVVt?= =?utf-8?B?Q0pYTXcwYnpGZGJtUXZ1MVYwTk1yYXc1aXM3Nm5wR09mVDZscDJvbU16bkxz?= =?utf-8?B?NEdVc2JGaVVqMm5LM3NNR0llUzVaY0F1Vm1ZRnBsMHFKcUdiNkt1WmsvZGJQ?= =?utf-8?B?M3dhYVhLT0x3cW1obUhYbUc1SXdQOHEza3o4U3ZiL0Vtc1JZd1NzVWFDQXZI?= =?utf-8?B?M0I4UkJlNFJqS1dGS1A1Ky9nYi9PQy9jQUdsMDd6K0hmYjFkNXBwbFFCT2Nt?= =?utf-8?B?ek83b0JzQTY1Uk04TllZazU4UzdNNVo4MjVRb2VydXJrb2tWSHo1VXE2dlI2?= =?utf-8?B?aTFacCtMaGpYbmUvd05DQWhJRWlYZ3hoN0JjYlBWS2tBcVhaaEl2U2ZyM0J5?= =?utf-8?Q?kcHFlbA8/PBWuuwh0ffrF7o=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: eb3e615b-583f-4cd7-1b09-08d9d4baeb1d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 04:29:12.2882 (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: TEAbzniIyVYG9Iz1UON6NrTKt1Jdje4YCLMZVyXx5i/4gTR52HNZ/hew2N8TtxvnwCuLTHi6kJ+0RoILKhaMWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2674 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 > + > > 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".