[PATCH v1 5/7] pipeline: rpi: Track which ISP output is configured for a stream
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Wed Aug 28 11:50:33 CEST 2024
Hi Naush
On Thu, Aug 08, 2024 at 11:23:44AM GMT, Naushir Patuck wrote:
> 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.
Maybe I'm missing something, but isn't this the same value used to
index the cropParams_ map ?
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> ---
> src/libcamera/pipeline/rpi/common/pipeline_base.h | 6 ++++--
> src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +-
> 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 2bed905178bc..0ccfa4e82e86 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_)
> {
> }
>
> @@ -148,6 +148,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 stream index in CameraConfiguration */
> diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> index d118252f02dd..ffc45653daf1 100644
> --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> @@ -715,7 +715,7 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
> cropParams_.clear();
> cropParams_.emplace(std::piecewise_construct,
> std::forward_as_tuple(0),
> - std::forward_as_tuple(scaleIspCrop(ispCrop), testCrop.size()));
> + std::forward_as_tuple(scaleIspCrop(ispCrop), testCrop.size(), 0));
>
> return 0;
> }
> --
> 2.34.1
>
More information about the libcamera-devel
mailing list