From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-media@vger.kernel.org
Cc: hverkuil@xs4all.nl, tfiga@chromium.org, bingbu.cao@intel.com,
jian.xu.zheng@intel.com, rajmohan.mani@intel.com,
tian.shu.qiu@intel.com, ricardo.ribalda@gmail.com,
grundler@chromium.org, ping-chung.chen@intel.com,
andy.yeh@intel.com, jim.lai@intel.com, helmut.grohne@intenta.de,
laurent.pinchart@ideasonboard.com, snawrocki@kernel.org
Subject: [PATCH 2/5] v4l: controls: Add support for exponential bases, prefixes and units
Date: Tue, 25 Sep 2018 13:14:31 +0300 [thread overview]
Message-ID: <20180925101434.20327-3-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20180925101434.20327-1-sakari.ailus@linux.intel.com>
Add support for exponential bases, prefixes as well as units for V4L2
controls. This makes it possible to convey information on the relation
between the control value and the hardware feature being controlled.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
include/uapi/linux/videodev2.h | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index ae083978988f1..23b02f2db85a1 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -1652,6 +1652,32 @@ struct v4l2_queryctrl {
__u32 reserved[2];
};
+/* V4L2 control exponential bases */
+#define V4L2_CTRL_BASE_UNDEFINED 0
+#define V4L2_CTRL_BASE_LINEAR 1
+#define V4L2_CTRL_BASE_2 2
+#define V4L2_CTRL_BASE_10 10
+
+/* V4L2 control unit prefixes */
+#define V4L2_CTRL_PREFIX_NANO -9
+#define V4L2_CTRL_PREFIX_MICRO -6
+#define V4L2_CTRL_PREFIX_MILLI -3
+#define V4L2_CTRL_PREFIX_1 0
+#define V4L2_CTRL_PREFIX_KILO 3
+#define V4L2_CTRL_PREFIX_MEGA 6
+#define V4L2_CTRL_PREFIX_GIGA 9
+
+/* V4L2 control units */
+#define V4L2_CTRL_UNIT_UNDEFINED 0
+#define V4L2_CTRL_UNIT_NONE 1
+#define V4L2_CTRL_UNIT_SECOND 2
+#define V4L2_CTRL_UNIT_AMPERE 3
+#define V4L2_CTRL_UNIT_LINE 4
+#define V4L2_CTRL_UNIT_PIXEL 5
+#define V4L2_CTRL_UNIT_PIXELS_PER_SEC 6
+#define V4L2_CTRL_UNIT_HZ 7
+
+
/* Used in the VIDIOC_QUERY_EXT_CTRL ioctl for querying extended controls */
struct v4l2_query_ext_ctrl {
__u32 id;
@@ -1666,7 +1692,10 @@ struct v4l2_query_ext_ctrl {
__u32 elems;
__u32 nr_of_dims;
__u32 dims[V4L2_CTRL_MAX_DIMS];
- __u32 reserved[32];
+ __u8 base;
+ __s8 prefix;
+ __u16 unit;
+ __u32 reserved[31];
};
/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
@@ -1692,6 +1721,7 @@ struct v4l2_querymenu {
#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x00000100
#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x00000200
#define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x00000400
+#define V4L2_CTRL_FLAG_EXPONENTIAL 0x00000800
/* Query flags, to be ORed with the control ID */
#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
--
2.11.0
next prev parent reply other threads:[~2018-09-25 16:22 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-25 10:14 [PATCH 0/5] Add units to controls Sakari Ailus
2018-09-25 10:14 ` [PATCH 1/5] videodev2.h: Use 8 hexadecimals (32 bits) for control flags Sakari Ailus
2018-09-28 13:16 ` Laurent Pinchart
2018-09-28 13:48 ` Hans Verkuil
2018-09-25 10:14 ` Sakari Ailus [this message]
2018-09-28 14:00 ` [PATCH 2/5] v4l: controls: Add support for exponential bases, prefixes and units Hans Verkuil
2018-10-01 9:27 ` Helmut Grohne
2018-10-01 9:48 ` Hans Verkuil
2018-11-14 9:09 ` Tomasz Figa
2018-10-14 6:14 ` Pavel Machek
2018-09-25 10:14 ` [PATCH 3/5] Documentation: media: Document control exponential bases, units, prefixes Sakari Ailus
2018-09-25 10:39 ` Helmut Grohne
2018-09-25 10:51 ` Sakari Ailus
2018-09-28 14:20 ` Hans Verkuil
2018-09-25 10:14 ` [PATCH 4/5] v4l: controls: QUERY_EXT_CTRL support for base, prefix and unit Sakari Ailus
2018-09-26 22:40 ` kbuild test robot
2018-09-28 14:23 ` Hans Verkuil
2018-09-25 10:14 ` [PATCH 5/5] smiapp: Set control units Sakari Ailus
2018-09-28 14:28 ` Hans Verkuil
2018-09-25 11:48 ` [PATCH 0/5] Add units to controls Helmut Grohne
2018-09-25 12:30 ` Sakari Ailus
2018-09-26 10:24 ` Helmut Grohne
2018-09-28 13:25 ` Laurent Pinchart
2018-09-28 14:36 ` Hans Verkuil
2018-10-03 9:15 ` Tomasz Figa
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=20180925101434.20327-3-sakari.ailus@linux.intel.com \
--to=sakari.ailus@linux.intel.com \
--cc=andy.yeh@intel.com \
--cc=bingbu.cao@intel.com \
--cc=grundler@chromium.org \
--cc=helmut.grohne@intenta.de \
--cc=hverkuil@xs4all.nl \
--cc=jian.xu.zheng@intel.com \
--cc=jim.lai@intel.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=ping-chung.chen@intel.com \
--cc=rajmohan.mani@intel.com \
--cc=ricardo.ribalda@gmail.com \
--cc=snawrocki@kernel.org \
--cc=tfiga@chromium.org \
--cc=tian.shu.qiu@intel.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 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.