aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2015-10-10 12:51:00 -0400
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-10-20 13:40:50 -0400
commit9effc72fd71b6e8fd2676bcb57fac3f05ab93043 (patch)
treeb39342339730a075de69d780fce77921df064d46 /include
parentb2411b93cdcb5cb154827b8fcd2f436dd0ddab73 (diff)
[media] v4l2: add support for SDR transmitter
New IOCTL ops: vidioc_enum_fmt_sdr_out vidioc_g_fmt_sdr_out vidioc_s_fmt_sdr_out vidioc_try_fmt_sdr_out New vb2 buffertype: V4L2_BUF_TYPE_SDR_OUTPUT New v4l2 capability: V4L2_CAP_SDR_OUTPUT Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/media/v4l2-ioctl.h8
-rw-r--r--include/trace/events/v4l2.h1
-rw-r--r--include/uapi/linux/videodev2.h5
3 files changed, 13 insertions, 1 deletions
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index 8fbbd76d78e8..017ffb2220c7 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -36,6 +36,8 @@ struct v4l2_ioctl_ops {
36 struct v4l2_fmtdesc *f); 36 struct v4l2_fmtdesc *f);
37 int (*vidioc_enum_fmt_sdr_cap) (struct file *file, void *fh, 37 int (*vidioc_enum_fmt_sdr_cap) (struct file *file, void *fh,
38 struct v4l2_fmtdesc *f); 38 struct v4l2_fmtdesc *f);
39 int (*vidioc_enum_fmt_sdr_out) (struct file *file, void *fh,
40 struct v4l2_fmtdesc *f);
39 41
40 /* VIDIOC_G_FMT handlers */ 42 /* VIDIOC_G_FMT handlers */
41 int (*vidioc_g_fmt_vid_cap) (struct file *file, void *fh, 43 int (*vidioc_g_fmt_vid_cap) (struct file *file, void *fh,
@@ -60,6 +62,8 @@ struct v4l2_ioctl_ops {
60 struct v4l2_format *f); 62 struct v4l2_format *f);
61 int (*vidioc_g_fmt_sdr_cap) (struct file *file, void *fh, 63 int (*vidioc_g_fmt_sdr_cap) (struct file *file, void *fh,
62 struct v4l2_format *f); 64 struct v4l2_format *f);
65 int (*vidioc_g_fmt_sdr_out) (struct file *file, void *fh,
66 struct v4l2_format *f);
63 67
64 /* VIDIOC_S_FMT handlers */ 68 /* VIDIOC_S_FMT handlers */
65 int (*vidioc_s_fmt_vid_cap) (struct file *file, void *fh, 69 int (*vidioc_s_fmt_vid_cap) (struct file *file, void *fh,
@@ -84,6 +88,8 @@ struct v4l2_ioctl_ops {
84 struct v4l2_format *f); 88 struct v4l2_format *f);
85 int (*vidioc_s_fmt_sdr_cap) (struct file *file, void *fh, 89 int (*vidioc_s_fmt_sdr_cap) (struct file *file, void *fh,
86 struct v4l2_format *f); 90 struct v4l2_format *f);
91 int (*vidioc_s_fmt_sdr_out) (struct file *file, void *fh,
92 struct v4l2_format *f);
87 93
88 /* VIDIOC_TRY_FMT handlers */ 94 /* VIDIOC_TRY_FMT handlers */
89 int (*vidioc_try_fmt_vid_cap) (struct file *file, void *fh, 95 int (*vidioc_try_fmt_vid_cap) (struct file *file, void *fh,
@@ -108,6 +114,8 @@ struct v4l2_ioctl_ops {
108 struct v4l2_format *f); 114 struct v4l2_format *f);
109 int (*vidioc_try_fmt_sdr_cap) (struct file *file, void *fh, 115 int (*vidioc_try_fmt_sdr_cap) (struct file *file, void *fh,
110 struct v4l2_format *f); 116 struct v4l2_format *f);
117 int (*vidioc_try_fmt_sdr_out) (struct file *file, void *fh,
118 struct v4l2_format *f);
111 119
112 /* Buffer handlers */ 120 /* Buffer handlers */
113 int (*vidioc_reqbufs) (struct file *file, void *fh, struct v4l2_requestbuffers *b); 121 int (*vidioc_reqbufs) (struct file *file, void *fh, struct v4l2_requestbuffers *b);
diff --git a/include/trace/events/v4l2.h b/include/trace/events/v4l2.h
index 04ef89b15ae2..22afa26e34b2 100644
--- a/include/trace/events/v4l2.h
+++ b/include/trace/events/v4l2.h
@@ -28,6 +28,7 @@
28 EM( V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, "VIDEO_CAPTURE_MPLANE" ) \ 28 EM( V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, "VIDEO_CAPTURE_MPLANE" ) \
29 EM( V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, "VIDEO_OUTPUT_MPLANE" ) \ 29 EM( V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, "VIDEO_OUTPUT_MPLANE" ) \
30 EM( V4L2_BUF_TYPE_SDR_CAPTURE, "SDR_CAPTURE" ) \ 30 EM( V4L2_BUF_TYPE_SDR_CAPTURE, "SDR_CAPTURE" ) \
31 EM( V4L2_BUF_TYPE_SDR_OUTPUT, "SDR_OUTPUT" ) \
31 EMe(V4L2_BUF_TYPE_PRIVATE, "PRIVATE" ) 32 EMe(V4L2_BUF_TYPE_PRIVATE, "PRIVATE" )
32 33
33SHOW_TYPE 34SHOW_TYPE
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index fa8bf2d07a52..f95e1ef0e7e6 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -145,6 +145,7 @@ enum v4l2_buf_type {
145 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9, 145 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,
146 V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10, 146 V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
147 V4L2_BUF_TYPE_SDR_CAPTURE = 11, 147 V4L2_BUF_TYPE_SDR_CAPTURE = 11,
148 V4L2_BUF_TYPE_SDR_OUTPUT = 12,
148 /* Deprecated, do not use */ 149 /* Deprecated, do not use */
149 V4L2_BUF_TYPE_PRIVATE = 0x80, 150 V4L2_BUF_TYPE_PRIVATE = 0x80,
150}; 151};
@@ -159,7 +160,8 @@ enum v4l2_buf_type {
159 || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \ 160 || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \
160 || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \ 161 || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \
161 || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \ 162 || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \
162 || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) 163 || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \
164 || (type) == V4L2_BUF_TYPE_SDR_OUTPUT)
163 165
164enum v4l2_tuner_type { 166enum v4l2_tuner_type {
165 V4L2_TUNER_RADIO = 1, 167 V4L2_TUNER_RADIO = 1,
@@ -435,6 +437,7 @@ struct v4l2_capability {
435 437
436#define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */ 438#define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */
437#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */ 439#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */
440#define V4L2_CAP_SDR_OUTPUT 0x00400000 /* Is a SDR output device */
438 441
439#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ 442#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */
440#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ 443#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */