[libcamera-devel] [PATCH 03/11] libcamera: ipu3: imgu: Configure the stat video device as part of configure()
Jacopo Mondi
jacopo at jmondi.org
Mon Nov 9 11:18:50 CET 2020
Hi Niklas,
On Thu, Nov 05, 2020 at 01:15:38AM +0100, Niklas Söderlund wrote:
> There is no reason to expose and call a separate configureStat() when
> the statistics video device can be configured with the exact same
> parameters as part of configure(). Move the configuration internally to
> the ImgUDevice simplifying the interface, there is no functional change.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> src/libcamera/pipeline/ipu3/imgu.cpp | 7 +++++++
> src/libcamera/pipeline/ipu3/imgu.h | 7 -------
> src/libcamera/pipeline/ipu3/ipu3.cpp | 11 -----------
> 3 files changed, 7 insertions(+), 18 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/imgu.cpp b/src/libcamera/pipeline/ipu3/imgu.cpp
> index a4d74a62f69a0c97..0a3bf62020fd23fb 100644
> --- a/src/libcamera/pipeline/ipu3/imgu.cpp
> +++ b/src/libcamera/pipeline/ipu3/imgu.cpp
> @@ -477,6 +477,13 @@ int ImgUDevice::configure(const PipeConfig &pipeConfig, V4L2DeviceFormat *inputF
>
> LOG(IPU3, Debug) << "ImgU GDC format = " << gdcFormat.toString();
>
> + StreamConfiguration statCfg = {};
> + statCfg.size = inputFormat->size;
> + V4L2DeviceFormat statFormat;
> + ret = configureVideoDevice(stat_.get(), PAD_STAT, statCfg, &statFormat);
> + if (ret)
> + return ret;
> +
This was in the same call path before, but just to make sure, I read
in ImgUDevice::configureVideoDevice():
/* No need to apply format to the stat node. */
if (dev == stat_.get())
return 0;
No size need to be configured on the stat video device, but only on
the ImgU stat source pad ?
Thanks
j
> return 0;
> }
>
> diff --git a/src/libcamera/pipeline/ipu3/imgu.h b/src/libcamera/pipeline/ipu3/imgu.h
> index c73ac5a5a37cfe0e..37f5ae77c99ff8fe 100644
> --- a/src/libcamera/pipeline/ipu3/imgu.h
> +++ b/src/libcamera/pipeline/ipu3/imgu.h
> @@ -61,13 +61,6 @@ public:
> outputFormat);
> }
>
> - int configureStat(const StreamConfiguration &cfg,
> - V4L2DeviceFormat *outputFormat)
> - {
> - return configureVideoDevice(stat_.get(), PAD_STAT, cfg,
> - outputFormat);
> - }
> -
> int allocateBuffers(unsigned int bufferCount);
> void freeBuffers();
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 3f0232bc1eaad048..c559d160084f87e7 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -518,17 +518,6 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c)
> return ret;
> }
>
> - /*
> - * Apply the largest available format to the stat node.
> - * \todo Revise this when we'll actually use the stat node.
> - */
> - StreamConfiguration statCfg = {};
> - statCfg.size = cio2Format.size;
> -
> - ret = imgu->configureStat(statCfg, &outputFormat);
> - if (ret)
> - return ret;
> -
> /* Apply the "pipe_mode" control to the ImgU subdevice. */
> ControlList ctrls(imgu->imgu_->controls());
> ctrls.set(V4L2_CID_IPU3_PIPE_MODE,
> --
> 2.29.2
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list