diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-11-20 11:19:20 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 06:05:01 -0500 |
commit | e75f9cee32827853fc2f9d1ceb6352e3edc33e9d (patch) | |
tree | e1f1db30c237a08773fcf155a771545f3b6aa54f /include/media | |
parent | 207705cd7f82b9f160c6ed552d5788a823701fd1 (diff) |
V4L/DVB (4861): Remove the need of a STD array for drivers using video_ioctl2
video_ioctl2 will auto-generate standard entries at ENUM_FMT.
Also, now, a driver may return a subset of the video array at
the return, to be stored as the current_norm.
For example, a driver may ask for V4L2_STD_PAL. At return,
driver may change it to V4L2_STD_PAL_B. This way, a futher call
to G_STD will return the exact detected video std.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/v4l2-dev.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 6a11d772700..fb96472a1bd 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
@@ -43,6 +43,7 @@ | |||
43 | 43 | ||
44 | /* Video standard functions */ | 44 | /* Video standard functions */ |
45 | extern unsigned int v4l2_video_std_fps(struct v4l2_standard *vs); | 45 | extern unsigned int v4l2_video_std_fps(struct v4l2_standard *vs); |
46 | extern char *v4l2_norm_to_name(v4l2_std_id id); | ||
46 | extern int v4l2_video_std_construct(struct v4l2_standard *vs, | 47 | extern int v4l2_video_std_construct(struct v4l2_standard *vs, |
47 | int id, char *name); | 48 | int id, char *name); |
48 | 49 | ||
@@ -81,12 +82,6 @@ extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd, | |||
81 | * This version moves redundant code from video device code to | 82 | * This version moves redundant code from video device code to |
82 | * the common handler | 83 | * the common handler |
83 | */ | 84 | */ |
84 | struct v4l2_tvnorm { | ||
85 | char *name; | ||
86 | v4l2_std_id id; | ||
87 | |||
88 | void *priv_data; | ||
89 | }; | ||
90 | 85 | ||
91 | struct video_device | 86 | struct video_device |
92 | { | 87 | { |
@@ -104,9 +99,8 @@ struct video_device | |||
104 | int debug; /* Activates debug level*/ | 99 | int debug; /* Activates debug level*/ |
105 | 100 | ||
106 | /* Video standard vars */ | 101 | /* Video standard vars */ |
107 | int tvnormsize; /* Size of tvnorm array */ | 102 | v4l2_std_id tvnorms; /* Supported tv norms */ |
108 | v4l2_std_id current_norm; /* Current tvnorm */ | 103 | v4l2_std_id current_norm; /* Current tvnorm */ |
109 | struct v4l2_tvnorm *tvnorms; | ||
110 | 104 | ||
111 | /* callbacks */ | 105 | /* callbacks */ |
112 | void (*release)(struct video_device *vfd); | 106 | void (*release)(struct video_device *vfd); |
@@ -211,7 +205,7 @@ struct video_device | |||
211 | /* Standard handling | 205 | /* Standard handling |
212 | G_STD and ENUMSTD are handled by videodev.c | 206 | G_STD and ENUMSTD are handled by videodev.c |
213 | */ | 207 | */ |
214 | int (*vidioc_s_std) (struct file *file, void *fh, v4l2_std_id a); | 208 | int (*vidioc_s_std) (struct file *file, void *fh, v4l2_std_id *norm); |
215 | int (*vidioc_querystd) (struct file *file, void *fh, v4l2_std_id *a); | 209 | int (*vidioc_querystd) (struct file *file, void *fh, v4l2_std_id *a); |
216 | 210 | ||
217 | /* Input handling */ | 211 | /* Input handling */ |