Re: [PATCH] [media] uvcvideo: Add GUID for BGR 8:8:8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi William,

Thank you for the patch.

On Monday 08 December 2014 18:57:58 William Manley wrote:
> 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.

I believe Microsoft defines RGB as BGR. They do at least in BMP 
(https://en.wikipedia.org/wiki/BMP_file_format), probably because they 
consider the RGB pixel to be stored in little-endian format.

> [1]:
> http://www.magewell.com/hardware/dongles/xi100dusb-hdmi/xi100dusb-hdmi_feat
> ures.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).a
> spx
> 
> Signed-off-by: William Manley <will@xxxxxxxxxxxxxxxxx>

Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

I'll apply the patch to my tree and submit it for v3.20.

Could you please send me the output of 'lsusb -v' for your device, if possible 
running as root ?

> ---
>  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}

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux