ae: start using minimum values for controls, too

This commit is contained in:
Pavel Machek
2024-09-03 23:19:42 +02:00
parent 16092880d0
commit b5dbc416b5
4 changed files with 16 additions and 2 deletions

View File

@@ -505,9 +505,9 @@ summarize()
//time = state_proc.exposure.value * state_proc.mode->height;
/* */
gain = state_proc.gain.value / 32.; /* FIXME: .min */
gain = state_proc.gain.value / ((float) state_proc.gain.min); /* FIXME: .min */
if (0) /* dgain */
gain *= state_proc.dgain.value / 256.;
gain *= state_proc.dgain.value / ((float) state_proc.dgain.min);
printf("1/%.0f sec, ISO %.0f, t=%f, g=%f %d %d\n",
(float) (1.0/time), (float) (gain*100),
@@ -1413,12 +1413,14 @@ update_state(MPPipeline *pipeline, const mp_state_proc *new_state)
state_proc.gain.auto_control = new_state->gain.auto_control;
state_proc.gain.value = new_state->gain.value;
state_proc.gain.max = new_state->gain.max;
state_proc.gain.min = new_state->gain.min;
state_proc.gain.manual = new_state->gain.manual;
state_proc.dgain.control = new_state->dgain.control;
state_proc.dgain.auto_control = new_state->dgain.auto_control;
state_proc.dgain.value = new_state->dgain.value;
state_proc.dgain.max = new_state->dgain.max;
state_proc.dgain.min = new_state->dgain.min;
state_proc.dgain.manual = new_state->dgain.manual;
state_proc.exposure.control = new_state->exposure.control;
@@ -1494,6 +1496,7 @@ update_state(MPPipeline *pipeline, const mp_state_proc *new_state)
.gain.value = state_proc.gain.value,
.gain.value_req = state_proc.gain.value_req,
.gain.max = state_proc.gain.max,
.gain.min = state_proc.gain.min,
.gain.manual = state_proc.gain.manual,
.dgain.control = state_proc.dgain.control,
@@ -1501,6 +1504,7 @@ update_state(MPPipeline *pipeline, const mp_state_proc *new_state)
.dgain.value = state_proc.dgain.value,
.dgain.value_req = state_proc.dgain.value_req,
.dgain.max = state_proc.dgain.max,
.dgain.min = state_proc.dgain.min,
.dgain.manual = state_proc.dgain.manual,
.exposure.control = state_proc.exposure.control,