[libcamera-devel] [PATCH v3 02/11] ipa: rkisp1: Pass IPASettings at init call
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Nov 23 16:17:56 CET 2021
Quoting Jean-Michel Hautbois (2021-11-23 15:04:14)
> When the IPA is initialized, it will need to know the sensor model
> used in order to properly call CameraSensorHelper for the analogue gain.
> Modify the init definition in the pipeline handler and in the IPA as
> well as the mojo interface to pass the IPASettings.
>
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> include/libcamera/ipa/rkisp1.mojom | 4 +++-
> src/ipa/rkisp1/rkisp1.cpp | 5 +++--
> src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/include/libcamera/ipa/rkisp1.mojom b/include/libcamera/ipa/rkisp1.mojom
> index cae757ea..a6991d4f 100644
> --- a/include/libcamera/ipa/rkisp1.mojom
> +++ b/include/libcamera/ipa/rkisp1.mojom
> @@ -29,7 +29,9 @@ struct RkISP1Action {
> };
>
> interface IPARkISP1Interface {
> - init(uint32 hwRevision) => (int32 ret);
> + init(libcamera.IPASettings settings,
> + uint32 hwRevision)
> + => (int32 ret);
> start() => (int32 ret);
> stop();
>
> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> index bf2c13b6..7ecbf8ae 100644
> --- a/src/ipa/rkisp1/rkisp1.cpp
> +++ b/src/ipa/rkisp1/rkisp1.cpp
> @@ -34,7 +34,7 @@ namespace ipa::rkisp1 {
> class IPARkISP1 : public IPARkISP1Interface
> {
> public:
> - int init(unsigned int hwRevision) override;
> + int init(const IPASettings &settings, unsigned int hwRevision) override;
> int start() override;
> void stop() override {}
>
> @@ -75,7 +75,8 @@ private:
> unsigned int hwHistogramWeightGridsSize_;
> };
>
> -int IPARkISP1::init(unsigned int hwRevision)
> +int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,
> + unsigned int hwRevision)
> {
> /* \todo Add support for other revisions */
> switch (hwRevision) {
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index 98008862..6cdc4c03 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -319,7 +319,7 @@ int RkISP1CameraData::loadIPA(unsigned int hwRevision)
> ipa_->queueFrameAction.connect(this,
> &RkISP1CameraData::queueFrameAction);
>
> - int ret = ipa_->init(hwRevision);
> + int ret = ipa_->init(IPASettings{ "", sensor_->model() }, hwRevision);
> if (ret < 0) {
> LOG(RkISP1, Error) << "IPA initialization failure";
> return ret;
> --
> 2.32.0
>
More information about the libcamera-devel
mailing list