00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025
00026
00027
00028
00030
00031 #ifndef CVD_V4L2FRAME_H
00032 #define CVD_V4L2FRAME_H
00033
00034 #include <cvd/videoframe.h>
00035 #include <cvd/config.h>
00036
00037 #ifdef CVD_INTERNAL_HAVE_STRANGE_V4L2
00038 #include <videodevx/videodev.h>
00039 #else
00040 #include <linux/videodev.h>
00041 #endif
00042
00043 namespace CVD {
00044
00048 template <class T>
00049 class V4L2FrameT : public VideoFrame<T>
00050 {
00051 friend class V4L2Buffer_Base;
00052
00053 protected:
00060 V4L2FrameT(double t, const ImageRef& size, int index, T *data, VideoFrameFlags::FieldType f)
00061 : VideoFrame<T>(t, data, size, f),my_index(index)
00062 {
00063 }
00064
00065
00066
00067 struct v4l2_buffer* m_buf;
00068
00069
00070 int my_index;
00071
00072 ~V4L2FrameT()
00073 {}
00074
00075 public:
00076
00077 };
00078
00080 typedef V4L2FrameT<unsigned char> V4L2Frame;
00081
00082
00083 }
00084
00085 #endif