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