aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSteve Passe <fsmp@FreeBSD.org>1997-05-01 00:15:30 +0000
committerSteve Passe <fsmp@FreeBSD.org>1997-05-01 00:15:30 +0000
commit4abfa50b620d105482133b7d9f39699358907186 (patch)
tree53a28f211f23dd99756c67a94ee62c194c512980 /sys
parent9d35fde7d6e5ca0e51cf32bcb82e8ad595d9bc1f (diff)
downloadsrc-4abfa50b620d105482133b7d9f39699358907186.tar.gz
src-4abfa50b620d105482133b7d9f39699358907186.zip
1.15 4/18/97 John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Added [SR]RGBMASKs ioctl for byte swapping. 1.16 4/20/97 Randall Hopper <rhh@ct.picker.com> Generalized RGBMASK ioctls for general pixel format setting [SG]ACTPIXFMT, and added query API to return driver-supported pix fmts GSUPPIXFMT. 1.17 4/21/97 hasty@rah.star-gate.com Clipping support added. 1.18 4/23/97 Clean up after failed CAP_SINGLEs where bt interrupt isn't delivered, and fixed fixing CAP_SINGLEs that for ODD_ONLY fields. Submitted by: individuals in above log messages.
Notes
Notes: svn path=/head/; revision=25328
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/bktr/ioctl_bt848.h43
-rw-r--r--sys/i386/include/ioctl_bt848.h43
-rw-r--r--sys/sys/ioctl_bt848.h43
3 files changed, 129 insertions, 0 deletions
diff --git a/sys/dev/bktr/ioctl_bt848.h b/sys/dev/bktr/ioctl_bt848.h
index 8fa74b7517ee..56ae6123c3e9 100644
--- a/sys/dev/bktr/ioctl_bt848.h
+++ b/sys/dev/bktr/ioctl_bt848.h
@@ -138,3 +138,46 @@ struct eeProm {
#define METEOR_DEV0 0x00001000
#define METEOR_DEV1 0x00002000
#define METEOR_DEV2 0x00004000
+
+/*
+ * right now I don't know were to put these, but as they are suppose to be
+ * a part of a common video capture interface, these should be relocated to
+ * another place. Probably most of the METEOR_xxx defines need to be
+ * renamed and moved to a common header
+ */
+
+typedef enum { METEOR_PIXTYPE_RGB, METEOR_PIXTYPE_YUV } METEOR_PIXTYPE;
+
+struct meteor_pixfmt {
+ u_int index; /* Index in supported pixfmt list */
+ METEOR_PIXTYPE type; /* What's the board gonna feed us */
+ u_int Bpp; /* Bytes per pixel */
+ u_long masks[3]; /* R,G,B or Y,U,V masks, respectively */
+ unsigned swap_bytes :1; /* Bytes swapped within shorts */
+ unsigned swap_shorts:1; /* Shorts swapped within longs */
+};
+
+
+struct bktr_clip {
+ int x_min;
+ int x_max;
+ int y_min;
+ int y_max;
+};
+
+#define BT848_MAX_CLIP_NODE 100
+struct _bktr_clip {
+ struct bktr_clip x[BT848_MAX_CLIP_NODE];
+};
+
+/*
+ * I'm using METEOR_xxx just because that will be common to other interface
+ * and less of a surprise
+ */
+#define METEORSACTPIXFMT _IOW('x', 64, int )
+#define METEORGACTPIXFMT _IOR('x', 64, int )
+#define METEORGSUPPIXFMT _IOWR('x', 65, struct meteor_pixfmt)
+
+/* set clip list */
+#define BT848SCLIP _IOW('x', 66, struct _bktr_clip )
+#define BT848GCLIP _IOR('x', 66, struct _bktr_clip )
diff --git a/sys/i386/include/ioctl_bt848.h b/sys/i386/include/ioctl_bt848.h
index 8fa74b7517ee..56ae6123c3e9 100644
--- a/sys/i386/include/ioctl_bt848.h
+++ b/sys/i386/include/ioctl_bt848.h
@@ -138,3 +138,46 @@ struct eeProm {
#define METEOR_DEV0 0x00001000
#define METEOR_DEV1 0x00002000
#define METEOR_DEV2 0x00004000
+
+/*
+ * right now I don't know were to put these, but as they are suppose to be
+ * a part of a common video capture interface, these should be relocated to
+ * another place. Probably most of the METEOR_xxx defines need to be
+ * renamed and moved to a common header
+ */
+
+typedef enum { METEOR_PIXTYPE_RGB, METEOR_PIXTYPE_YUV } METEOR_PIXTYPE;
+
+struct meteor_pixfmt {
+ u_int index; /* Index in supported pixfmt list */
+ METEOR_PIXTYPE type; /* What's the board gonna feed us */
+ u_int Bpp; /* Bytes per pixel */
+ u_long masks[3]; /* R,G,B or Y,U,V masks, respectively */
+ unsigned swap_bytes :1; /* Bytes swapped within shorts */
+ unsigned swap_shorts:1; /* Shorts swapped within longs */
+};
+
+
+struct bktr_clip {
+ int x_min;
+ int x_max;
+ int y_min;
+ int y_max;
+};
+
+#define BT848_MAX_CLIP_NODE 100
+struct _bktr_clip {
+ struct bktr_clip x[BT848_MAX_CLIP_NODE];
+};
+
+/*
+ * I'm using METEOR_xxx just because that will be common to other interface
+ * and less of a surprise
+ */
+#define METEORSACTPIXFMT _IOW('x', 64, int )
+#define METEORGACTPIXFMT _IOR('x', 64, int )
+#define METEORGSUPPIXFMT _IOWR('x', 65, struct meteor_pixfmt)
+
+/* set clip list */
+#define BT848SCLIP _IOW('x', 66, struct _bktr_clip )
+#define BT848GCLIP _IOR('x', 66, struct _bktr_clip )
diff --git a/sys/sys/ioctl_bt848.h b/sys/sys/ioctl_bt848.h
index 8fa74b7517ee..56ae6123c3e9 100644
--- a/sys/sys/ioctl_bt848.h
+++ b/sys/sys/ioctl_bt848.h
@@ -138,3 +138,46 @@ struct eeProm {
#define METEOR_DEV0 0x00001000
#define METEOR_DEV1 0x00002000
#define METEOR_DEV2 0x00004000
+
+/*
+ * right now I don't know were to put these, but as they are suppose to be
+ * a part of a common video capture interface, these should be relocated to
+ * another place. Probably most of the METEOR_xxx defines need to be
+ * renamed and moved to a common header
+ */
+
+typedef enum { METEOR_PIXTYPE_RGB, METEOR_PIXTYPE_YUV } METEOR_PIXTYPE;
+
+struct meteor_pixfmt {
+ u_int index; /* Index in supported pixfmt list */
+ METEOR_PIXTYPE type; /* What's the board gonna feed us */
+ u_int Bpp; /* Bytes per pixel */
+ u_long masks[3]; /* R,G,B or Y,U,V masks, respectively */
+ unsigned swap_bytes :1; /* Bytes swapped within shorts */
+ unsigned swap_shorts:1; /* Shorts swapped within longs */
+};
+
+
+struct bktr_clip {
+ int x_min;
+ int x_max;
+ int y_min;
+ int y_max;
+};
+
+#define BT848_MAX_CLIP_NODE 100
+struct _bktr_clip {
+ struct bktr_clip x[BT848_MAX_CLIP_NODE];
+};
+
+/*
+ * I'm using METEOR_xxx just because that will be common to other interface
+ * and less of a surprise
+ */
+#define METEORSACTPIXFMT _IOW('x', 64, int )
+#define METEORGACTPIXFMT _IOR('x', 64, int )
+#define METEORGSUPPIXFMT _IOWR('x', 65, struct meteor_pixfmt)
+
+/* set clip list */
+#define BT848SCLIP _IOW('x', 66, struct _bktr_clip )
+#define BT848GCLIP _IOR('x', 66, struct _bktr_clip )