libcamera/src/ipa/rkisp1/algorithms/awb.h
Kieran Bingham 80cfe8f0f7 ipa: libipa: algorithm: queueRequest(): Pass frame context
IPA modules have access to incoming Request's controls list and need to
store them in the frame context at queueRequest() time. Pass the frame
context to the Algorithm::queueRequest() function.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-09-28 05:41:05 +03:00

38 lines
964 B
C++

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2021-2022, Ideas On Board
*
* awb.h - AWB control algorithm
*/
#pragma once
#include "algorithm.h"
namespace libcamera {
namespace ipa::rkisp1::algorithms {
class Awb : public Algorithm
{
public:
Awb() = default;
~Awb() = default;
int configure(IPAContext &context, const IPACameraSensorInfo &configInfo) override;
void prepare(IPAContext &context, const uint32_t frame,
IPAFrameContext &frameContext,
rkisp1_params_cfg *params) override;
void queueRequest(IPAContext &context, const uint32_t frame,
IPAFrameContext &frameContext,
const ControlList &controls) override;
void process(IPAContext &context, const uint32_t frame,
IPAFrameContext &frameCtx,
const rkisp1_stat_buffer *stats) override;
private:
uint32_t estimateCCT(double red, double green, double blue);
};
} /* namespace ipa::rkisp1::algorithms */
} /* namespace libcamera */