Lines Matching refs:gain

3  * Functions for auto gain.
9 /* auto gain and exposure algorithm based on the knee algorithm described here:
12 Returns 0 if no changes were made, 1 if the gain and or exposure settings
22 s32 gain, orig_gain, exposure, orig_exposure;
28 orig_gain = gain = v4l2_ctrl_g_ctrl(gspca_dev->gain);
40 if (gain > gain_knee)
41 gain--;
44 else if (gain > gspca_dev->gain->default_value)
45 gain--;
48 else if (gain > gspca_dev->gain->minimum)
49 gain--;
53 if (gain < gspca_dev->gain->default_value)
54 gain++;
57 else if (gain < gain_knee)
58 gain++;
61 else if (gain < gspca_dev->gain->maximum)
62 gain++;
68 if (gain != orig_gain) {
69 v4l2_ctrl_s_ctrl(gspca_dev->gain, gain);
78 gspca_dbg(gspca_dev, D_FRAM, "autogain: changed gain: %d, expo: %d\n",
79 gain, exposure);
88 this algorithm normally tries to only adjust the gain (between 40 and
94 Returns 0 if no changes were made, 1 if the gain and or exposure settings
102 s32 gain_low, gain_high, gain, orig_gain, exposure, orig_exposure;
108 orig_gain = gain = v4l2_ctrl_g_ctrl(gspca_dev->gain);
111 gain_low = (s32)(gspca_dev->gain->maximum - gspca_dev->gain->minimum) /
112 5 * 2 + gspca_dev->gain->minimum;
113 gain_high = (s32)(gspca_dev->gain->maximum - gspca_dev->gain->minimum) /
114 5 * 4 + gspca_dev->gain->minimum;
123 if ((gain + steps) > gain_high &&
125 gain = gain_high;
128 } else if ((gain + steps) < gain_low &&
130 gain = gain_low;
134 gain += steps;
135 if (gain > gspca_dev->gain->maximum)
136 gain = gspca_dev->gain->maximum;
137 else if (gain < gspca_dev->gain->minimum)
138 gain = gspca_dev->gain->minimum;
151 if (gain != orig_gain) {
152 v4l2_ctrl_s_ctrl(gspca_dev->gain, gain);
161 gspca_dbg(gspca_dev, D_FRAM, "autogain: changed gain: %d, expo: %d\n",
162 gain, exposure);