Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IR and Depth format of the Intel RealSense #451

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions drivers/media/usb/uvc/uvc_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,56 @@ static struct uvc_format_desc uvc_fmts[] = {
.guid = UVC_GUID_FORMAT_INZI,
.fcc = V4L2_PIX_FMT_INZI,
},
{
.name = "Raw data 8-bit (RAW8)",
.guid = UVC_GUID_FORMAT_RAW8,
.fcc = V4L2_PIX_FMT_RAW8,
},
{
.name = "Raw data 10-bit (RW16)",
.guid = UVC_GUID_FORMAT_RW16,
.fcc = V4L2_PIX_FMT_RW16,
},
{
.name = "Depth 16-bit (INVZ)",
.guid = UVC_GUID_FORMAT_INVZ,
.fcc = V4L2_PIX_FMT_INVZ,
},
{
.name = "Depth 16-bit (INVR)",
.guid = UVC_GUID_FORMAT_INVR,
.fcc = V4L2_PIX_FMT_INVR,
},
{
.name = "Depth:IR 16:8 24-bit (INRI)",
.guid = UVC_GUID_FORMAT_INRI,
.fcc = V4L2_PIX_FMT_INRI,
},
{
.name = "Infrared 8-bit (INVI)",
.guid = UVC_GUID_FORMAT_INVI,
.fcc = V4L2_PIX_FMT_INVI,
},
{
.name = "FlickerIR 8-bit (RELI)",
.guid = UVC_GUID_FORMAT_RELI,
.fcc = V4L2_PIX_FMT_RELI,
},
{
.name = "Luminosity data 8-bit (L8)",
.guid = UVC_GUID_FORMAT_L8,
.fcc = V4L2_PIX_FMT_Y8,
},
{
.name = "Luminosity data 16-bit (L16)",
.guid = UVC_GUID_FORMAT_L16,
.fcc = V4L2_PIX_FMT_Y16,
},
{
.name = "Depth data 16-bit (D16)",
.guid = UVC_GUID_FORMAT_D16,
.fcc = V4L2_PIX_FMT_Z16,
},
};

/* ------------------------------------------------------------------------
Expand Down
25 changes: 24 additions & 1 deletion drivers/media/usb/uvc/uvcvideo.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@
#define UVC_GUID_FORMAT_M420 \
{ 'M', '4', '2', '0', 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}

#define UVC_GUID_FORMAT_H264 \
{ 'H', '2', '6', '4', 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
Expand All @@ -152,6 +151,30 @@
#define UVC_GUID_FORMAT_INVI \
{ 'I', 'N', 'V', 'I', 0xdb, 0x57, 0x49, 0x5e, \
0x8e, 0x3f, 0xf4, 0x79, 0x53, 0x2b, 0x94, 0x6f}
#define UVC_GUID_FORMAT_RAW8 \
{ 'R', 'A', 'W', '8', 0x66, 0x1a, 0x42, 0xa2, \
0x90, 0x65, 0xd0, 0x18, 0x14, 0xa8, 0xef, 0x8a}
#define UVC_GUID_FORMAT_RW16 \
{ 'R', 'W', '1', '6', 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
#define UVC_GUID_FORMAT_INVR \
{ 'I', 'N', 'V', 'R', 0x90, 0x2d, 0x58, 0x4a, \
0x92, 0x0b, 0x77, 0x3f, 0x1f, 0x2c, 0x55, 0x6b}
#define UVC_GUID_FORMAT_INRI \
{ 'I', 'N', 'R', 'I', 0x90, 0x2d, 0x58, 0x4a, \
0x92, 0x0b, 0x77, 0x3f, 0x1f, 0x2c, 0x55, 0x6b}
#define UVC_GUID_FORMAT_RELI \
{ 'R', 'E', 'L', 'I', 0x14, 0x13, 0x43, 0xf9, \
0xa7, 0x5a, 0xee, 0x6b, 0xbf, 0x01, 0x2e, 0x23}
#define UVC_GUID_FORMAT_L8 \
{ '2', 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
#define UVC_GUID_FORMAT_L16 \
{ 'Q', 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
#define UVC_GUID_FORMAT_D16 \
{ 'P', 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}

/* ------------------------------------------------------------------------
* Driver specific constants.
Expand Down
11 changes: 11 additions & 0 deletions include/uapi/linux/videodev2.h
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,17 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
#define V4L2_PIX_FMT_Y8 v4l2_fourcc('Y', '8', ' ', ' ') /* Greyscale 8-bit */
#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* Greyscale 10-bit */
#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* Greyscale 12-bit */
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* Greyscale 16-bit */
#define V4L2_PIX_FMT_RAW8 v4l2_fourcc('R', 'A', 'W', '8') /* Raw data 8-bit */
#define V4L2_PIX_FMT_RW16 v4l2_fourcc('R', 'W', '1', '6') /* Raw data 16-bit */
#define V4L2_PIX_FMT_INVZ v4l2_fourcc('I', 'N', 'V', 'Z') /* 16 Depth */
#define V4L2_PIX_FMT_INVR v4l2_fourcc('I', 'N', 'V', 'R') /* 16 Depth */
#define V4L2_PIX_FMT_INRI v4l2_fourcc('I', 'N', 'R', 'I') /* 24 Depth/IR 16:8 */
#define V4L2_PIX_FMT_INVI v4l2_fourcc('I', 'N', 'V', 'I') /* 8 IR */
#define V4L2_PIX_FMT_RELI v4l2_fourcc('R', 'E', 'L', 'I') /* 8 IR alternating on off illumination */

/* SDR formats - used only for Software Defined Radio devices */
#define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
Expand Down