[libcamera-devel] [PATCH v2 2/4] pipeline: ipu3: Set bytesused before queuing parameters buffer
Umang Jain
umang.jain at ideasonboard.com
Wed Oct 5 08:40:52 CEST 2022
Hi Laurent
Thank you for the patch
On 10/5/22 3:59 AM, Laurent Pinchart via libcamera-devel wrote:
> The bytesused value for the parameters buffer is initialized to 0 and
> never set. The V4L2 API specification indicates that, for an output
> video device, the driver will set the bytesused value to the size of the
> plane in that case. The videobuf2 framework does so, but considers this
> as deprecated and prints a warning:
>
> [ 54.375534] use of bytesused == 0 is deprecated and will be removed in the future,
> [ 54.388026] use the actual size instead.
>
> Fix it by setting bytesused to the correct value before queuing the
> parameters buffer.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 93219a6c1134..3b892d9671c5 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -11,6 +11,8 @@
> #include <queue>
> #include <vector>
>
> +#include <linux/intel-ipu3.h>
> +
> #include <libcamera/base/log.h>
> #include <libcamera/base/utils.h>
>
> @@ -1298,6 +1300,8 @@ void IPU3CameraData::paramsBufferReady(unsigned int id)
> imgu_->viewfinder_->queueBuffer(outbuffer);
> }
>
> + info->paramBuffer->_d()->metadata().planes()[0].bytesused =
> + sizeof(struct ipu3_uapi_params);
> imgu_->param_->queueBuffer(info->paramBuffer);
> imgu_->stat_->queueBuffer(info->statBuffer);
> imgu_->input_->queueBuffer(info->rawBuffer);
More information about the libcamera-devel
mailing list