diff options
| author | Antti Palosaari <crope@iki.fi> | 2015-10-10 12:51:00 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-10-20 13:40:50 -0400 |
| commit | 9effc72fd71b6e8fd2676bcb57fac3f05ab93043 (patch) | |
| tree | b39342339730a075de69d780fce77921df064d46 /include | |
| parent | b2411b93cdcb5cb154827b8fcd2f436dd0ddab73 (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.h | 8 | ||||
| -rw-r--r-- | include/trace/events/v4l2.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 5 |
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 | ||
| 33 | SHOW_TYPE | 34 | SHOW_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 | ||
| 164 | enum v4l2_tuner_type { | 166 | enum 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 */ |
