[libcamera-devel] [PATCH v2 05/20] libcamera: ipu3: Do not overwrite StreamConfiguration
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Jul 10 10:34:30 CEST 2020
Hi Jacopo,
Thank you for the patch.
On Thu, Jul 09, 2020 at 10:41:13AM +0200, Jacopo Mondi wrote:
> The validate function overwrites the generated StreamConfiguration with
> the one reported by the CIO2 unit when inspecting the RAW stream
> configuration.
>
> As we prepare to add StreamFormats to the IPU3 StreamConfiguration,
> assigning to the CIO2 generated configuration would delete the
> StreamFormats.
>
> Fix this by updating relevant fields only in order to keep the
> assigned StreamFormats.
>
> Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
The fact that it's too easy to make this mistake calls for a better API,
but that's not for this patch series.
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index e62a5d5b3517..978a6e58c72f 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -269,7 +269,9 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
> const Stream *stream = streams_[i];
>
> if (stream == &data_->rawStream_) {
> - cfg = cio2Configuration_;
> + cfg.size = cio2Configuration_.size;
> + cfg.pixelFormat = cio2Configuration_.pixelFormat;
> + cfg.bufferCount = cio2Configuration_.bufferCount;
> } else {
> bool scale = stream == &data_->vfStream_;
> adjustStream(config_[i], scale);
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list