123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- $OpenBSD: patch-uvc_compat_h,v 1.1.1.1 2008/06/13 16:45:01 robert Exp $
- --- uvc_compat.h.orig Fri Jun 13 00:36:47 2008
- +++ uvc_compat.h Fri Jun 13 00:37:34 2008
- @@ -1,129 +1,2 @@
- #ifndef _UVC_COMPAT_H
- -#define _UVC_COMPAT_H
- -
- -#include <linux/version.h>
- -
- -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
- -/*
- - * Extended control API
- - */
- -struct v4l2_ext_control
- -{
- - __u32 id;
- - __u32 reserved2[2];
- - union {
- - __s32 value;
- - __s64 value64;
- - void *reserved;
- - };
- -} __attribute__ ((packed));
- -
- -struct v4l2_ext_controls
- -{
- - __u32 ctrl_class;
- - __u32 count;
- - __u32 error_idx;
- - __u32 reserved[2];
- - struct v4l2_ext_control *controls;
- -};
- -
- -/* Values for ctrl_class field */
- -#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
- -#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */
- -
- -#define V4L2_CTRL_ID_MASK (0x0fffffff)
- -#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
- -#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
- -
- -/* User-class control IDs defined by V4L2 */
- -#undef V4L2_CID_BASE
- -#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
- -#define V4L2_CID_USER_BASE V4L2_CID_BASE
- -#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1)
- -
- -#define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls)
- -#define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls)
- -#define VIDIOC_TRY_EXT_CTRLS _IOWR ('V', 73, struct v4l2_ext_controls)
- -
- -#endif
- -
- -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
- -/*
- - * Frame size and frame rate enumeration
- - *
- - * Included in Linux 2.6.19
- - */
- -enum v4l2_frmsizetypes
- -{
- - V4L2_FRMSIZE_TYPE_DISCRETE = 1,
- - V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
- - V4L2_FRMSIZE_TYPE_STEPWISE = 3,
- -};
- -
- -struct v4l2_frmsize_discrete
- -{
- - __u32 width; /* Frame width [pixel] */
- - __u32 height; /* Frame height [pixel] */
- -};
- -
- -struct v4l2_frmsize_stepwise
- -{
- - __u32 min_width; /* Minimum frame width [pixel] */
- - __u32 max_width; /* Maximum frame width [pixel] */
- - __u32 step_width; /* Frame width step size [pixel] */
- - __u32 min_height; /* Minimum frame height [pixel] */
- - __u32 max_height; /* Maximum frame height [pixel] */
- - __u32 step_height; /* Frame height step size [pixel] */
- -};
- -
- -struct v4l2_frmsizeenum
- -{
- - __u32 index; /* Frame size number */
- - __u32 pixel_format; /* Pixel format */
- - __u32 type; /* Frame size type the device supports. */
- -
- - union { /* Frame size */
- - struct v4l2_frmsize_discrete discrete;
- - struct v4l2_frmsize_stepwise stepwise;
- - };
- -
- - __u32 reserved[2]; /* Reserved space for future use */
- -};
- -
- -enum v4l2_frmivaltypes
- -{
- - V4L2_FRMIVAL_TYPE_DISCRETE = 1,
- - V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
- - V4L2_FRMIVAL_TYPE_STEPWISE = 3,
- -};
- -
- -struct v4l2_frmival_stepwise
- -{
- - struct v4l2_fract min; /* Minimum frame interval [s] */
- - struct v4l2_fract max; /* Maximum frame interval [s] */
- - struct v4l2_fract step; /* Frame interval step size [s] */
- -};
- -
- -struct v4l2_frmivalenum
- -{
- - __u32 index; /* Frame format index */
- - __u32 pixel_format; /* Pixel format */
- - __u32 width; /* Frame width */
- - __u32 height; /* Frame height */
- - __u32 type; /* Frame interval type the device supports. */
- -
- - union { /* Frame interval */
- - struct v4l2_fract discrete;
- - struct v4l2_frmival_stepwise stepwise;
- - };
- -
- - __u32 reserved[2]; /* Reserved space for future use */
- -};
- -
- -#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum)
- -#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum)
- -#endif
- -
- -
- #endif /* _UVC_COMPAT_H */
- -
|