aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/videodev2.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@skynet.be>2006-09-28 12:42:05 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-10-03 14:14:15 -0400
commit92b2db08b1150576d295ba9440e172675095c3ae (patch)
tree4018fe9ad19bc48835eef8034bad57dbbe80922c /include/linux/videodev2.h
parent515c208db869459e4f2a58021df5aecf21c9a19f (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/videodev2.h')
-rw-r--r--include/linux/videodev2.h75
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 */
282enum v4l2_frmsizetypes
283{
284 V4L2_FRMSIZE_TYPE_DISCRETE = 1,
285 V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
286 V4L2_FRMSIZE_TYPE_STEPWISE = 3,
287};
288
289struct v4l2_frmsize_discrete
290{
291 __u32 width; /* Frame width [pixel] */
292 __u32 height; /* Frame height [pixel] */
293};
294
295struct 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
305struct 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 */
322enum v4l2_frmivaltypes
323{
324 V4L2_FRMIVAL_TYPE_DISCRETE = 1,
325 V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
326 V4L2_FRMIVAL_TYPE_STEPWISE = 3,
327};
328
329struct 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
336struct 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 */
282struct v4l2_timecode 355struct 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 */