00001
00002 #ifndef MovieFileInterface_h_
00003 #define MovieFileInterface_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <vil1/vil1_image.h>
00016
00017 struct MovieFileInterface
00018 {
00019 virtual ~MovieFileInterface();
00020
00021
00022 virtual int GetLength() = 0;
00023
00024
00025 virtual int GetSizeX(int frame_index) = 0;
00026 virtual int GetSizeY(int frame_index) = 0;
00027
00028
00029
00030 virtual int GetBitsPixel() = 0;
00031
00032
00033 virtual bool IsInterlaced() = 0;
00034
00035
00036 virtual bool HasFrame(int frame_index) = 0;
00037
00038
00039 virtual bool GetFrame(int frame_index, void* buffer);
00040
00041
00042 virtual bool GetField(int field_index, void* buffer);
00043
00044 virtual vil1_image GetImage(int frame_index) = 0;
00045
00046
00047 static bool verbose;
00048 };
00049
00050 #endif // MovieFileInterface_h_