00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef __IOCTL_METEOR_H__
00036 #define __IOCTL_METEOR_H__
00037
00038 #define MAX_NUM_FRAMES 256
00039
00040 #ifndef LIBC6
00041 #include <sys/ioctl.h>
00042 #endif
00043
00044 struct meteor_capframe {
00045 short command;
00046 short lowat;
00047 short hiwat;
00048 } ;
00049
00050
00051 struct meteor_geomet {
00052 u_short rows;
00053 u_short columns;
00054 u_short frames;
00055 u_long oformat;
00056 } ;
00057
00058
00059 struct meteor_counts {
00060 u_long fifo_errors;
00061 u_long dma_errors;
00062 u_long frames_captured;
00063 u_long even_fields_captured;
00064 u_long odd_fields_captured;
00065 } ;
00066
00067
00068 struct meteor_frame_offset {
00069 u_long frame_offset[MAX_NUM_FRAMES];
00070 u_long fb_size;
00071 u_long mem_off;
00072 } ;
00073
00074
00075 struct meteor_video {
00076 u_long addr;
00077 u_long width;
00078 u_long banksize;
00079 u_long ramsize;
00080 };
00081
00082
00083 #define METEORCAPTUR _IOW('x', 1, int)
00084 #define METEORCAPFRM _IOW('x', 2, struct meteor_capframe)
00085 #define METEORSETGEO _IOW('x', 3, struct meteor_geomet)
00086 #define METEORGETGEO _IOR('x', 4, struct meteor_geomet)
00087 #define METEORSTATUS _IOR('x', 5, unsigned short)
00088 #define METEORSHUE _IOW('x', 6, signed char)
00089 #define METEORGHUE _IOR('x', 6, signed char)
00090 #define METEORSFMT _IOW('x', 7, unsigned long)
00091 #define METEORGFMT _IOR('x', 7, unsigned long)
00092 #define METEORSINPUT _IOW('x', 8, unsigned long)
00093 #define METEORGINPUT _IOR('x', 8, unsigned long)
00094 #define METEORSCHCV _IOW('x', 9, unsigned char)
00095 #define METEORGCHCV _IOR('x', 9, unsigned char)
00096 #define METEORSCOUNT _IOW('x',10, struct meteor_counts)
00097 #define METEORGCOUNT _IOR('x',10, struct meteor_counts)
00098 #define METEORSFPS _IOW('x',11, unsigned short)
00099 #define METEORGFPS _IOR('x',11, unsigned short)
00100 #define METEORSSIGNAL _IOW('x', 12, unsigned int)
00101 #define METEORGSIGNAL _IOR('x', 12, unsigned int)
00102 #define METEORSVIDEO _IOW('x', 13, struct meteor_video)
00103 #define METEORGVIDEO _IOR('x', 13, struct meteor_video)
00104 #define METEORSBRIG _IOW('x', 14, unsigned char)
00105 #define METEORGBRIG _IOR('x', 14, unsigned char)
00106 #define METEORSCSAT _IOW('x', 15, unsigned char)
00107 #define METEORGCSAT _IOR('x', 15, unsigned char)
00108 #define METEORSCONT _IOW('x', 16, unsigned char)
00109 #define METEORGCONT _IOR('x', 16, unsigned char)
00110 #define METEORSBT254 _IOW('x', 17, unsigned short)
00111 #define METEORGBT254 _IOR('x', 17, unsigned short)
00112 #define METEORSHWS _IOW('x', 18, unsigned char)
00113 #define METEORGHWS _IOR('x', 18, unsigned char)
00114 #define METEORSVWS _IOW('x', 19, unsigned char)
00115 #define METEORGVWS _IOR('x', 19, unsigned char)
00116 #define METEORSTS _IOW('x', 20, unsigned long)
00117 #define METEORGTS _IOR('x', 20, unsigned long)
00118 #define METEORGFROFF _IOR('x', 21, struct meteor_frame_offset )
00119 #define METEORGCAPT _IOR('x', 22, unsigned long)
00120
00121 #define METEOR_STATUS_ID_MASK 0xf000
00122 #define METEOR_STATUS_DIR 0x0800
00123 #define METEOR_STATUS_OEF 0x0200
00124 #define METEOR_STATUS_SVP 0x0100
00125 #define METEOR_STATUS_STTC 0x0080
00126 #define METEOR_STATUS_HCLK 0x0040
00127 #define METEOR_STATUS_FIDT 0x0020
00128 #define METEOR_STATUS_ALTD 0x0002
00129 #define METEOR_STATUS_CODE 0x0001
00130
00131
00132 #define METEOR_CAP_SINGLE 0x0001
00133 #define METEOR_CAP_CONTINOUS 0x0002
00134 #define METEOR_CAP_STOP_CONT 0x0004
00135 #define METEOR_CAP_CONT_ONCE 0x0008
00136
00137
00138 #define METEOR_CAP_N_FRAMES 0x0001
00139 #define METEOR_CAP_STOP_FRAMES 0x0002
00140 #define METEOR_HALT_N_FRAMES 0x0003
00141 #define METEOR_CONT_N_FRAMES 0x0004
00142
00143
00144 #define METEOR_FMT_NTSC 0x00100
00145 #define METEOR_FMT_PAL 0x00200
00146 #define METEOR_FMT_SECAM 0x00400
00147 #define METEOR_FMT_AUTOMODE 0x00800
00148 #define METEOR_INPUT_DEV0 0x01000
00149 #define METEOR_INPUT_DEV_RCA METEOR_INPUT_DEV0
00150 #define METEOR_INPUT_DEV1 0x02000
00151 #define METEOR_INPUT_DEV2 0x04000
00152 #define METEOR_INPUT_DEV3 0x08000
00153 #define METEOR_INPUT_DEV_RGB 0x0a000
00154 #define METEOR_INPUT_DEV_SVIDEO 0x06000
00155
00156
00157 #define METEOR_GEO_RGB16 0x0010000
00158 #define METEOR_GEO_RGB24 0x0020000
00159
00160 #define METEOR_GEO_YUV_PACKED 0x0040000
00161 #define METEOR_GEO_YUV_PLANAR 0x0080000
00162 #define METEOR_GEO_YUV_PLANER METEOR_GEO_YUV_PLANAR
00163 #define METEOR_GEO_UNSIGNED 0x0400000
00164 #define METEOR_GEO_EVEN_ONLY 0x1000000
00165 #define METEOR_GEO_ODD_ONLY 0x2000000
00166 #define METEOR_GEO_FIELD_MASK 0x3000000
00167 #define METEOR_GEO_YUV_422 0x4000000
00168 #define METEOR_GEO_OUTPUT_MASK 0x40f0000
00169 #define METEOR_GEO_YUV_12 0x10000000
00170 #define METEOR_GEO_YUV_9 0x40000000
00171
00172 #define METEOR_FIELD_MODE 0x80000000
00173
00174 #define METEOR_SIG_MODE_MASK 0xffff0000
00175 #define METEOR_SIG_FRAME 0x00000000
00176 #define METEOR_SIG_FIELD 0x00010000
00177
00178
00179
00180
00181 struct meteor_mem {
00182
00183 int frame_size;
00184 unsigned num_bufs;
00185 u_long frames_captured;
00186 int cur_frame;
00187 int cur_field;
00188
00189 int lowat;
00190 int hiwat;
00191
00192 unsigned active;
00193
00194 int num_active_bufs;
00195
00196
00197 caddr_t buf;
00198 } ;
00199
00200 #endif