aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2010-04-12 09:41:22 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:58:42 -0400
commit61421206833a4085d9bdf35b2b84cd9a67dfdfac (patch)
tree676c8a82b43d4acd3414258f1066afa0cf4ce797
parentacc8cc43865edbd4fe8602531c92fa748ad7778f (diff)
V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
The Miricle 307K (17dc:0202) camera reports a 16-bit greyscale format, support it in the driver. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/uvc/uvc_driver.c7
-rw-r--r--drivers/media/video/uvc/uvcvideo.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index 72a705802f18..838b56f097cf 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -91,11 +91,16 @@ static struct uvc_format_desc uvc_fmts[] = {
91 .fcc = V4L2_PIX_FMT_UYVY, 91 .fcc = V4L2_PIX_FMT_UYVY,
92 }, 92 },
93 { 93 {
94 .name = "Greyscale", 94 .name = "Greyscale (8-bit)",
95 .guid = UVC_GUID_FORMAT_Y800, 95 .guid = UVC_GUID_FORMAT_Y800,
96 .fcc = V4L2_PIX_FMT_GREY, 96 .fcc = V4L2_PIX_FMT_GREY,
97 }, 97 },
98 { 98 {
99 .name = "Greyscale (16-bit)",
100 .guid = UVC_GUID_FORMAT_Y16,
101 .fcc = V4L2_PIX_FMT_Y16,
102 },
103 {
99 .name = "RGB Bayer", 104 .name = "RGB Bayer",
100 .guid = UVC_GUID_FORMAT_BY8, 105 .guid = UVC_GUID_FORMAT_BY8,
101 .fcc = V4L2_PIX_FMT_SBGGR8, 106 .fcc = V4L2_PIX_FMT_SBGGR8,
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
index 2bba059259e6..d1f88406a5e7 100644
--- a/drivers/media/video/uvc/uvcvideo.h
+++ b/drivers/media/video/uvc/uvcvideo.h
@@ -131,11 +131,13 @@ struct uvc_xu_control {
131#define UVC_GUID_FORMAT_Y800 \ 131#define UVC_GUID_FORMAT_Y800 \
132 { 'Y', '8', '0', '0', 0x00, 0x00, 0x10, 0x00, \ 132 { 'Y', '8', '0', '0', 0x00, 0x00, 0x10, 0x00, \
133 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 133 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
134#define UVC_GUID_FORMAT_Y16 \
135 { 'Y', '1', '6', ' ', 0x00, 0x00, 0x10, 0x00, \
136 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
134#define UVC_GUID_FORMAT_BY8 \ 137#define UVC_GUID_FORMAT_BY8 \
135 { 'B', 'Y', '8', ' ', 0x00, 0x00, 0x10, 0x00, \ 138 { 'B', 'Y', '8', ' ', 0x00, 0x00, 0x10, 0x00, \
136 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 139 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
137 140
138
139/* ------------------------------------------------------------------------ 141/* ------------------------------------------------------------------------
140 * Driver specific constants. 142 * Driver specific constants.
141 */ 143 */