From patchwork Mon Dec 8 18:57:58 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Manley X-Patchwork-Id: 27394 X-Patchwork-Delegate: laurent.pinchart@ideasonboard.com Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1Xy3W9-0006p4-UD; Mon, 08 Dec 2014 19:58:46 +0100 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.72/mailfrontend-6) with esmtp id 1Xy3W6-00081x-5l; Mon, 08 Dec 2014 19:58:45 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756435AbaLHS6k (ORCPT + 1 other); Mon, 8 Dec 2014 13:58:40 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:60014 "EHLO out3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756431AbaLHS6j (ORCPT ); Mon, 8 Dec 2014 13:58:39 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 3412720BBD for ; Mon, 8 Dec 2014 13:58:39 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Mon, 08 Dec 2014 13:58:39 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=williammanley.net; h=x-sasl-enc:from:to:cc:subject:date:message-id; s=mesmtp; bh=f d0Nn7GvycRo/d2M5P9Lt8/4oSQ=; b=SW8ccmKUa7ad/t8iAn79YC+C/DZDGDHIw k5MRIss2F2puvND28knN4xWeTp1x6DoO9rwhrOfPr4MuIW0cdGlePyMasSCDzN+a 4Pntpy4hVVRcVbdE1GncYV0wpIEUfREezUXLjZ1sSIjD0u0WQHIDN3W2aHdojI49 pWlkyaaI4M= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:from:to:cc:subject:date :message-id; s=smtpout; bh=fd0Nn7GvycRo/d2M5P9Lt8/4oSQ=; b=P0KBb ijx/2oAhJH/bzwcdB00ZV/KcnTfhVoIrC1b36d7COg6kbrNSczGMEuH0NnzKn1Z1 4Dm40maNEo4jG/Cko+UiAz924KUsKNwg3k9SrKB2Co4EEOiPRRduHH0FGkZ3I84a xYPxWmiq45xJ6P4l/ZpUTmBk/1hYBNT1pFoOxc= X-Sasl-enc: r8zatCDBL/MqInKswfiyMIr2LBVu9Ia9cbJ16kPEGRm7 1418065118 Received: from localhost.localdomain (unknown [86.26.230.106]) by mail.messagingengine.com (Postfix) with ESMTPA id 5752A680190; Mon, 8 Dec 2014 13:58:38 -0500 (EST) From: William Manley To: linux-media@vger.kernel.org, laurent.pinchart@ideasonboard.com, m.chehab@samsung.com Cc: William Manley Subject: [PATCH] [media] uvcvideo: Add GUID for BGR 8:8:8 Date: Mon, 8 Dec 2014 18:57:58 +0000 Message-Id: <1418065078-27791-1-git-send-email-will@williammanley.net> X-Mailer: git-send-email 2.1.3 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.12.8.184819 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DKIM_SIGNATURE 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __INT_PROD_COMP 0, __MIME_TEXT_ONLY 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NS ' The Magewell XI100DUSB-HDMI[1] video capture device reports the pixel format "e436eb7d-524f-11ce-9f53-0020af0ba770". This is its GUID for BGR 8:8:8. The UVC 1.5 spec[2] only defines GUIDs for YUY2, NV12, M420 and I420. This seems to be an extension documented in the Microsoft Windows Media Format SDK[3] - or at least the Media Format SDK was the only hit that Google gave when searching for the GUID. This Media Format SDK defines this GUID as corresponding to `MEDIASUBTYPE_RGB24`. Note though, the XI100DUSB outputs BGR e.g. byte-reversed. I don't know if its the capture device in error or Microsoft mean BGR when they say RGB. [1]: http://www.magewell.com/hardware/dongles/xi100dusb-hdmi/xi100dusb-hdmi_features.html?lang=en [2]: http://www.usb.org/developers/docs/devclass_docs/USB_Video_Class_1_5.zip [3]: http://msdn.microsoft.com/en-gb/library/windows/desktop/dd757532(v=vs.85).aspx Signed-off-by: William Manley Acked-by: Laurent Pinchart --- drivers/media/usb/uvc/uvc_driver.c | 5 +++++ drivers/media/usb/uvc/uvcvideo.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index 7c8322d..dc7cff1 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -138,6 +138,11 @@ static struct uvc_format_desc uvc_fmts[] = { .fcc = V4L2_PIX_FMT_RGB565, }, { + .name = "BGR 8:8:8 (BGR3)", + .guid = UVC_GUID_FORMAT_BGR3, + .fcc = V4L2_PIX_FMT_BGR24, + }, + { .name = "H.264", .guid = UVC_GUID_FORMAT_H264, .fcc = V4L2_PIX_FMT_H264, diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h index 864ada7..ed0210d 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -109,6 +109,9 @@ #define UVC_GUID_FORMAT_RGBP \ { 'R', 'G', 'B', 'P', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} +#define UVC_GUID_FORMAT_BGR3 \ + { 0x7d, 0xeb, 0x36, 0xe4, 0x4f, 0x52, 0xce, 0x11, \ + 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} #define UVC_GUID_FORMAT_M420 \ { 'M', '4', '2', '0', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}