00001 #ifndef __xvmeteor_h
00002 #define __xvmeteor_h
00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015
00016
00017 #include <sys/types.h>
00018 #include <sys/mman.h>
00019 #include <sys/ioctl.h>
00020 #include <ioctl_meteor.h>
00021 #include "Video.h"
00022
00023 #define METEOR_DEVICE_NAME "/dev/meteor0"
00024 #define METEOR_DEF_NUMFRAMES 1
00025 #define METEOR_DEF_NORM METEOR_FMT_NTSC
00026 #define METEOR_DEF_INPUT METEOR_INPUT_DEV0
00027
00028 template <class PIXTYPE>
00029 class Meteor:public Video<PIXTYPE>
00030 {
00031 int fd;
00032 struct meteor_frame_offset off;
00033 struct meteor_geomet geo;
00034 PIXTYPE *mm_buf[METEOR_DEF_NUMFRAMES];
00035 int set_input(int norm,int channel);
00036 public:
00037 Meteor(const char *dev_name=METEOR_DEVICE_NAME,
00038 const char *parm_string=NULL);
00039 virtual ~Meteor();
00040
00041 int open(const char *dev_name,const char *parm_string=NULL);
00042 void close(void);
00043 int set_params(char *param_string);
00044 int initiate_acquire(int frame);
00045 int wait_for_completion(int frame);
00046 };
00047
00048 #endif