summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2024-10-31 09:49:55 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-11-04 17:23:56 +0200
commitd6a1d9596bca20188ad90c99654cf9dbff5de403 (patch)
treefd3c980c74463c8f1fe9c585e83d39b5559889a0
parent81afca4078974480f91f31d6c2d0c8ffd60ee9f1 (diff)
pipeline: rpi: Track which ISP output is configured for a stream
Add a ispIndex field to CropParams that is used to track which ISP output (0/1) will be used for a given stream during configuration. Tracking this information is required for an upcoming change where crop rectangles can be specified for each configured stream. Currently, the value is fixed to 0. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/pipeline/rpi/common/pipeline_base.h6
-rw-r--r--src/libcamera/pipeline/rpi/vc4/vc4.cpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.h b/src/libcamera/pipeline/rpi/common/pipeline_base.h
index 88bd6031..9912796e 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.h
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.h
@@ -135,8 +135,8 @@ public:
IPACameraSensorInfo sensorInfo_;
struct CropParams {
- CropParams(Rectangle ispCrop_, Size ispMinCropSize_)
- : ispCrop(ispCrop_), ispMinCropSize(ispMinCropSize_)
+ CropParams(Rectangle ispCrop_, Size ispMinCropSize_, unsigned int ispIndex_)
+ : ispCrop(ispCrop_), ispMinCropSize(ispMinCropSize_), ispIndex(ispIndex_)
{
}
@@ -144,6 +144,8 @@ public:
Rectangle ispCrop;
/* Minimum crop size in ISP output pixels */
Size ispMinCropSize;
+ /* Index of the ISP output channel for this crop */
+ unsigned int ispIndex;
};
/* Mapping of CropParams keyed by the output stream order in CameraConfiguration */
diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
index 8080f55a..cfed214d 100644
--- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
+++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
@@ -714,7 +714,7 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
*/
cropParams_.emplace(std::piecewise_construct,
std::forward_as_tuple(0),
- std::forward_as_tuple(ispCrop, testCrop.size()));
+ std::forward_as_tuple(ispCrop, testCrop.size(), 0));
return 0;
}