Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

MovieFileInterface.h

Go to the documentation of this file.
00001 // This is oxl/oxp/MovieFileInterface.h
00002 #ifndef MovieFileInterface_h_
00003 #define MovieFileInterface_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 //  \file
00009 //
00010 // \author
00011 //     Andrew W. Fitzgibbon, Oxford RRG, 30 Dec 98
00012 //
00013 //-----------------------------------------------------------------------------
00014 
00015 #include <vil1/vil1_image.h>
00016 
00017 struct MovieFileInterface
00018 {
00019   virtual ~MovieFileInterface();
00020 
00021   //: Return length of movie in frames
00022   virtual int GetLength() = 0;
00023 
00024   //: Return size of the frame \argfont{frame_index}.
00025   virtual int GetSizeX(int frame_index) = 0;
00026   virtual int GetSizeY(int frame_index) = 0;
00027 
00028   //: Return bits per pixel of images.
00029   // Assumed constant throughout the movie.
00030   virtual int GetBitsPixel() = 0;
00031 
00032   //: Return true if frames are stored as a pair of interlaced fields.
00033   virtual bool IsInterlaced() = 0;
00034 
00035   //: Return true if frame_index is a valid frame.
00036   virtual bool HasFrame(int frame_index) = 0;
00037 
00038   //: Grab frame into supplied buffer, which is GetBitsPixel * SizeX * SizeY
00039   virtual bool GetFrame(int frame_index, void* buffer);
00040 
00041   //: Grab field into supplied buffer, which is GetBitsPixel * SizeX * SizeY
00042   virtual bool GetField(int field_index, void* buffer);
00043 
00044   virtual vil1_image GetImage(int frame_index) = 0;
00045 
00046   //: General verbosity flag for various movie-related operations.
00047   static bool verbose;
00048 };
00049 
00050 #endif // MovieFileInterface_h_

Generated on Thu Jan 10 14:46:06 2008 for contrib/oxl/oxp by  doxygen 1.4.4