pull/26948/head
ZwX1616 2 years ago
parent 564de17343
commit 7c6adf4f39
  1. 12
      system/camerad/cameras/camera_qcom2.cc

@ -1052,16 +1052,10 @@ void CameraState::update_exposure_score(float desired_ev, int exp_t, int exp_g_i
// Cost of changing gain // Cost of changing gain
score += std::abs(exp_g_idx - gain_idx) * (score + 1.0) / 10.0; score += std::abs(exp_g_idx - gain_idx) * (score + 1.0) / 10.0;
} else if (camera_id == CAMERA_ID_OX03C10) { } else if (camera_id == CAMERA_ID_OX03C10) {
float term_1 = std::abs(desired_ev - (exp_t * exp_gain)); score = std::abs(desired_ev - (exp_t * exp_gain));
score = term_1;
float m = exp_g_idx > analog_gain_rec_idx ? analog_gain_cost_high : analog_gain_cost_low; float m = exp_g_idx > analog_gain_rec_idx ? analog_gain_cost_high : analog_gain_cost_low;
float term_2 = std::abs(exp_g_idx - (int)analog_gain_rec_idx) * m; score += std::abs(exp_g_idx - (int)analog_gain_rec_idx) * m;
score += term_2; score += ((1 - analog_gain_cost_delta) + analog_gain_cost_delta * (exp_g_idx - analog_gain_min_idx) / (analog_gain_max_idx - analog_gain_min_idx)) * std::abs(exp_g_idx - gain_idx) * 5.0;
float term_3 = ((1 - analog_gain_cost_delta) + analog_gain_cost_delta * (exp_g_idx - analog_gain_min_idx) / (analog_gain_max_idx - analog_gain_min_idx)) * std::abs(exp_g_idx - gain_idx) * 5.0;
score += term_3;
if (camera_num == 1) {
printf("score for t=%d, g=%.1f: %.1f, %.1f, %.1f\n", exp_t, exp_gain, term_1, term_2, term_3);
}
} }
if (score < best_ev_score) { if (score < best_ev_score) {

Loading…
Cancel
Save