Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 241879
b: refs/heads/master
c: d57747f
h: refs/heads/master
i:
  241877: 8ab9a52
  241875: 3983224
  241871: 13ee33f
v: v3
  • Loading branch information
Jean-François Moine authored and Mauro Carvalho Chehab committed Mar 21, 2011
1 parent 3529826 commit 8f05d50
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 458efe2d558b51fff38026e8ede9374899340e60
refs/heads/master: d57747f1e738cf1aa4a743ea10e0fb640b502c7d
37 changes: 37 additions & 0 deletions trunk/drivers/media/video/gspca/ov534.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ enum e_ctrl {
SHARPNESS,
HFLIP,
VFLIP,
COLORS,
LIGHTFREQ,
NCTRLS /* number of controls */
};
Expand Down Expand Up @@ -93,6 +94,7 @@ static void setawb(struct gspca_dev *gspca_dev);
static void setaec(struct gspca_dev *gspca_dev);
static void setsharpness(struct gspca_dev *gspca_dev);
static void sethvflip(struct gspca_dev *gspca_dev);
static void setcolors(struct gspca_dev *gspca_dev);
static void setlightfreq(struct gspca_dev *gspca_dev);

static int sd_start(struct gspca_dev *gspca_dev);
Expand Down Expand Up @@ -219,6 +221,18 @@ static const struct ctrl sd_ctrls[] = {
},
.set_control = sethvflip
},
[COLORS] = {
{
.id = V4L2_CID_SATURATION,
.type = V4L2_CTRL_TYPE_INTEGER,
.name = "Saturation",
.minimum = 0,
.maximum = 6,
.step = 1,
.default_value = 3,
},
.set_control = setcolors
},
[LIGHTFREQ] = {
{
.id = V4L2_CID_POWER_LINE_FREQUENCY,
Expand Down Expand Up @@ -1116,6 +1130,26 @@ static void sethvflip(struct gspca_dev *gspca_dev)
}
}

static void setcolors(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
u8 val;
int i;
static u8 color_tb[][6] = {
{0x42, 0x42, 0x00, 0x11, 0x30, 0x41},
{0x52, 0x52, 0x00, 0x16, 0x3c, 0x52},
{0x66, 0x66, 0x00, 0x1b, 0x4b, 0x66},
{0x80, 0x80, 0x00, 0x22, 0x5e, 0x80},
{0x9a, 0x9a, 0x00, 0x29, 0x71, 0x9a},
{0xb8, 0xb8, 0x00, 0x31, 0x87, 0xb8},
{0xdd, 0xdd, 0x00, 0x3b, 0xa2, 0xdd},
};

val = sd->ctrls[COLORS].val;
for (i = 0; i < ARRAY_SIZE(color_tb[0]); i++)
sccb_reg_write(gspca_dev, 0x4f + i, color_tb[val][i]);
}

static void setlightfreq(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
Expand Down Expand Up @@ -1207,6 +1241,7 @@ static int sd_init(struct gspca_dev *gspca_dev)
gspca_dev->cam.nmodes = ARRAY_SIZE(ov767x_mode);
} else {
sd->sensor = SENSOR_OV772x;
gspca_dev->ctrl_dis = (1 << COLORS);
gspca_dev->cam.bulk = 1;
gspca_dev->cam.bulk_size = 16384;
gspca_dev->cam.bulk_nurbs = 2;
Expand Down Expand Up @@ -1277,6 +1312,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
if (!(gspca_dev->ctrl_dis & (1 << SHARPNESS)))
setsharpness(gspca_dev);
sethvflip(gspca_dev);
if (!(gspca_dev->ctrl_dis & (1 << COLORS)))
setcolors(gspca_dev);
setlightfreq(gspca_dev);

ov534_set_led(gspca_dev, 1);
Expand Down

0 comments on commit 8f05d50

Please sign in to comment.