[libcamera-devel] [PATCH v3 03/11] ipa: Do not modify the sensor limits

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Nov 23 16:22:13 CET 2021


Quoting Jean-Michel Hautbois (2021-11-23 15:04:15)
> The driver is responsible of setting the proper limits for its controls.

s/of/for/

> For instance, imx219 has an analogue gain of 1.0 when the gain code is
> set to 0. The minimum analogue is forced to be at least 1, which for

The minimum ... exposure? (Is analogue really correct here?)

Also

The minimum [exposure] is currently forced to be
                          ^^^^^^^^^

That just helps readability.

With that,


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> imx219 sets it to 1.00329. Rework this for both IPU3 and RkISP1.
> 
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/ipa/ipu3/ipu3.cpp     | 4 ++--
>  src/ipa/rkisp1/rkisp1.cpp | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
> index a8d54a5d..b0c75541 100644
> --- a/src/ipa/ipu3/ipu3.cpp
> +++ b/src/ipa/ipu3/ipu3.cpp
> @@ -444,11 +444,11 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo,
>                 return -EINVAL;
>         }
>  
> -       minExposure_ = std::max(itExp->second.min().get<int32_t>(), 1);
> +       minExposure_ = itExp->second.min().get<int32_t>();
>         maxExposure_ = itExp->second.max().get<int32_t>();
>         exposure_ = minExposure_;
>  
> -       minGain_ = std::max(itGain->second.min().get<int32_t>(), 1);
> +       minGain_ = itGain->second.min().get<int32_t>();
>         maxGain_ = itGain->second.max().get<int32_t>();
>         gain_ = minGain_;
>  
> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> index 7ecbf8ae..910ad952 100644
> --- a/src/ipa/rkisp1/rkisp1.cpp
> +++ b/src/ipa/rkisp1/rkisp1.cpp
> @@ -139,11 +139,11 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info,
>  
>         autoExposure_ = true;
>  
> -       minExposure_ = std::max<uint32_t>(itExp->second.min().get<int32_t>(), 1);
> +       minExposure_ = itExp->second.min().get<int32_t>();
>         maxExposure_ = itExp->second.max().get<int32_t>();
>         exposure_ = minExposure_;
>  
> -       minGain_ = std::max<uint32_t>(itGain->second.min().get<int32_t>(), 1);
> +       minGain_ = itGain->second.min().get<int32_t>();
>         maxGain_ = itGain->second.max().get<int32_t>();
>         gain_ = minGain_;
>  
> -- 
> 2.32.0
>


More information about the libcamera-devel mailing list