@@ -67,7 +67,7 @@ Agc::Agc()
void Agc::updateExposure(IPAContext &context, IPAFrameContext &frameContext, double exposureMSV)
{
- int32_t exposure = frameContext.sensor.exposure;
+ uint32_t exposure = frameContext.sensor.exposure;
double again = frameContext.sensor.gain;
double error = kExposureOptimal - exposureMSV;
@@ -87,7 +87,7 @@ void Agc::updateExposure(IPAContext &context, IPAFrameContext &frameContext, dou
if (factor > 1.0f) {
/* Scene too dark: increase exposure first, then gain. */
if (exposure < context.configuration.agc.exposureMax) {
- int32_t next = static_cast<int32_t>(exposure * factor);
+ uint32_t next = exposure * factor;
exposure = std::max(next, exposure + 1);
} else {
double next = again * factor;
@@ -105,7 +105,7 @@ void Agc::updateExposure(IPAContext &context, IPAFrameContext &frameContext, dou
else
again = next;
} else {
- int32_t next = static_cast<int32_t>(exposure * factor);
+ uint32_t next = exposure * factor;
exposure = std::min(next, exposure - 1);
}
}
@@ -26,7 +26,7 @@ namespace ipa::soft {
struct IPASessionConfiguration {
struct {
- int32_t exposureMin, exposureMax;
+ uint32_t exposureMin, exposureMax;
double againMin, againMax, again10, againMinStep;
utils::Duration lineDuration;
} agc;
@@ -37,14 +37,14 @@ struct IPASessionConfiguration {
struct IPAActiveState {
struct {
- int32_t exposure;
+ uint32_t exposure;
double again;
bool valid;
} agc;
struct {
uint8_t level;
- int32_t lastExposure;
+ uint32_t lastExposure;
double lastGain;
} blc;
@@ -67,12 +67,12 @@ struct IPAFrameContext : public FrameContext {
Matrix<float, 3, 3> ccm;
struct {
- int32_t exposure;
+ uint32_t exposure;
double gain;
} agc;
struct {
- int32_t exposure;
+ uint32_t exposure;
double gain;
} sensor;
Every other IPA module does that, so switch to `uint32_t` here as well. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- src/ipa/simple/algorithms/agc.cpp | 6 +++--- src/ipa/simple/ipa_context.h | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-)