|
@@ -743,6 +743,48 @@ struct v4l2_crop {
|
|
|
struct v4l2_rect c;
|
|
|
};
|
|
|
|
|
|
+/* Hints for adjustments of selection rectangle */
|
|
|
+#define V4L2_SEL_FLAG_GE 0x00000001
|
|
|
+#define V4L2_SEL_FLAG_LE 0x00000002
|
|
|
+
|
|
|
+/* Selection targets */
|
|
|
+
|
|
|
+/* current cropping area */
|
|
|
+#define V4L2_SEL_TGT_CROP_ACTIVE 0
|
|
|
+/* default cropping area */
|
|
|
+#define V4L2_SEL_TGT_CROP_DEFAULT 1
|
|
|
+/* cropping bounds */
|
|
|
+#define V4L2_SEL_TGT_CROP_BOUNDS 2
|
|
|
+/* current composing area */
|
|
|
+#define V4L2_SEL_TGT_COMPOSE_ACTIVE 256
|
|
|
+/* default composing area */
|
|
|
+#define V4L2_SEL_TGT_COMPOSE_DEFAULT 257
|
|
|
+/* composing bounds */
|
|
|
+#define V4L2_SEL_TGT_COMPOSE_BOUNDS 258
|
|
|
+/* current composing area plus all padding pixels */
|
|
|
+#define V4L2_SEL_TGT_COMPOSE_PADDED 259
|
|
|
+
|
|
|
+/**
|
|
|
+ * struct v4l2_selection - selection info
|
|
|
+ * @type: buffer type (do not use *_MPLANE types)
|
|
|
+ * @target: selection target, used to choose one of possible rectangles
|
|
|
+ * @flags: constraints flags
|
|
|
+ * @r: coordinates of selection window
|
|
|
+ * @reserved: for future use, rounds structure size to 64 bytes, set to zero
|
|
|
+ *
|
|
|
+ * Hardware may use multiple helper window to process a video stream.
|
|
|
+ * The structure is used to exchange this selection areas between
|
|
|
+ * an application and a driver.
|
|
|
+ */
|
|
|
+struct v4l2_selection {
|
|
|
+ __u32 type;
|
|
|
+ __u32 target;
|
|
|
+ __u32 flags;
|
|
|
+ struct v4l2_rect r;
|
|
|
+ __u32 reserved[9];
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
/*
|
|
|
* A N A L O G V I D E O S T A N D A R D
|
|
|
*/
|
|
@@ -2259,6 +2301,10 @@ struct v4l2_create_buffers {
|
|
|
#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers)
|
|
|
#define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer)
|
|
|
|
|
|
+/* Experimental selection API */
|
|
|
+#define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection)
|
|
|
+#define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection)
|
|
|
+
|
|
|
/* Reminder: when adding new ioctls please add support for them to
|
|
|
drivers/media/video/v4l2-compat-ioctl32.c as well! */
|
|
|
|