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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Nov 23 11:52:54 CET 2021


Hi Jean-Michel,

Thank you for the patch.

On Tue, Nov 23, 2021 at 10:14:43AM +0100, Jean-Michel Hautbois wrote:
> The driver is responsible of setting the proper limits for its controls.
> 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
> 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_;
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list