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

Saul Wold sgw at linux.intel.com
Fri Apr 1 13:11:12 PDT 2016


On Fri, 2016-04-01 at 15:39 -0400, Bruce Ashfield wrote:
> 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 ?

Yup 4.4

Sau!


> 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