All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] videodev2.h: add helper to validate colorspace
@ 2018-02-14 10:36 Niklas Söderlund
  2018-02-14 10:49   ` Sakari Ailus
  2018-02-14 15:16 ` Laurent Pinchart
  0 siblings, 2 replies; 20+ messages in thread
From: Niklas Söderlund @ 2018-02-14 10:36 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Laurent Pinchart, Hans Verkuil,
	Sakari Ailus, linux-media
  Cc: linux-renesas-soc, Niklas Söderlund

There is no way for drivers to validate a colorspace value, which could
be provided by user-space by VIDIOC_S_FMT for example. Add a helper to
validate that the colorspace value is part of enum v4l2_colorspace.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 include/uapi/linux/videodev2.h | 4 ++++
 1 file changed, 4 insertions(+)

Hi,

I hope this is the correct header to add this helper to. I think it's
since if it's in uapi not only can v4l2 drivers use it but tools like
v4l-compliance gets access to it and can be updated to use this instead
of the hard-coded check of just < 0xff as it was last time I checked.

* Changes since v1
- Cast colorspace to u32 as suggested by Sakari and only check the upper 
  boundary to address a potential issue brought up by Laurent if the 
  data type tested is u32 which is not uncommon:

    enum.c:30:16: warning: comparison of unsigned expression >= 0 is always true
    [-Wtype-limits]
      return V4L2_COLORSPACE_IS_VALID(colorspace);

diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 9827189651801e12..1f27c0f4187cbded 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -238,6 +238,10 @@ enum v4l2_colorspace {
 	V4L2_COLORSPACE_DCI_P3        = 12,
 };
 
+/* Determine if a colorspace is defined in enum v4l2_colorspace */
+#define V4L2_COLORSPACE_IS_VALID(colorspace)		\
+	((u32)(colorspace) <= V4L2_COLORSPACE_DCI_P3)
+
 /*
  * Determine how COLORSPACE_DEFAULT should map to a proper colorspace.
  * This depends on whether this is a SDTV image (use SMPTE 170M), an
-- 
2.16.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-02-22 12:42 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-14 10:36 [PATCH v2] videodev2.h: add helper to validate colorspace Niklas Söderlund
2018-02-14 10:49 ` Sakari Ailus
2018-02-14 10:49   ` Sakari Ailus
2018-02-14 15:16 ` Laurent Pinchart
2018-02-15 10:57   ` Hans Verkuil
2018-02-15 11:08     ` Laurent Pinchart
2018-02-15 11:56       ` Hans Verkuil
2018-02-15 12:06         ` Laurent Pinchart
2018-02-15 12:32           ` Hans Verkuil
2018-02-15 12:48             ` Hans Verkuil
2018-02-15 13:06             ` Laurent Pinchart
2018-02-19 22:28               ` Niklas Söderlund
2018-02-19 22:28                 ` Niklas Söderlund
2018-02-20  8:37                 ` Hans Verkuil
2018-02-21 20:16                   ` Laurent Pinchart
2018-02-21 21:01                     ` Sakari Ailus
2018-02-22  8:01                       ` Hans Verkuil
2018-02-22 12:41                         ` Laurent Pinchart
2018-02-22  7:38                     ` Hans Verkuil
2018-02-22 12:43                       ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.