[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