OX03C10: improve tone mapping (#27754)

Co-authored-by: Comma Dev1ce & Y. Yousfi <device@comma.ai>
pull/27816/head
ZwX1616 2 years ago committed by GitHub
parent 038d34aa7f
commit 4b1f77d54a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      system/camerad/cameras/camera_qcom2.cc
  2. 4
      system/camerad/cameras/real_debayer.cl

@ -71,7 +71,7 @@ const int DC_GAIN_MIN_WEIGHT_OX03C10 = 1; // always on is fine
const int DC_GAIN_MAX_WEIGHT_OX03C10 = 1;
const float TARGET_GREY_FACTOR_AR0231 = 1.0;
const float TARGET_GREY_FACTOR_OX03C10 = 0.02;
const float TARGET_GREY_FACTOR_OX03C10 = 0.01;
const float sensor_analog_gains_AR0231[] = {
1.0/8.0, 2.0/8.0, 2.0/7.0, 3.0/7.0, // 0, 1, 2, 3
@ -101,7 +101,7 @@ const float ANALOG_GAIN_COST_LOW_AR0231 = 0.1;
const float ANALOG_GAIN_COST_HIGH_AR0231 = 5.0;
const int ANALOG_GAIN_MIN_IDX_OX03C10 = 0x0;
const int ANALOG_GAIN_REC_IDX_OX03C10 = 0x11; // 2.5x
const int ANALOG_GAIN_REC_IDX_OX03C10 = 0x0; // 1x
const int ANALOG_GAIN_MAX_IDX_OX03C10 = 0x36;
const int ANALOG_GAIN_COST_DELTA_OX03C10 = -1;
const float ANALOG_GAIN_COST_LOW_OX03C10 = 0.4;

@ -18,6 +18,9 @@ float3 color_correct(float3 rgb) {
x += rgb.z * (float3)(-0.25277411, -0.05627105, 1.45875782);
#endif
#if IS_OX
return -0.507089*exp(-12.54124638*x)+0.9655*powr(x,0.5)-0.472597*x+0.507089;
#else
// tone mapping params
const float gamma_k = 0.75;
const float gamma_b = 0.125;
@ -28,6 +31,7 @@ float3 color_correct(float3 rgb) {
return (x > mp) ?
((rk * (x-mp) * (1-(gamma_k*mp+gamma_b)) * (1+1/(rk*(1-mp))) / (1+rk*(x-mp))) + gamma_k*mp + gamma_b) :
((rk * (x-mp) * (gamma_k*mp+gamma_b) * (1+1/(rk*mp)) / (1-rk*(x-mp))) + gamma_k*mp + gamma_b);
#endif
}
float get_vignetting_s(float r) {

Loading…
Cancel
Save