mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-24 07:22:04 +08:00
better transition
This commit is contained in:
@@ -315,9 +315,9 @@ void set_exposure_target(CameraState *c, int x_start, int x_end, int x_skip, int
|
||||
lum_cur += lum_binning[lum_med];
|
||||
#ifdef QCOM2
|
||||
int lum_med_tmp = 0;
|
||||
int hb = HLC_THRESH;
|
||||
int hb = HLC_THRESH + (10 - c->analog_gain);
|
||||
if (lum_cur > 0 && lum_med > hb) {
|
||||
lum_med_tmp = 4 * (lum_med - hb) + 100;
|
||||
lum_med_tmp = (lum_med - hb) + 100;
|
||||
}
|
||||
lum_med_alt = lum_med_alt>lum_med_tmp?lum_med_alt:lum_med_tmp;
|
||||
#endif
|
||||
@@ -325,7 +325,7 @@ void set_exposure_target(CameraState *c, int x_start, int x_end, int x_skip, int
|
||||
break;
|
||||
}
|
||||
}
|
||||
lum_med = lum_med_alt>0 ? lum_med + lum_med/32*lum_cur*(lum_med_alt - lum_med)/lum_total/2:lum_med;
|
||||
lum_med = lum_med_alt>0 ? lum_med + lum_med*lum_cur*(lum_med_alt - lum_med)/lum_total/32:lum_med;
|
||||
camera_autoexposure(c, lum_med / 256.0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1003,7 +1003,7 @@ static void set_camera_exposure(CameraState *s, float grey_frac) {
|
||||
// TODO: get stats from sensor?
|
||||
float target_grey = 0.4 - ((float)(s->analog_gain + 4*s->dc_gain_enabled) / 48.0f);
|
||||
float exposure_factor = 1 + 30 * pow((target_grey - grey_frac), 3);
|
||||
exposure_factor = std::max(exposure_factor, 0.4f);
|
||||
exposure_factor = std::max(exposure_factor, 0.56f);
|
||||
|
||||
if (s->camera_num != 1) {
|
||||
s->ef_filtered = (1 - EF_LOWPASS_K) * s->ef_filtered + EF_LOWPASS_K * exposure_factor;
|
||||
|
||||
Reference in New Issue
Block a user