diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2010-05-05 10:38:35 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-22 03:53:32 -0400 |
commit | 35c3017a29d278c4405a7f3ab30b814999d156d3 (patch) | |
tree | b956724fb7c11c336a4a4d93a5679347f222caf8 /include/media | |
parent | 333c8b97785d5afd5085ba3720b4d259623290f6 (diff) |
[media] v4l: v4l2_subdev userspace frame interval API
The three new ioctl VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL,
VIDIOC_SUBDEV_G_FRAME_INTERVAL and VIDIOC_SUBDEV_S_FRAME_INTERVAL can be
used to enumerate and configure a subdev's frame rate from userspace.
Two new video::g/s_frame_interval subdev operations are introduced to
support those ioctls. The existing video::g/s_parm operations are
deprecated and shouldn't be used anymore.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/v4l2-subdev.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index 4215650151be..8b7a78a013c6 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h | |||
@@ -268,6 +268,10 @@ struct v4l2_subdev_video_ops { | |||
268 | int (*s_crop)(struct v4l2_subdev *sd, struct v4l2_crop *crop); | 268 | int (*s_crop)(struct v4l2_subdev *sd, struct v4l2_crop *crop); |
269 | int (*g_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param); | 269 | int (*g_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param); |
270 | int (*s_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param); | 270 | int (*s_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param); |
271 | int (*g_frame_interval)(struct v4l2_subdev *sd, | ||
272 | struct v4l2_subdev_frame_interval *interval); | ||
273 | int (*s_frame_interval)(struct v4l2_subdev *sd, | ||
274 | struct v4l2_subdev_frame_interval *interval); | ||
271 | int (*enum_framesizes)(struct v4l2_subdev *sd, struct v4l2_frmsizeenum *fsize); | 275 | int (*enum_framesizes)(struct v4l2_subdev *sd, struct v4l2_frmsizeenum *fsize); |
272 | int (*enum_frameintervals)(struct v4l2_subdev *sd, struct v4l2_frmivalenum *fival); | 276 | int (*enum_frameintervals)(struct v4l2_subdev *sd, struct v4l2_frmivalenum *fival); |
273 | int (*enum_dv_presets) (struct v4l2_subdev *sd, | 277 | int (*enum_dv_presets) (struct v4l2_subdev *sd, |
@@ -420,6 +424,9 @@ struct v4l2_subdev_pad_ops { | |||
420 | int (*enum_frame_size)(struct v4l2_subdev *sd, | 424 | int (*enum_frame_size)(struct v4l2_subdev *sd, |
421 | struct v4l2_subdev_fh *fh, | 425 | struct v4l2_subdev_fh *fh, |
422 | struct v4l2_subdev_frame_size_enum *fse); | 426 | struct v4l2_subdev_frame_size_enum *fse); |
427 | int (*enum_frame_interval)(struct v4l2_subdev *sd, | ||
428 | struct v4l2_subdev_fh *fh, | ||
429 | struct v4l2_subdev_frame_interval_enum *fie); | ||
423 | int (*get_fmt)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, | 430 | int (*get_fmt)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, |
424 | struct v4l2_subdev_format *format); | 431 | struct v4l2_subdev_format *format); |
425 | int (*set_fmt)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, | 432 | int (*set_fmt)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, |