|
|
|
@ -116,7 +116,7 @@ float4 val4_from_10(uchar8 pvs, uchar ext, bool aligned, float gain) { |
|
|
|
|
float combine_pvs(float lv, float sv, int expo) { |
|
|
|
|
float llv = lv - 64.0; |
|
|
|
|
float lsv = sv - 64.0; |
|
|
|
|
float llvc = fmax(llv / expo, 14.984375); |
|
|
|
|
// float llvc = fmax(llv / expo, 14.984375); |
|
|
|
|
float lsvc = fmax(lsv * expo, 61376.0); |
|
|
|
|
if (expo > 64) { |
|
|
|
|
if (lv < 1023) { |
|
|
|
@ -125,10 +125,15 @@ float combine_pvs(float lv, float sv, int expo) { |
|
|
|
|
return (lsvc / 64) / (65536.0 - 64.0); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (sv < 1023) { |
|
|
|
|
return lsv / (65536.0 - 64.0); |
|
|
|
|
// if (sv < 1023) { |
|
|
|
|
// return lsv / (65536.0 - 64.0); |
|
|
|
|
// } else { |
|
|
|
|
// return (llvc * 64) / (65536.0 - 64.0); |
|
|
|
|
// } |
|
|
|
|
if (lv > 64) { |
|
|
|
|
return llv / (65536.0 - 64.0); |
|
|
|
|
} else { |
|
|
|
|
return (llvc * 64) / (65536.0 - 64.0); |
|
|
|
|
return (lsvc / 64) / (65536.0 - 64.0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|