Commit d76f975c authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

V4L/DVB (13142): gspca_mr97310a: small tweak to CIF sensor type 1 exposure setting

The CIF sensor type 1 exposure setting got clamped at 300, as settings below
300 do not work well (and do work for the other sensors). This patch
scales the 0-4095 range to 300-4095 instead of ignoring changes between
300, avoiding have a part of the control range where nothing happens.

This is esp. important for software autogain as done by libv4l.
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 20526010
...@@ -842,8 +842,9 @@ static void setexposure(struct gspca_dev *gspca_dev) ...@@ -842,8 +842,9 @@ static void setexposure(struct gspca_dev *gspca_dev)
return; return;
if (sd->cam_type == CAM_TYPE_CIF && sd->sensor_type == 1) { if (sd->cam_type == CAM_TYPE_CIF && sd->sensor_type == 1) {
/* This cam does not like very low exposure settings */ /* This cam does not like exposure settings > 300,
exposure = (sd->exposure < 300) ? 300 : sd->exposure; so scale 0 - 4095 to 300 - 4095 */
exposure = (sd->exposure * 9267) / 10000 + 300;
sensor_write1(gspca_dev, 3, exposure >> 4); sensor_write1(gspca_dev, 3, exposure >> 4);
sensor_write1(gspca_dev, 4, exposure & 0x0f); sensor_write1(gspca_dev, 4, exposure & 0x0f);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment