[media] gspca - sonixj: Adjust the contrast control
authorJean-François Moine <moinejf@free.fr>
Wed, 10 Aug 2011 08:13:45 +0000 (05:13 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 11 Sep 2011 12:24:12 +0000 (09:24 -0300)
The contrast was too low. Higher values are better.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/sonixj.c

index f3cfb9788aa5cf0393a271e6ba19f3777261f5dc..7ab0c1a7623d976f0a93d3a9fde9c9f0ed7e5f2a 100644 (file)
@@ -159,7 +159,7 @@ static const struct ctrl sd_ctrls[NCTRLS] = {
 #define CONTRAST_MAX 127
                .maximum = CONTRAST_MAX,
                .step    = 1,
-               .default_value = 63,
+               .default_value = 20,
            },
            .set_control = setcontrast
        },
@@ -2021,13 +2021,13 @@ static void setcontrast(struct gspca_dev *gspca_dev)
        u8 k2;
        u8 contrast[6];
 
-       k2 = sd->ctrls[CONTRAST].val * 0x30 / (CONTRAST_MAX + 1)
-                               + 0x10;         /* 10..40 */
+       k2 = sd->ctrls[CONTRAST].val * 37 / (CONTRAST_MAX + 1)
+                               + 37;           /* 37..73 */
        contrast[0] = (k2 + 1) / 2;             /* red */
        contrast[1] = 0;
        contrast[2] = k2;                       /* green */
        contrast[3] = 0;
-       contrast[4] = (k2 + 1) / 5;             /* blue */
+       contrast[4] = k2 / 5;                   /* blue */
        contrast[5] = 0;
        reg_w(gspca_dev, 0x84, contrast, sizeof contrast);
 }