From 953403288ef17e7f332a621b9113e75564f44407 Mon Sep 17 00:00:00 2001
From: Jacopo Mondi <jacopo@jmondi.org>
Date: Tue, 19 Jan 2021 11:56:18 +0100
Subject: libcamera: ipu3: Report ScalerCrop in metadata

Report in the Request metadata the scaler crop region as requested by
application through the request controls. No actual scaling is applied
in the pipeline at the moment.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'src')

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index dc5307e4..db0d6b91 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -966,6 +966,11 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)
 	request->metadata().set(controls::draft::PipelineDepth, 3);
 	/* \todo Move the ExposureTime control to the IPA. */
 	request->metadata().set(controls::ExposureTime, exposureTime_);
+	/* \todo Actually apply the scaler crop region to the ImgU. */
+	if (request->controls().contains(controls::ScalerCrop)) {
+		Rectangle cropRegion = request->controls().get(controls::ScalerCrop);
+		request->metadata().set(controls::ScalerCrop, cropRegion);
+	}
 	pipe_->completeRequest(request);
 }
 
-- 
cgit v1.2.1