RE: [PATCH v3 1/3] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE condition

From: Nas Chung
Date: Mon Jun 24 2024 - 05:45:56 EST


Hi, Hans.

Gentle ping on this patch series.

To recap, the previous feedback included
- Adding a comment after "V4L2_BUF_TYPE_META_OUTPUT = 14,"
- Fixing a build warning in the venus/vdec.c code
- Removing V4L2_BUF_TYPE_VIDEO_OVERLAY in V4L2_TYPE_IS_OUTPUT()

I have addressed these points in the latest version of the patch series.

Thanks.
Nas.

>-----Original Message-----
>From: Nas Chung <nas.chung@xxxxxxxxxxxxxxx>
>Sent: Tuesday, June 4, 2024 2:11 PM
>To: mchehab@xxxxxxxxxx; hverkuil@xxxxxxxxx; bryan.odonoghue@xxxxxxxxxx;
>linux-media@xxxxxxxxxxxxxxx
>Cc: linux-kernel@xxxxxxxxxxxxxxx; Nas Chung <nas.chung@xxxxxxxxxxxxxxx>;
>Michael Tretter <m.tretter@xxxxxxxxxxxxxx>
>Subject: [PATCH v3 1/3] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE
>condition
>
>Explicitly compare a buffer type only with valid buffer types,
>to avoid matching a buffer type outside of the valid buffer type set.
>
>Signed-off-by: Nas Chung <nas.chung@xxxxxxxxxxxxxxx>
>Reviewed-by: Michael Tretter <m.tretter@xxxxxxxxxxxxxx>
>---
>v3
>- Address Han's feedback
>
>v2
>- Improve commit message
>- Add V4L2_TYPE_IS_VALID(type) macro
>
> include/uapi/linux/videodev2.h | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
>diff --git a/include/uapi/linux/videodev2.h
>b/include/uapi/linux/videodev2.h
>index fe6b67e83751..51da63173a98 100644
>--- a/include/uapi/linux/videodev2.h
>+++ b/include/uapi/linux/videodev2.h
>@@ -153,10 +153,17 @@ enum v4l2_buf_type {
> V4L2_BUF_TYPE_SDR_OUTPUT = 12,
> V4L2_BUF_TYPE_META_CAPTURE = 13,
> V4L2_BUF_TYPE_META_OUTPUT = 14,
>+ /* V4L2_TYPE_IS_VALID and V4L2_TYPE_IS_OUTPUT must
>+ * be updated if a new type is added.
>+ */
> /* Deprecated, do not use */
> V4L2_BUF_TYPE_PRIVATE = 0x80,
> };
>
>+#define V4L2_TYPE_IS_VALID(type) \
>+ ((type) >= V4L2_BUF_TYPE_VIDEO_CAPTURE \
>+ && (type) <= V4L2_BUF_TYPE_META_OUTPUT)
>+
> #define V4L2_TYPE_IS_MULTIPLANAR(type) \
> ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \
> || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
>@@ -171,7 +178,8 @@ enum v4l2_buf_type {
> || (type) == V4L2_BUF_TYPE_SDR_OUTPUT \
> || (type) == V4L2_BUF_TYPE_META_OUTPUT)
>
>-#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type))
>+#define V4L2_TYPE_IS_CAPTURE(type) \
>+ (V4L2_TYPE_IS_VALID(type) && !V4L2_TYPE_IS_OUTPUT(type))
>
> enum v4l2_tuner_type {
> V4L2_TUNER_RADIO = 1,
>--
>2.25.1