00001 /************************************************************************* 00008 * 00009 * Source code for Real Time Image Library (libRTImage) 00010 * 00011 * Leeds Vision Group give permission for this code to be copied, modified 00012 * and distributed within the University of Leeds subject to the following 00013 * conditions:- 00014 * 00015 * - The code is not to be used for commercial gain. 00016 * - The code and use thereof will be attributed to the authors where 00017 * appropriate (including demonstrations which rely on it's use). 00018 * - All modified, distributions of the source files will retain this header. 00019 * 00020 ****************************************************************************/ 00021 00022 #ifndef QT_SOURCE_H 00023 #define QT_SOURCE_H 00024 00025 #include "Image.h" 00026 #include "ImageSource.h" 00027 extern "C" { 00028 #include <quicktime.h> 00029 } 00030 00031 class QTSource : public ImageSource 00041 { 00042 protected: 00043 /* Protected Members */ 00044 00045 quicktime_t* file; 00046 char* comp_type; 00047 00048 unsigned char** buff; 00049 00050 unsigned int width; 00051 unsigned int height; 00052 long frames; 00053 long c_frame_no; 00054 bool qt_eof; 00055 00056 public: 00057 /* Public Methods */ 00058 00060 QTSource(char* path); 00061 00062 ~QTSource(); 00063 00064 /* Extraction operators */ 00065 00066 virtual ImageSource& operator >> (ImageRGB&); 00067 virtual ImageSource& operator >> (ImageGrey&); 00068 virtual ImageSource& operator >> (Image&); 00069 00071 void get_size(unsigned int&, unsigned int&); 00072 00074 int set_frame(long frame_no) ; 00075 00077 long get_no_frames() ; 00078 00080 void get_framerate(float &fr); 00081 00083 void set_framerate(float fr); 00084 00086 bool eof() { return qt_eof ; } 00087 }; 00088 00089 #endif // QT_SOURCE_H
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001