From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
sergey.senozhatsky@gmail.com,
Sergey Senozhatsky <senozhatsky@chromium.org>
Subject: [PATCHv2 1/3] media: v4l UAPI docs: document ROI selection targets
Date: Mon, 8 Feb 2021 14:17:47 +0900 [thread overview]
Message-ID: <20210208051749.1785246-2-sergey.senozhatsky@gmail.com> (raw)
In-Reply-To: <20210208051749.1785246-1-sergey.senozhatsky@gmail.com>
From: Sergey Senozhatsky <senozhatsky@chromium.org>
Document new v4l2-selection target which will be used for the
Region of Interest v4l2 control.
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
---
.../media/v4l/selection-api-configuration.rst | 23 +++++++++++++++++++
.../media/v4l/v4l2-selection-targets.rst | 21 +++++++++++++++++
include/uapi/linux/v4l2-common.h | 8 +++++++
3 files changed, 52 insertions(+)
diff --git a/Documentation/userspace-api/media/v4l/selection-api-configuration.rst b/Documentation/userspace-api/media/v4l/selection-api-configuration.rst
index fee49bf1a1c0..9f69d71803f6 100644
--- a/Documentation/userspace-api/media/v4l/selection-api-configuration.rst
+++ b/Documentation/userspace-api/media/v4l/selection-api-configuration.rst
@@ -135,3 +135,26 @@ and the height of rectangles obtained using ``V4L2_SEL_TGT_CROP`` and
``V4L2_SEL_TGT_COMPOSE`` targets. If these are not equal then the
scaling is applied. The application can compute the scaling ratios using
these values.
+
+Configuration of Region of Interest (ROI)
+=========================================
+
+The range of coordinates of the top left corner, width and height of
+areas that can be ROI is given by the ``V4L2_SEL_TGT_ROI_BOUNDS`` target.
+It is recommended for the driver developers to put the top/left corner
+at position ``(0,0)``. The rectangle's coordinates are in global sensor
+coordinates. The units are in pixels and independent of the field of view.
+They are not impacted by any cropping or scaling that is currently being
+used.
+
+The top left corner, width and height of the Region of Interest area
+currently being employed by the device is given by the
+``V4L2_SEL_TGT_ROI_CURRENT`` target. It uses the same coordinate system
+as ``V4L2_SEL_TGT_ROI_BOUNDS``.
+
+In order to change active ROI top left, width and height coordinates
+use ``V4L2_SEL_TGT_ROI`` target.
+
+Each capture device has a default ROI rectangle, given by the
+``V4L2_SEL_TGT_ROI_DEFAULT`` target. Drivers shall set the ROI rectangle
+to the default when the driver is first loaded, but not later.
diff --git a/Documentation/userspace-api/media/v4l/v4l2-selection-targets.rst b/Documentation/userspace-api/media/v4l/v4l2-selection-targets.rst
index e877ebbdb32e..cb3809418fa6 100644
--- a/Documentation/userspace-api/media/v4l/v4l2-selection-targets.rst
+++ b/Documentation/userspace-api/media/v4l/v4l2-selection-targets.rst
@@ -69,3 +69,24 @@ of the two interfaces they are used.
modified by hardware.
- Yes
- No
+ * - ``V4L2_SEL_TGT_ROI_CURRENT``
+ - 0x0200
+ - Current Region of Interest rectangle.
+ - Yes
+ - No
+ * - ``V4L2_SEL_TGT_ROI_DEFAULT``
+ - 0x0201
+ - Suggested Region of Interest rectangle.
+ - Yes
+ - No
+ * - ``V4L2_SEL_TGT_ROI_BOUNDS``
+ - 0x0202
+ - Bounds of the Region of Interest rectangle. All valid ROI rectangles fit
+ inside the ROI bounds rectangle.
+ - Yes
+ - No
+ * - ``V4L2_SEL_TGT_ROI``
+ - 0x0203
+ - Sets the new Region of Interest rectangle.
+ - Yes
+ - No
diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
index 7d21c1634b4d..d0c108fba638 100644
--- a/include/uapi/linux/v4l2-common.h
+++ b/include/uapi/linux/v4l2-common.h
@@ -78,6 +78,14 @@
#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
/* Current composing area plus all padding pixels */
#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
+/* Current Region of Interest area */
+#define V4L2_SEL_TGT_ROI_CURRENT 0x0200
+/* Default Region of Interest area */
+#define V4L2_SEL_TGT_ROI_DEFAULT 0x0201
+/* Region of Interest bounds */
+#define V4L2_SEL_TGT_ROI_BOUNDS 0x0202
+/* Set Region of Interest area */
+#define V4L2_SEL_TGT_ROI 0x0203
/* Selection flags */
#define V4L2_SEL_FLAG_GE (1 << 0)
--
2.30.0
next prev parent reply other threads:[~2021-02-08 5:20 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-08 5:17 [PATCHv2 0/3] Add UVC 1.5 Region Of Interest control to uvcvideo Sergey Senozhatsky
2021-02-08 5:17 ` Sergey Senozhatsky [this message]
2021-03-16 18:19 ` [PATCHv2 1/3] media: v4l UAPI docs: document ROI selection targets Ricardo Ribalda Delgado
2021-03-17 1:31 ` Sergey Senozhatsky
2021-03-17 8:04 ` Ricardo Ribalda Delgado
2021-03-17 8:08 ` Sergey Senozhatsky
2021-02-08 5:17 ` [PATCHv2 2/3] media: uvcvideo: add ROI auto controls Sergey Senozhatsky
2021-03-16 18:29 ` Ricardo Ribalda Delgado
2021-03-17 1:34 ` Sergey Senozhatsky
2021-03-17 8:08 ` Ricardo Ribalda Delgado
2021-03-17 8:12 ` Sergey Senozhatsky
2021-03-17 9:18 ` Sergey Senozhatsky
2021-03-17 9:27 ` Sergey Senozhatsky
2021-02-08 5:17 ` [PATCHv2 3/3] media: uvcvideo: add UVC 1.5 ROI control Sergey Senozhatsky
2021-03-16 18:46 ` Ricardo Ribalda Delgado
2021-03-17 1:59 ` Sergey Senozhatsky
2021-03-17 7:58 ` Ricardo Ribalda Delgado
2021-03-18 4:47 ` Sergey Senozhatsky
2021-03-18 21:19 ` Ricardo Ribalda
2021-03-18 21:20 ` Ricardo Ribalda
2021-03-19 5:35 ` Sergey Senozhatsky
2021-03-19 16:40 ` Ricardo Ribalda
2021-03-16 5:25 ` [PATCHv2 0/3] Add UVC 1.5 Region Of Interest control to uvcvideo Sergey Senozhatsky
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=20210208051749.1785246-2-sergey.senozhatsky@gmail.com \
--to=sergey.senozhatsky@gmail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=senozhatsky@chromium.org \
--cc=tomasz.figa@gmail.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).