From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Xavier Roumegue <xavier.roumegue@oss.nxp.com>,
mchehab@kernel.org, stanimir.varbanov@linaro.org,
tomi.valkeinen@ideasonboard.com, robh+dt@kernel.org,
nicolas@ndufresne.ca, alexander.stein@ew.tq-group.com,
linux-media@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 6/9] media: uapi: Add a control for DW100 driver
Date: Mon, 25 Apr 2022 10:11:00 +0300 [thread overview]
Message-ID: <YmZJhI291wruvjlt@pendragon.ideasonboard.com> (raw)
In-Reply-To: <dba106ac-cee1-2493-13c7-ad9aef556a49@xs4all.nl>
On Mon, Apr 25, 2022 at 08:57:07AM +0200, Hans Verkuil wrote:
> On 28/03/2022 16:13, Xavier Roumegue wrote:
> > The DW100 driver gets the dewarping mapping as a binary blob from the
> > userspace application through a custom control.
> > The blob format is hardware specific so create a dedicated control for
> > this purpose.
> >
> > Signed-off-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>
> > ---
> > Documentation/userspace-api/media/drivers/dw100.rst | 12 ++++++++++++
> > include/uapi/linux/dw100.h | 11 +++++++++++
> > 2 files changed, 23 insertions(+)
> > create mode 100644 include/uapi/linux/dw100.h
> >
> > diff --git a/Documentation/userspace-api/media/drivers/dw100.rst b/Documentation/userspace-api/media/drivers/dw100.rst
> > index 4cd55c75628e..f6d684cadf26 100644
> > --- a/Documentation/userspace-api/media/drivers/dw100.rst
> > +++ b/Documentation/userspace-api/media/drivers/dw100.rst
> > @@ -20,4 +20,16 @@ match the expected size inherited from the destination image resolution.
> > More details on the DW100 hardware operations can be found in
> > *chapter 13.15 DeWarp* of IMX8MP_ reference manuel.
> >
> > +The Vivante DW100 m2m driver implements the following driver-specific control:
> > +
> > +``V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (integer)``
>
> (integer) -> (__u32 array)
>
> But should this be a __u32 array at all? Wouldn't a __u16 array make more sense?
>
> > + Specifies to DW100 driver its dewarping map (aka LUT) blob as described in
> > + *chapter 13.15.2.3 Dewarping Remap* of IMX8MP_ reference manual as an U32
> > + dynamic array. The image is divided into many small 16x16 blocks. If the
> > + width of the image is not divisible by 16, the size of the rightmost block
> > + is the remainder.
>
> Isn't the same true for the height?
>
> The dewarping map only saves the vertex coordinates of the
> > + block. The dewarping grid map is comprised of vertex coordinates for x and y.
> > + Each x, y coordinate register uses 16 bits (UQ12.4) to record the coordinate
>
> As mentioned before, UQ12.4 is not necessarily a standard notation. 'unsigned 12.4
> fixed point' is better, but you also need to specify exactly where the bits are
> stored inside the __u16. I.e.: 'the integer part is stored in the 12 most significant
> bits, and the fractional part is stored in the 4 least significant bits of the __u16.'
Isn't that implied ? I've never seen fixed-point numbers stored the
other way around.
Regarding the Q notation, while it was coined by TI, I think it's
widespread enough to be used here. I don't mind much though.
> > + address, with the Y coordinate in the upper bits and X in the lower bits.
>
> And with a __u16 array this becomes: 'The array contains pairs of X, Y coordinates.'
> Or something along those lines.
>
> > +
> > .. _IMX8MP: https://www.nxp.com/webapp/Download?colCode=IMX8MPRM
> > diff --git a/include/uapi/linux/dw100.h b/include/uapi/linux/dw100.h
> > new file mode 100644
> > index 000000000000..7fdcf2bf42e5
> > --- /dev/null
> > +++ b/include/uapi/linux/dw100.h
> > @@ -0,0 +1,11 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
> > +/* Copyright 2022 NXP */
> > +
> > +#ifndef __UAPI_DW100_H__
> > +#define __UAPI_DW100_H__
> > +
> > +#include <linux/v4l2-controls.h>
> > +
>
> Add a comment referring to the Documentation/userspace-api/media/drivers/dw100.rst
> documentation so users of this control know where to find the associated
> documentation.
>
> > +#define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1)
> > +
> > +#endif
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2022-04-25 7:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-28 14:13 [PATCH v4 0/9] i.MX8MP DW100 dewarper driver Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 1/9] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 2/9] v4l2-ctrls: add support for dynamically allocated arrays Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 3/9] vivid: add dynamic array test control Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 4/9] media: Documentation: dw100: Add user documentation for the DW100 driver Xavier Roumegue
2022-04-25 6:18 ` Hans Verkuil
2022-04-26 21:26 ` Laurent Pinchart
2022-04-25 6:41 ` Hans Verkuil
2022-03-28 14:13 ` [PATCH v4 5/9] media: v4l: uapi: Add user control base for DW100 controls Xavier Roumegue
2022-04-26 21:10 ` Laurent Pinchart
2022-03-28 14:13 ` [PATCH v4 6/9] media: uapi: Add a control for DW100 driver Xavier Roumegue
2022-04-25 6:57 ` Hans Verkuil
2022-04-25 7:11 ` Laurent Pinchart [this message]
2022-04-25 7:38 ` Hans Verkuil
2022-04-26 21:03 ` Xavier Roumegue (OSS)
2022-04-26 21:34 ` Xavier Roumegue (OSS)
2022-04-26 21:44 ` Laurent Pinchart
2022-03-28 14:13 ` [PATCH v4 7/9] media: dt-bindings: media: Add i.MX8MP DW100 binding Xavier Roumegue
2022-03-28 19:32 ` Rob Herring
2022-03-28 14:13 ` [PATCH v4 8/9] media: dw100: Add i.MX8MP dw100 dewarper driver Xavier Roumegue
2022-04-25 7:21 ` Hans Verkuil
2022-03-28 14:13 ` [PATCH v4 9/9] media: MAINTAINERS: add entry for i.MX8MP DW100 v4l2 mem2mem driver Xavier Roumegue
2022-04-26 21:27 ` Laurent Pinchart
2022-04-25 7:25 ` [PATCH v4 0/9] i.MX8MP DW100 dewarper driver Hans Verkuil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YmZJhI291wruvjlt@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=alexander.stein@ew.tq-group.com \
--cc=devicetree@vger.kernel.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=robh+dt@kernel.org \
--cc=stanimir.varbanov@linaro.org \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=xavier.roumegue@oss.nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).