]> Pileus Git - ~andy/linux/commitdiff
[media] gscpa_pac207: Switch to coarse_grained_expo auto gain algorithm
authorHans de Goede <hdegoede@redhat.com>
Thu, 10 May 2012 11:52:37 +0000 (08:52 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 14 May 2012 12:44:02 +0000 (09:44 -0300)
The pac207's exposure control is a clock-divider, so it goes with quite
big steps. So lets use an autogain algorithm optimised for that.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/pac207.c

index 44ad57aa4058a82a2f50f7a51546561f8187682d..fa661c6d6d55ea0263c9aabe9c99c67ded5c3b46 100644 (file)
@@ -46,13 +46,11 @@ MODULE_LICENSE("GPL");
 #define PAC207_EXPOSURE_MIN            3
 #define PAC207_EXPOSURE_MAX            90 /* 1 sec expo time / 1 fps */
 #define PAC207_EXPOSURE_DEFAULT                5 /* power on default: 3 */
-#define PAC207_EXPOSURE_KNEE           9 /* fps: 90 / exposure -> 9: 10 fps */
 #define PAC207_EXPOSURE_REG            0x02
 
 #define PAC207_GAIN_MIN                        0
 #define PAC207_GAIN_MAX                        31
 #define PAC207_GAIN_DEFAULT            7 /* power on default: 9 */
-#define PAC207_GAIN_KNEE               15
 #define PAC207_GAIN_REG                        0x0e
 
 #define PAC207_AUTOGAIN_DEADZONE       30
@@ -343,9 +341,8 @@ static void pac207_do_auto_gain(struct gspca_dev *gspca_dev)
 
        if (sd->autogain_ignore_frames > 0)
                sd->autogain_ignore_frames--;
-       else if (gspca_expo_autogain(gspca_dev, avg_lum,
-                       90, PAC207_AUTOGAIN_DEADZONE,
-                       PAC207_GAIN_KNEE, PAC207_EXPOSURE_KNEE))
+       else if (gspca_coarse_grained_expo_autogain(gspca_dev, avg_lum,
+                       90, PAC207_AUTOGAIN_DEADZONE))
                sd->autogain_ignore_frames = PAC_AUTOGAIN_IGNORE_FRAMES;
 }