Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Related Pages  

V4LCamera.h

00001 /* V4LCamera.h
00002  * Last modified: 
00003  * Authors: Daniel Venkitachalam <venki-d@ee.uwa.edu.au>
00004  *          Leon Koch <leon@redfishsoftware.com.au>
00005  */
00011 #ifdef HAVE_CONFIG_H
00012 #include <config.h>
00013 #endif
00014 
00015 #if defined(HAVE_V4L)
00016 
00017 #ifndef V4LCamera_h
00018 #define V4LCamera_h
00019 
00020 #include <sys/time.h>
00021 #include <sys/types.h>
00022 #include <sys/stat.h>
00023 #include <sys/ioctl.h>
00024 #include <sys/mman.h>
00025 #include <fcntl.h>
00026 #include <unistd.h>
00027 #include <stdlib.h>
00028 #include <stdio.h>
00029 #include <errno.h>
00030 #include <string.h>
00031 #include <assert.h>
00032 #include <string>
00033 #include <iostream>
00034 
00035 /* Video for Linux */
00036 #include <linux/fs.h>
00037 #include <linux/videodev.h>
00038 
00039 #include "Camera.h"
00040 #include "FW/labImage.h"
00041 
00042 // extern int frame_count;
00043 
00044 class V4LCamera : public Camera {
00045         int vid_fd;
00046         struct video_capability vid_cap;
00047         struct video_mbuf       vid_mbuf;
00048         struct video_channel    vid_chnl;
00049         struct video_mmap       vid_mmap;
00050         struct video_picture    vid_pic;
00051   
00052         int width, height;
00053         int palette;
00054         int input;
00055         int norm;
00056         BYTE* video_map;
00057 
00058         bool greyscale;
00059 
00060         public:
00061                 virtual bool open(void);
00062                 virtual void close(void);
00063                 virtual void read(Picture *p_frame);
00064                 virtual bool iscolor(void);
00065                 virtual void get_info(CamInfo *info);
00066                 virtual void mmap_read(Picture *p_frame, int expected_size);
00067                 virtual BYTE* set_up_mmap (int dev, int width, int height, int fmt);
00068                 virtual void set_colour(int value);
00069                 virtual void setBrightness(int value);
00070                 virtual void setContrast(int value);
00071                 virtual void setSaturation(int value);
00072                 virtual void setAutoBrightness(bool on);
00073                 virtual int getBrightness(void);
00074                 virtual int getContrast(void);
00075                 virtual int getSaturation(void);
00076                 virtual bool getAutoBrightness(void);
00077                 struct video_window vid_win;
00078 };
00079 
00080 #endif /* V4LCamera_h */
00081 
00082 #endif /* HAVE_V4L */

Generated on Tue Apr 1 11:01:17 2003 for ImprovQT by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002