From: Hans de Goede <j.w.r.degoede@hhs.nl>
To: Jean-Francois Moine <moinejf@free.fr>
Cc: video4linux-list@redhat.com
Subject: Patch: gspca-sonixb-ov6650-gain.patch
Date: Sun, 13 Jul 2008 21:42:57 +0200 [thread overview]
Message-ID: <487A5AC1.7020203@hhs.nl> (raw)
[-- Attachment #1: Type: text/plain, Size: 383 bytes --]
Hi,
This patch contains the following changes:
1) It turns out that the ov6650 gain only has 5 significant bits, not 8
(oops)
2) Make the auto exposure code slightly less nervous (make deadzone larger,
standardize gain and exposure settings to 0-255 range instead of the
strange 0-511 I used before)
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Regards,
Hans
[-- Attachment #2: gspca-sonixb-ov6650-gain.patch --]
[-- Type: text/x-patch, Size: 2858 bytes --]
This patch contains the following changes:
1) It turns out that the ov6650 gain only has 5 significant bits, not 8
(oops)
2) Make the auto exposure code slightly less nervous (make deadzone larger,
standardize gain and exposure settings to 0-255 range instead of the
strange 0-511 I used before)
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
diff -r 8db437b06853 linux/drivers/media/video/gspca/sonixb.c
--- a/linux/drivers/media/video/gspca/sonixb.c Thu Jul 10 10:41:35 2008 +0200
+++ b/linux/drivers/media/video/gspca/sonixb.c Sun Jul 13 21:38:05 2008 +0200
@@ -39,8 +39,8 @@
sensor, so we use a per cam copy */
atomic_t avg_lum;
- unsigned short gain;
- unsigned short exposure;
+ unsigned char gain;
+ unsigned char exposure;
unsigned char brightness;
unsigned char autogain;
unsigned char autogain_ignore_frames;
@@ -73,7 +73,7 @@
ignore atleast the 2 next frames for the new settings to come into effect
before doing any other adjustments */
#define AUTOGAIN_IGNORE_FRAMES 3
-#define AUTOGAIN_DEADZONE 500
+#define AUTOGAIN_DEADZONE 1000
#define DESIRED_AVG_LUM 7000
/* V4L2 controls supported by the driver */
@@ -109,10 +109,10 @@
.type = V4L2_CTRL_TYPE_INTEGER,
.name = "Gain",
.minimum = 0,
- .maximum = 511,
+ .maximum = 255,
.step = 1,
-#define GAIN_DEF 255
-#define GAIN_KNEE 400
+#define GAIN_DEF 127
+#define GAIN_KNEE 200
.default_value = GAIN_DEF,
},
.set = sd_setgain,
@@ -125,9 +125,9 @@
.type = V4L2_CTRL_TYPE_INTEGER,
.name = "Exposure",
#define EXPOSURE_DEF 0
-#define EXPOSURE_KNEE 353 /* 10 fps */
+#define EXPOSURE_KNEE 176 /* 10 fps */
.minimum = 0,
- .maximum = 511,
+ .maximum = 255,
.step = 1,
.default_value = EXPOSURE_DEF,
.flags = 0,
@@ -565,11 +565,6 @@
static void setsensorgain(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
- unsigned short gain;
-
- gain = (sd->gain + 1) >> 1;
- if (gain > 255)
- gain = 255;
switch(sd->sensor) {
@@ -577,14 +572,14 @@
__u8 i2c[] =
{0x30, 0x11, 0x02, 0x20, 0x70, 0x00, 0x00, 0x10};
- i2c[4] = 255 - gain;
+ i2c[4] = 255 - sd->gain;
if (i2c_w(gspca_dev->dev, i2c) < 0)
goto err;
break; }
case SENSOR_OV6650: {
__u8 i2c[] = {0xa0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
- i2c[3] = gain;
+ i2c[3] = sd->gain >> 3;
if (i2c_w(gspca_dev->dev, i2c) < 0)
goto err;
break; }
@@ -600,7 +595,7 @@
__u8 gain;
__u8 rgb_value;
- gain = sd->gain >> 5;
+ gain = sd->gain >> 4;
/* red and blue gain */
rgb_value = gain << 4 | gain;
@@ -617,7 +612,7 @@
{
struct sd *sd = (struct sd *) gspca_dev;
/* translate 0 - 255 to a number of fps in a 30 - 1 scale */
- int fps = 30 - sd->exposure * 29 / 511;
+ int fps = 30 - sd->exposure * 29 / 255;
switch(sd->sensor) {
case SENSOR_TAS5110: {
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
reply other threads:[~2008-07-13 19:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=487A5AC1.7020203@hhs.nl \
--to=j.w.r.degoede@hhs.nl \
--cc=moinejf@free.fr \
--cc=video4linux-list@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.