|
|
|
@ -3667,8 +3667,6 @@ static void sethvflip(struct gspca_dev *gspca_dev) |
|
|
|
|
{ |
|
|
|
|
struct sd *sd = (struct sd *) gspca_dev; |
|
|
|
|
|
|
|
|
|
if (sd->sensor != SEN_OV7670) |
|
|
|
|
return; |
|
|
|
|
if (sd->gspca_dev.streaming) |
|
|
|
|
ov51x_stop(sd); |
|
|
|
|
i2c_w_mask(sd, OV7670_R1E_MVFP, |
|
|
|
@ -3812,12 +3810,18 @@ static int sd_start(struct gspca_dev *gspca_dev) |
|
|
|
|
|
|
|
|
|
set_ov_sensor_window(sd); |
|
|
|
|
|
|
|
|
|
setcontrast(gspca_dev); |
|
|
|
|
setbrightness(gspca_dev); |
|
|
|
|
setcolors(gspca_dev); |
|
|
|
|
sethvflip(gspca_dev); |
|
|
|
|
setautobright(gspca_dev); |
|
|
|
|
setfreq_i(sd); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & (1 << CONTRAST))) |
|
|
|
|
setcontrast(gspca_dev); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & (1 << BRIGHTNESS))) |
|
|
|
|
setbrightness(gspca_dev); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & (1 << COLORS))) |
|
|
|
|
setcolors(gspca_dev); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & ((1 << HFLIP) | (1 << VFLIP)))) |
|
|
|
|
sethvflip(gspca_dev); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & (1 << AUTOBRIGHT))) |
|
|
|
|
setautobright(gspca_dev); |
|
|
|
|
if (!(sd->gspca_dev.ctrl_dis & (1 << FREQ))) |
|
|
|
|
setfreq_i(sd); |
|
|
|
|
|
|
|
|
|
/* Force clear snapshot state in case the snapshot button was
|
|
|
|
|
pressed while we weren't streaming */ |
|
|
|
@ -4184,19 +4188,11 @@ static void setautobright(struct gspca_dev *gspca_dev) |
|
|
|
|
{ |
|
|
|
|
struct sd *sd = (struct sd *) gspca_dev; |
|
|
|
|
|
|
|
|
|
if (sd->sensor == SEN_OV7640 || sd->sensor == SEN_OV7648 || |
|
|
|
|
sd->sensor == SEN_OV7670 || |
|
|
|
|
sd->sensor == SEN_OV2610 || sd->sensor == SEN_OV3610) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
i2c_w_mask(sd, 0x2d, sd->ctrls[AUTOBRIGHT].val ? 0x10 : 0x00, 0x10); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void setfreq_i(struct sd *sd) |
|
|
|
|
{ |
|
|
|
|
if (sd->sensor == SEN_OV2610 || sd->sensor == SEN_OV3610) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
if (sd->sensor == SEN_OV7670) { |
|
|
|
|
switch (sd->ctrls[FREQ].val) { |
|
|
|
|
case 0: /* Banding filter disabled */ |
|
|
|
|