summaryrefslogtreecommitdiff
path: root/include/media/v4l2-subdev.h
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2010-03-14 10:02:50 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 12:58:46 -0300
commit54aefafbf312ee54a2d70fe3ef0ca89c079ead6e (patch)
tree170fe51cfea9b96211dbc0048e113a3a6908283b /include/media/v4l2-subdev.h
parent32cd527f59f8aa8549067a2c5f989b736f7da79a (diff)
downloadlwn-54aefafbf312ee54a2d70fe3ef0ca89c079ead6e.tar.gz
lwn-54aefafbf312ee54a2d70fe3ef0ca89c079ead6e.zip
V4L/DVB: v4l: add new subdev vbi ops to handle raw and sliced vbi
Currently raw and sliced vbi is setup using the video g/s_fmt ops. However, we want to split off the vbi formatting into separate ops so the first step is to create those new ops. The next step will be to convert subdev drivers and bridge drivers to use the new ops. And in the final step we can start converting the video g/s_fmt ops to the new (and more appropriate) mediabus format ops. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/v4l2-subdev.h')
-rw-r--r--include/media/v4l2-subdev.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 433cd2b06267..6232983f02d6 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -276,12 +276,21 @@ struct v4l2_subdev_video_ops {
returned. Note that you must fill in the 'id' member and the 'field'
member (to determine whether CC data from the first or second field
should be obtained).
+
+ s_raw_fmt: setup the video encoder/decoder for raw VBI.
+
+ g_sliced_fmt: retrieve the current sliced VBI settings.
+
+ s_sliced_fmt: setup the sliced VBI settings.
*/
struct v4l2_subdev_vbi_ops {
int (*decode_vbi_line)(struct v4l2_subdev *sd, struct v4l2_decode_vbi_line *vbi_line);
int (*s_vbi_data)(struct v4l2_subdev *sd, const struct v4l2_sliced_vbi_data *vbi_data);
int (*g_vbi_data)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_data *vbi_data);
int (*g_sliced_vbi_cap)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_cap *cap);
+ int (*s_raw_fmt)(struct v4l2_subdev *sd, struct v4l2_vbi_format *fmt);
+ int (*g_sliced_fmt)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format *fmt);
+ int (*s_sliced_fmt)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format *fmt);
};
/**