[v3,12/17] libcamera: rkisp1: Enable the dewarper unconditionally
diff mbox series

Message ID 20241206101344.767170-13-stefan.klug@ideasonboard.com
State Superseded
Delegated to: Paul Elder
Headers show
Series
  • rkisp1: Fix aspect ratio and ScalerCrop
Related show

Commit Message

Stefan Klug Dec. 6, 2024, 10:13 a.m. UTC
In configure() and in the future in generateConfiguration() the
calculated stream sizes and crop rectangles depend on the dewarper being
used or not. It is therefore not possible to postpone that decision
until the dewarper gets configured. Enable the dewarper unconditionally
if it is found and the stream type is not RAW.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Paul Elder Dec. 12, 2024, 12:04 p.m. UTC | #1
On Fri, Dec 06, 2024 at 11:13:34AM +0100, Stefan Klug wrote:
> In configure() and in the future in generateConfiguration() the
> calculated stream sizes and crop rectangles depend on the dewarper being
> used or not. It is therefore not possible to postpone that decision
> until the dewarper gets configured. Enable the dewarper unconditionally
> if it is found and the stream type is not RAW.
> 
> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index 7f41092ee2d5..2c8d670768b1 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -865,7 +865,10 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
>  			if (dewarper_ && !isRaw_) {
>  				outputCfgs.push_back(const_cast<StreamConfiguration &>(cfg));
>  				ret = dewarper_->configure(cfg, outputCfgs);
> -				useDewarper_ = ret ? false : true;
> +				if (ret)
> +					return ret;
> +
> +				useDewarper_ = true;
>  
>  				/*
>  				 * Calculate the crop rectangle of the data
> -- 
> 2.43.0
>

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 7f41092ee2d5..2c8d670768b1 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -865,7 +865,10 @@  int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
 			if (dewarper_ && !isRaw_) {
 				outputCfgs.push_back(const_cast<StreamConfiguration &>(cfg));
 				ret = dewarper_->configure(cfg, outputCfgs);
-				useDewarper_ = ret ? false : true;
+				if (ret)
+					return ret;
+
+				useDewarper_ = true;
 
 				/*
 				 * Calculate the crop rectangle of the data