Created
September 14, 2018 13:53
-
-
Save tiagoshibata/e58476082a8bb8d7ded595fbc322b9a6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/drivers/media/usb/uvc/Makefile b/drivers/media/usb/uvc/Makefile | |
index c26d12f..d86cf22 100644 | |
--- a/drivers/media/usb/uvc/Makefile | |
+++ b/drivers/media/usb/uvc/Makefile | |
@@ -1,4 +1,5 @@ | |
# SPDX-License-Identifier: GPL-2.0 | |
+CONFIG_MODULE_SIG=n | |
uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o \ | |
uvc_status.o uvc_isight.o uvc_debugfs.o uvc_metadata.o | |
ifeq ($(CONFIG_MEDIA_CONTROLLER),y) | |
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c | |
index d11fd6a..c819a39 100644 | |
--- a/drivers/media/usb/uvc/uvc_driver.c | |
+++ b/drivers/media/usb/uvc/uvc_driver.c | |
@@ -148,6 +148,81 @@ 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, | |
+ }, | |
+ { | |
+ .name = "Raw data 8-bit (RAW8)", | |
+ .guid = UVC_GUID_FORMAT_RAW8, | |
+ .fcc = V4L2_PIX_FMT_RAW8, | |
+ }, | |
+ { | |
+ .name = "Raw data 16-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:IR 16:8 24-bit (INZI)", | |
+ .guid = UVC_GUID_FORMAT_INZI, | |
+ .fcc = V4L2_PIX_FMT_INZI, | |
+ }, | |
+ { | |
+ .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, | |
+ }, | |
}; | |
/* ------------------------------------------------------------------------ | |
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h | |
index f0f2391..6704db7 100644 | |
--- a/drivers/media/usb/uvc/uvcvideo.h | |
+++ b/drivers/media/usb/uvc/uvcvideo.h | |
@@ -119,6 +119,51 @@ | |
#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} | |
+#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_INVZ \ | |
+ { 'I', 'N', 'V', 'Z', 0x90, 0x2d, 0x58, 0x4a, \ | |
+ 0x92, 0x0b, 0x77, 0x3f, 0x1f, 0x2c, 0x55, 0x6b} | |
+#define UVC_GUID_FORMAT_INZI \ | |
+ { 'I', 'N', 'Z', 'I', 0x66, 0x1a, 0x42, 0xa2, \ | |
+ 0x90, 0x65, 0xd0, 0x18, 0x14, 0xa8, 0xef, 0x8a} | |
+#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_INVI \ | |
+ { 'I', 'N', 'V', 'I', 0xdb, 0x57, 0x49, 0x5e, \ | |
+ 0x8e, 0x3f, 0xf4, 0x79, 0x53, 0x2b, 0x94, 0x6f} | |
+#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. | |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h | |
index a0e87d1..7e00be4 100644 | |
--- a/include/uapi/linux/videodev2.h | |
+++ b/include/uapi/linux/videodev2.h | |
@@ -667,6 +667,21 @@ | |
#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 */ | |
+#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_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* 24 Depth/IR 16:8 */ | |
+#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 */ | |
+#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 */ | |
#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 */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment