|
@@ -96,44 +96,60 @@
|
|
* E N U M S
|
|
* E N U M S
|
|
*/
|
|
*/
|
|
enum v4l2_field {
|
|
enum v4l2_field {
|
|
- V4L2_FIELD_ANY = 0, /* driver can choose from none,
|
|
|
|
- top, bottom, interlaced
|
|
|
|
- depending on whatever it thinks
|
|
|
|
- is approximate ... */
|
|
|
|
- V4L2_FIELD_NONE = 1, /* this device has no fields ... */
|
|
|
|
- V4L2_FIELD_TOP = 2, /* top field only */
|
|
|
|
- V4L2_FIELD_BOTTOM = 3, /* bottom field only */
|
|
|
|
- V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
|
|
|
|
- V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one
|
|
|
|
- buffer, top-bottom order */
|
|
|
|
- V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
|
|
|
|
- V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into
|
|
|
|
- separate buffers */
|
|
|
|
|
|
+ V4L2_FIELD_ANY = 0, /* driver can choose from none,
|
|
|
|
+ top, bottom, interlaced
|
|
|
|
+ depending on whatever it thinks
|
|
|
|
+ is approximate ... */
|
|
|
|
+ V4L2_FIELD_NONE = 1, /* this device has no fields ... */
|
|
|
|
+ V4L2_FIELD_TOP = 2, /* top field only */
|
|
|
|
+ V4L2_FIELD_BOTTOM = 3, /* bottom field only */
|
|
|
|
+ V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
|
|
|
|
+ V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one
|
|
|
|
+ buffer, top-bottom order */
|
|
|
|
+ V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
|
|
|
|
+ V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into
|
|
|
|
+ separate buffers */
|
|
|
|
+ V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field
|
|
|
|
+ first and the top field is
|
|
|
|
+ transmitted first */
|
|
|
|
+ V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field
|
|
|
|
+ first and the bottom field is
|
|
|
|
+ transmitted first */
|
|
};
|
|
};
|
|
#define V4L2_FIELD_HAS_TOP(field) \
|
|
#define V4L2_FIELD_HAS_TOP(field) \
|
|
((field) == V4L2_FIELD_TOP ||\
|
|
((field) == V4L2_FIELD_TOP ||\
|
|
(field) == V4L2_FIELD_INTERLACED ||\
|
|
(field) == V4L2_FIELD_INTERLACED ||\
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_TB ||\
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_BT ||\
|
|
(field) == V4L2_FIELD_SEQ_TB ||\
|
|
(field) == V4L2_FIELD_SEQ_TB ||\
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
#define V4L2_FIELD_HAS_BOTTOM(field) \
|
|
#define V4L2_FIELD_HAS_BOTTOM(field) \
|
|
((field) == V4L2_FIELD_BOTTOM ||\
|
|
((field) == V4L2_FIELD_BOTTOM ||\
|
|
(field) == V4L2_FIELD_INTERLACED ||\
|
|
(field) == V4L2_FIELD_INTERLACED ||\
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_TB ||\
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_BT ||\
|
|
(field) == V4L2_FIELD_SEQ_TB ||\
|
|
(field) == V4L2_FIELD_SEQ_TB ||\
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
#define V4L2_FIELD_HAS_BOTH(field) \
|
|
#define V4L2_FIELD_HAS_BOTH(field) \
|
|
((field) == V4L2_FIELD_INTERLACED ||\
|
|
((field) == V4L2_FIELD_INTERLACED ||\
|
|
- (field) == V4L2_FIELD_SEQ_TB ||\
|
|
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_TB ||\
|
|
|
|
+ (field) == V4L2_FIELD_INTERLACED_BT ||\
|
|
|
|
+ (field) == V4L2_FIELD_SEQ_TB ||\
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
(field) == V4L2_FIELD_SEQ_BT)
|
|
|
|
|
|
enum v4l2_buf_type {
|
|
enum v4l2_buf_type {
|
|
- V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
|
|
|
|
- V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
|
|
|
|
- V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
|
|
|
|
- V4L2_BUF_TYPE_VBI_CAPTURE = 4,
|
|
|
|
- V4L2_BUF_TYPE_VBI_OUTPUT = 5,
|
|
|
|
- V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
|
|
|
|
- V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
|
|
|
|
- V4L2_BUF_TYPE_PRIVATE = 0x80,
|
|
|
|
|
|
+ V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
|
|
|
|
+ V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
|
|
|
|
+ V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
|
|
|
|
+ V4L2_BUF_TYPE_VBI_CAPTURE = 4,
|
|
|
|
+ V4L2_BUF_TYPE_VBI_OUTPUT = 5,
|
|
|
|
+ V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
|
|
|
|
+ V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
|
|
|
|
+#if 1
|
|
|
|
+ /* Experimental */
|
|
|
|
+ V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8,
|
|
|
|
+#endif
|
|
|
|
+ V4L2_BUF_TYPE_PRIVATE = 0x80,
|
|
};
|
|
};
|
|
|
|
|
|
enum v4l2_ctrl_type {
|
|
enum v4l2_ctrl_type {
|
|
@@ -228,6 +244,7 @@ struct v4l2_capability
|
|
#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */
|
|
#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */
|
|
#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */
|
|
#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */
|
|
#define V4L2_CAP_VIDEO_OUTPUT_POS 0x00000200 /* Video output can have x,y coords */
|
|
#define V4L2_CAP_VIDEO_OUTPUT_POS 0x00000200 /* Video output can have x,y coords */
|
|
|
|
+#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000400 /* Can do video output overlay */
|
|
|
|
|
|
#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */
|
|
#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */
|
|
#define V4L2_CAP_AUDIO 0x00020000 /* has audio support */
|
|
#define V4L2_CAP_AUDIO 0x00020000 /* has audio support */
|
|
@@ -599,10 +616,14 @@ struct v4l2_framebuffer
|
|
#define V4L2_FBUF_CAP_CHROMAKEY 0x0002
|
|
#define V4L2_FBUF_CAP_CHROMAKEY 0x0002
|
|
#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004
|
|
#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004
|
|
#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008
|
|
#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008
|
|
|
|
+#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010
|
|
|
|
+#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020
|
|
/* Flags for the 'flags' field. */
|
|
/* Flags for the 'flags' field. */
|
|
#define V4L2_FBUF_FLAG_PRIMARY 0x0001
|
|
#define V4L2_FBUF_FLAG_PRIMARY 0x0001
|
|
#define V4L2_FBUF_FLAG_OVERLAY 0x0002
|
|
#define V4L2_FBUF_FLAG_OVERLAY 0x0002
|
|
#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004
|
|
#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004
|
|
|
|
+#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008
|
|
|
|
+#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010
|
|
|
|
|
|
struct v4l2_clip
|
|
struct v4l2_clip
|
|
{
|
|
{
|
|
@@ -618,6 +639,7 @@ struct v4l2_window
|
|
struct v4l2_clip __user *clips;
|
|
struct v4l2_clip __user *clips;
|
|
__u32 clipcount;
|
|
__u32 clipcount;
|
|
void __user *bitmap;
|
|
void __user *bitmap;
|
|
|
|
+ __u8 global_alpha;
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|