From 0f5b26576246251622e33c076486b7cb0bdb0d99 Mon Sep 17 00:00:00 2001 From: Joe Howse Date: Mon, 29 Dec 2014 12:00:03 -0300 Subject: [PATCH] [media] gspca: Add high-speed modes for PS3 Eye camera Add support in the PS3 Eye driver for QVGA capture at higher frame rates: 187, 150, and 137 FPS. This functionality is valuable because the PS3 Eye is popular for computer vision projects and no other camera in its price range supports such high frame rates. Correct a QVGA mode that was listed as 40 FPS. It is really 37 FPS (half of 75 FPS). Tests confirm that the nominal frame rates are achieved. Signed-off-by: Joe Howse Tested-by: Antonio Ospite Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab --- drivers/media/usb/gspca/ov534.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/media/usb/gspca/ov534.c b/drivers/media/usb/gspca/ov534.c index 90f0d637cd9d..a9c866d6d82d 100644 --- a/drivers/media/usb/gspca/ov534.c +++ b/drivers/media/usb/gspca/ov534.c @@ -12,6 +12,8 @@ * PS3 Eye camera enhanced by Richard Kaswy http://kaswy.free.fr * PS3 Eye camera - brightness, contrast, awb, agc, aec controls * added by Max Thrun + * PS3 Eye camera - FPS range extended by Joseph Howse + * http://nummist.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -116,7 +118,7 @@ static const struct v4l2_pix_format ov767x_mode[] = { .colorspace = V4L2_COLORSPACE_JPEG}, }; -static const u8 qvga_rates[] = {125, 100, 75, 60, 50, 40, 30}; +static const u8 qvga_rates[] = {187, 150, 137, 125, 100, 75, 60, 50, 37, 30}; static const u8 vga_rates[] = {60, 50, 40, 30, 15}; static const struct framerates ov772x_framerates[] = { @@ -769,12 +771,16 @@ static void set_frame_rate(struct gspca_dev *gspca_dev) {15, 0x03, 0x41, 0x04}, }; static const struct rate_s rate_1[] = { /* 320x240 */ +/* {205, 0x01, 0xc1, 0x02}, * 205 FPS: video is partly corrupt */ + {187, 0x01, 0x81, 0x02}, /* 187 FPS or below: video is valid */ + {150, 0x01, 0xc1, 0x04}, + {137, 0x02, 0xc1, 0x02}, {125, 0x02, 0x81, 0x02}, {100, 0x02, 0xc1, 0x04}, {75, 0x03, 0xc1, 0x04}, {60, 0x04, 0xc1, 0x04}, {50, 0x02, 0x41, 0x04}, - {40, 0x03, 0x41, 0x04}, + {37, 0x03, 0x41, 0x04}, {30, 0x04, 0x41, 0x04}, }; -- 2.30.2