+#ifndef CAPTURE_A_H_\r
+#define CAPTURE_A_H_\r
+\r
+#include <string>\r
+\r
+#include <opencv.hpp>\r
+#include <highgui.hpp>\r
+\r
+#include "Chronos.h"\r
+#include "cudaType.h"\r
+\r
+using namespace cv;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+/**\r
+ * http://opencv.willowgarage.com/wiki/VideoCodecs\r
+ */\r
+class Capture_A\r
+ {\r
+ /*--------------------------------------*\\r
+ |* Constructor *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ Capture_A(VideoCapture* ptrCaptureStream,const string& title, uchar4* ptrHostMemory=NULL);\r
+ virtual ~Capture_A(void);\r
+\r
+ /*--------------------------------------*\\r
+ |* Methodes *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ VideoCapture* getVideoCapture(void);\r
+ int getW(void);\r
+ int getH(void);\r
+ string getTitle(void);\r
+ Chronos getChronos(void);\r
+ int fpsCapture(void);\r
+\r
+ bool isOpened(void);\r
+ int nbOctetImage(void);\r
+ long nbCapture(void);\r
+\r
+ virtual void printInfo(void);\r
+\r
+ /**\r
+ * Temps a attendre entre 2 captures pour respecter fps original\r
+ */\r
+ virtual int dtOriginalMS(void);\r
+\r
+ /**\r
+ * To be call periodicly to obtain image\r
+ * Type pas RVBA, mais BVRA\r
+ */\r
+ Mat capturer(void);\r
+\r
+ // Tools\r
+ static uchar4* castToUChar4(uchar* ptrTab);\r
+ static uchar4* castToUChar4(Mat* ptrMap);\r
+\r
+ protected:\r
+\r
+ virtual void readStream(VideoCapture* ptrCaptureStream, Mat* ptrMatCaptureSrc)=0;\r
+\r
+ private:\r
+\r
+\r
+ /*--------------------------------------*\\r
+ |* Attributs *|\r
+ \*-------------------------------------*/\r
+\r
+ private:\r
+\r
+ // Inputs\r
+ string title;\r
+\r
+\r
+ // Tools\r
+ Mat matCaptureSrc;\r
+\r
+ // Outputs\r
+ float w;\r
+ int h;\r
+ Mat matCaptureDest;\r
+ long compteurCapture;\r
+ Chronos chrono;\r
+\r
+ protected:\r
+ VideoCapture* ptrCaptureStream;\r
+ };\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r