From patchwork Thu May 9 19:40:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Karlman X-Patchwork-Id: 13045 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C23D2448706 for ; Thu, 9 May 2019 22:40:54 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AB10D689AC1; Thu, 9 May 2019 22:40:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066045.outbound.protection.outlook.com [40.92.66.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5F55E680714 for ; Thu, 9 May 2019 22:40:48 +0300 (EEST) Received: from DB5EUR01FT049.eop-EUR01.prod.protection.outlook.com (10.152.4.52) by DB5EUR01HT031.eop-EUR01.prod.protection.outlook.com (10.152.5.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1856.11; Thu, 9 May 2019 19:40:47 +0000 Received: from DB8PR03MB5898.eurprd03.prod.outlook.com (10.152.4.52) by DB5EUR01FT049.mail.protection.outlook.com (10.152.5.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1856.11 via Frontend Transport; Thu, 9 May 2019 19:40:47 +0000 Received: from DB8PR03MB5898.eurprd03.prod.outlook.com ([fe80::fc8e:9afe:1a49:c86d]) by DB8PR03MB5898.eurprd03.prod.outlook.com ([fe80::fc8e:9afe:1a49:c86d%3]) with mapi id 15.20.1878.019; Thu, 9 May 2019 19:40:47 +0000 From: Jonas Karlman To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 2/4] hwcontext_vaapi: Set AVDRMFrameDescriptor.format in map_from Thread-Index: AQHVBp8Z/2I3uFf/rk+oA62KvbXR1g== Date: Thu, 9 May 2019 19:40:47 +0000 Message-ID: References: In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM0PR07CA0003.eurprd07.prod.outlook.com (2603:10a6:208:ac::16) To DB8PR03MB5898.eurprd03.prod.outlook.com (2603:10a6:10:e7::18) x-incomingtopheadermarker: OriginalChecksum:FE61EFDD98F0A74D63C4C863DBD9B3B5CE9CA30EA1548F13EA62AC6AC21C8DFD; UpperCasedChecksum:4E2F7F6EFBC7E43654F7144456BB70A06CF7A9335F245E4B1F21FC471BA780D5; SizeAsReceived:7492; Count:50 x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-tmn: [oA+bxcna/8/R5kiVGrcr3Gd4fE/c0hSg] x-microsoft-original-message-id: <20190509194036.960-1-jonas@kwiboo.se> x-ms-publictraffictype: Email x-incomingheadercount: 50 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(5050001)(7020095)(20181119110)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045); SRVR:DB5EUR01HT031; x-ms-traffictypediagnostic: DB5EUR01HT031: x-microsoft-antispam-message-info: P4qKW60kdZ/zHcFTlaPZRQ1O0RGI/lB2uM0dQ4Z5wxttJsQgiGJaUhU2RDf3V8kUbldLiIbJS0MhT2M7Juf7jsCL/yWQ6yZGdoyZspoTyqga/xLYKxXjDN+r6auER9r3RgQdt4hqphOwKWkJPwAFI0x0jrsILHsO0V294hoidfYyeu84oWKF6HR3HNB0vLmy MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 817b2eff-bb72-4040-df97-08d6d4b63b9c X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2019 19:40:47.3380 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5EUR01HT031 Subject: [FFmpeg-devel] [PATCH 2/4] hwcontext_vaapi: Set AVDRMFrameDescriptor.format in map_from X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Jonas Karlman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Jonas Karlman --- libavutil/hwcontext_vaapi.c | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) -- 2.17.1 diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 8624369bb9..d55eccbdcf 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1121,6 +1121,43 @@ static void vaapi_unmap_to_drm_esh(AVHWFramesContext *hwfc, av_freep(&drm_desc); } +static uint32_t vaapi_va_fourcc_to_drm_format(uint32_t fourcc) +{ + switch (fourcc) { + case VA_FOURCC_NV12: + return DRM_FORMAT_NV12; + case VA_FOURCC_I420: + return DRM_FORMAT_YUV420; + case VA_FOURCC_YV12: + return DRM_FORMAT_YVU420; + case VA_FOURCC_YV16: + return DRM_FORMAT_YVU422; + case VA_FOURCC_YUY2: + return DRM_FORMAT_YUYV; + case VA_FOURCC_UYVY: + return DRM_FORMAT_UYVY; + case VA_FOURCC_Y800: + return DRM_FORMAT_R8; +#ifdef DRM_FORMAT_P010 + case VA_FOURCC_P010: + return DRM_FORMAT_P010; +#endif + case VA_FOURCC_RGBA: + return DRM_FORMAT_ABGR8888; + case VA_FOURCC_RGBX: + return DRM_FORMAT_XBGR8888; + case VA_FOURCC_BGRA: + return DRM_FORMAT_ARGB8888; + case VA_FOURCC_BGRX: + return DRM_FORMAT_XRGB8888; + case VA_FOURCC_ARGB: + return DRM_FORMAT_BGRA8888; + case VA_FOURCC_ABGR: + return DRM_FORMAT_RGBA8888; + } + return 0; +} + static int vaapi_map_to_drm_esh(AVHWFramesContext *hwfc, AVFrame *dst, const AVFrame *src, int flags) { @@ -1178,6 +1215,7 @@ static int vaapi_map_to_drm_esh(AVHWFramesContext *hwfc, AVFrame *dst, va_desc.layers[i].pitch[j]; } } + drm_desc->format = vaapi_va_fourcc_to_drm_format(va_desc.fourcc); err = ff_hwframe_map_create(src->hw_frames_ctx, dst, src, &vaapi_unmap_to_drm_esh, drm_desc);