[PATCH 5/7] pipeline: rkisp1: Reorder sensorInfo collection code

Jacopo Mondi jacopo.mondi at ideasonboard.com
Thu Nov 21 16:01:39 CET 2024


Hi Stefan

On Wed, Nov 20, 2024 at 09:57:44AM +0100, Stefan Klug wrote:
> The sensorInfo (specifically the crop rectangle of the selected sensor
> mode) is collected to be passed to the IPA later. In an upcoming patch
> that data will also be needed for correct ScalerCrop handling. Move the
> collection of the sensorInfo before the dewarper configuration step and
> refactor the code a bit.
>
> Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
> ---
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index 6491a48ee83c..4a226d9b809f 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -844,6 +844,11 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
>  		<< "ISP output pad configured with " << format
>  		<< " crop " << outputCrop;
>
> +	IPACameraSensorInfo sensorInfo;
> +	ret = data->sensor_->sensorInfo(&sensorInfo);
> +	if (ret)
> +		return ret;
> +
>  	std::map<unsigned int, IPAStream> streamConfig;
>  	std::vector<std::reference_wrapper<StreamConfiguration>> outputCfgs;
>
> @@ -883,14 +888,9 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
>  		return ret;
>
>  	/* Inform IPA of stream configuration and sensor controls. */
> -	ipa::rkisp1::IPAConfigInfo ipaConfig{};
> -
> -	ret = data->sensor_->sensorInfo(&ipaConfig.sensorInfo);

You could move the declaration of ipaConfig up as well and still pass
&ipaConfig.sensorInfo to sensorInfo() to avoid a copy.

It's however a nit
Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>

Thanks
  j

> -	if (ret)
> -		return ret;
> -
> -	ipaConfig.sensorControls = data->sensor_->controls();
> -	ipaConfig.paramFormat = paramFormat.fourcc;
> +	ipa::rkisp1::IPAConfigInfo ipaConfig{ sensorInfo,
> +					      data->sensor_->controls(),
> +					      paramFormat.fourcc };
>
>  	ret = data->ipa_->configure(ipaConfig, streamConfig, &data->ipaControls_);
>  	if (ret) {
> --
> 2.43.0
>


More information about the libcamera-devel mailing list