diff options
author | Laurent Pinchart <laurent.pinchart@skynet.be> | 2006-09-28 12:42:05 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-10-03 14:14:15 -0400 |
commit | 92b2db08b1150576d295ba9440e172675095c3ae (patch) | |
tree | 4018fe9ad19bc48835eef8034bad57dbbe80922c /include/linux | |
parent | 515c208db869459e4f2a58021df5aecf21c9a19f (diff) |
V4L/DVB (4672): Frame format enumeration (1/2)
Add VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctls to enumerate
supported frame sizes and frame intervals.
Signed-off-by: Martin Rubli <martin.rubli@epfl.ch>
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/videodev2.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 44c59da26ed2..253a7ed3abb3 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -277,6 +277,79 @@ struct v4l2_fmtdesc | |||
277 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 | 277 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 |
278 | 278 | ||
279 | /* | 279 | /* |
280 | * F R A M E S I Z E E N U M E R A T I O N | ||
281 | */ | ||
282 | enum v4l2_frmsizetypes | ||
283 | { | ||
284 | V4L2_FRMSIZE_TYPE_DISCRETE = 1, | ||
285 | V4L2_FRMSIZE_TYPE_CONTINUOUS = 2, | ||
286 | V4L2_FRMSIZE_TYPE_STEPWISE = 3, | ||
287 | }; | ||
288 | |||
289 | struct v4l2_frmsize_discrete | ||
290 | { | ||
291 | __u32 width; /* Frame width [pixel] */ | ||
292 | __u32 height; /* Frame height [pixel] */ | ||
293 | }; | ||
294 | |||
295 | struct v4l2_frmsize_stepwise | ||
296 | { | ||
297 | __u32 min_width; /* Minimum frame width [pixel] */ | ||
298 | __u32 max_width; /* Maximum frame width [pixel] */ | ||
299 | __u32 step_width; /* Frame width step size [pixel] */ | ||
300 | __u32 min_height; /* Minimum frame height [pixel] */ | ||
301 | __u32 max_height; /* Maximum frame height [pixel] */ | ||
302 | __u32 step_height; /* Frame height step size [pixel] */ | ||
303 | }; | ||
304 | |||
305 | struct v4l2_frmsizeenum | ||
306 | { | ||
307 | __u32 index; /* Frame size number */ | ||
308 | __u32 pixel_format; /* Pixel format */ | ||
309 | __u32 type; /* Frame size type the device supports. */ | ||
310 | |||
311 | union { /* Frame size */ | ||
312 | struct v4l2_frmsize_discrete discrete; | ||
313 | struct v4l2_frmsize_stepwise stepwise; | ||
314 | }; | ||
315 | |||
316 | __u32 reserved[2]; /* Reserved space for future use */ | ||
317 | }; | ||
318 | |||
319 | /* | ||
320 | * F R A M E R A T E E N U M E R A T I O N | ||
321 | */ | ||
322 | enum v4l2_frmivaltypes | ||
323 | { | ||
324 | V4L2_FRMIVAL_TYPE_DISCRETE = 1, | ||
325 | V4L2_FRMIVAL_TYPE_CONTINUOUS = 2, | ||
326 | V4L2_FRMIVAL_TYPE_STEPWISE = 3, | ||
327 | }; | ||
328 | |||
329 | struct v4l2_frmival_stepwise | ||
330 | { | ||
331 | struct v4l2_fract min; /* Minimum frame interval [s] */ | ||
332 | struct v4l2_fract max; /* Maximum frame interval [s] */ | ||
333 | struct v4l2_fract step; /* Frame interval step size [s] */ | ||
334 | }; | ||
335 | |||
336 | struct v4l2_frmivalenum | ||
337 | { | ||
338 | __u32 index; /* Frame format index */ | ||
339 | __u32 pixel_format; /* Pixel format */ | ||
340 | __u32 width; /* Frame width */ | ||
341 | __u32 height; /* Frame height */ | ||
342 | __u32 type; /* Frame interval type the device supports. */ | ||
343 | |||
344 | union { /* Frame interval */ | ||
345 | struct v4l2_fract discrete; | ||
346 | struct v4l2_frmival_stepwise stepwise; | ||
347 | }; | ||
348 | |||
349 | __u32 reserved[2]; /* Reserved space for future use */ | ||
350 | }; | ||
351 | |||
352 | /* | ||
280 | * T I M E C O D E | 353 | * T I M E C O D E |
281 | */ | 354 | */ |
282 | struct v4l2_timecode | 355 | struct v4l2_timecode |
@@ -1249,6 +1322,8 @@ struct v4l2_streamparm | |||
1249 | #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) | 1322 | #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) |
1250 | #define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) | 1323 | #define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) |
1251 | #define VIDIOC_TRY_EXT_CTRLS _IOWR ('V', 73, struct v4l2_ext_controls) | 1324 | #define VIDIOC_TRY_EXT_CTRLS _IOWR ('V', 73, struct v4l2_ext_controls) |
1325 | #define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) | ||
1326 | #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) | ||
1252 | 1327 | ||
1253 | #ifdef __OLD_VIDIOC_ | 1328 | #ifdef __OLD_VIDIOC_ |
1254 | /* for compatibility, will go away some day */ | 1329 | /* for compatibility, will go away some day */ |