[linux-yocto] [PATCH] UVC: Add support for R200 depth camera

Bruce Ashfield bruce.ashfield at windriver.com
Fri Apr 1 12:39:57 PDT 2016


On 2016-04-01 10:45 AM, Saul Wold wrote:
> From: Aviv Greenberg <avivgr at gmail.com>

Remind me .. this is for 4.4, correct ?

Bruce

>
> Add support for Intel R200 depth camera in uvc driver.
> This includes adding new uvc GUIDs for the new pixel formats,
> adding new V4L pixel format definition to user api headers,
> and updating the uvc driver GUID-to-4cc tables with the new formats.
>
> Tested-by: Greenberg, Aviv D <aviv.d.greenberg at intel.com>
> Signed-off-by: Aviv Greenberg <aviv.d.greenberg at intel.com>
> Signed-off-by: Sakari Ailus <sakari.ailus at linux.intel.com>
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at osg.samsung.com>
> Signed-off-by: Saul Wold <sgw at linux.intel.com>
> ---
>   drivers/media/usb/uvc/uvc_driver.c | 20 ++++++++++++++++++++
>   drivers/media/usb/uvc/uvcvideo.h   | 12 ++++++++++++
>   include/uapi/linux/videodev2.h     |  3 +++
>   3 files changed, 35 insertions(+)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index d11fd6a..5cefca9 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -148,6 +148,26 @@ static struct uvc_format_desc uvc_fmts[] = {
>   		.guid		= UVC_GUID_FORMAT_H264,
>   		.fcc		= V4L2_PIX_FMT_H264,
>   	},
> +	{
> +		.name		= "Greyscale 8 L/R (Y8I)",
> +		.guid		= UVC_GUID_FORMAT_Y8I,
> +		.fcc		= V4L2_PIX_FMT_Y8I,
> +	},
> +	{
> +		.name		= "Greyscale 12 L/R (Y12I)",
> +		.guid		= UVC_GUID_FORMAT_Y12I,
> +		.fcc		= V4L2_PIX_FMT_Y12I,
> +	},
> +	{
> +		.name		= "Depth data 16-bit (Z16)",
> +		.guid		= UVC_GUID_FORMAT_Z16,
> +		.fcc		= V4L2_PIX_FMT_Z16,
> +	},
> +	{
> +		.name		= "Bayer 10-bit (SRGGB10P)",
> +		.guid		= UVC_GUID_FORMAT_RW10,
> +		.fcc		= V4L2_PIX_FMT_SRGGB10P,
> +	},
>   };
>
>   /* ------------------------------------------------------------------------
> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> index f0f2391..7e4d3ee 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -119,6 +119,18 @@
>   #define UVC_GUID_FORMAT_H264 \
>   	{ 'H',  '2',  '6',  '4', 0x00, 0x00, 0x10, 0x00, \
>   	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> +#define UVC_GUID_FORMAT_Y8I \
> +	{ 'Y',  '8',  'I',  ' ', 0x00, 0x00, 0x10, 0x00, \
> +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> +#define UVC_GUID_FORMAT_Y12I \
> +	{ 'Y',  '1',  '2',  'I', 0x00, 0x00, 0x10, 0x00, \
> +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> +#define UVC_GUID_FORMAT_Z16 \
> +	{ 'Z',  '1',  '6',  ' ', 0x00, 0x00, 0x10, 0x00, \
> +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> +#define UVC_GUID_FORMAT_RW10 \
> +	{ 'R',  'W',  '1',  '0', 0x00, 0x00, 0x10, 0x00, \
> +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
>
>   /* ------------------------------------------------------------------------
>    * Driver specific constants.
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index a0e87d1..421d274 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -621,6 +621,9 @@ struct v4l2_pix_format {
>   #define V4L2_PIX_FMT_JPGL	v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */
>   #define V4L2_PIX_FMT_SE401      v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */
>   #define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
> +#define V4L2_PIX_FMT_Y8I      v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
> +#define V4L2_PIX_FMT_Y12I     v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
> +#define V4L2_PIX_FMT_Z16      v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
>
>   /* SDR formats - used only for Software Defined Radio devices */
>   #define V4L2_SDR_FMT_CU8          v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
>



More information about the linux-yocto mailing list