@@ -59,7 +59,7 @@ struct DebayerParams {
Matrix<float, 3, 3> ccm;
RGB<float> blackLevel;
float gamma;
- double contrastExp;
+ float contrastExp;
};
} /* namespace libcamera */
@@ -34,8 +34,8 @@ int Adjust::configure(IPAContext &context,
[[maybe_unused]] const IPAConfigInfo &configInfo)
{
context.activeState.knobs.gamma = kDefaultGamma;
- context.activeState.knobs.contrast = std::optional<double>();
- context.activeState.knobs.saturation = std::optional<double>();
+ context.activeState.knobs.contrast = std::optional<float>();
+ context.activeState.knobs.saturation = std::optional<float>();
return 0;
}
@@ -40,7 +40,7 @@ void Lut::updateGammaTable(IPAContext &context)
const auto gamma = 1.0 / context.activeState.knobs.gamma;
const auto contrast = context.activeState.knobs.contrast.value_or(1.0);
/* Convert 0..2 to 0..infinity; avoid actual inifinity at tan(pi/2) */
- double contrastExp = tan(std::clamp(contrast * M_PI_4, 0.0, M_PI_2 - 0.00001));
+ float contrastExp = tan(std::clamp(contrast * M_PI_4, 0.0, M_PI_2 - 0.00001));
if (!context.gpuIspEnabled) {
auto &gammaTable = context.activeState.gamma.gammaTable;
@@ -58,8 +58,8 @@ struct IPAActiveState {
std::array<double, kGammaLookupSize> gammaTable;
uint8_t blackLevel;
float gamma;
- double contrast;
- double contrastExp;
+ float contrast;
+ float contrastExp;
} gamma;
Matrix<float, 3, 3> combinedMatrix;
@@ -68,7 +68,7 @@ struct IPAActiveState {
struct {
float gamma;
/* 0..2 range, 1.0 = normal */
- std::optional<double> contrast;
+ std::optional<float> contrast;
std::optional<float> saturation;
} knobs;
};
@@ -87,7 +87,7 @@ struct IPAFrameContext : public FrameContext {
} gains;
float gamma;
- std::optional<double> contrast;
+ std::optional<float> contrast;
std::optional<float> saturation;
};