include/df/codec.hpp

00001 //Video Codec interface
00002 
00003 struct CodecInfo {
00004   int x, y;
00005   int fps;
00006   int compression;  //AVI_DX50 for DivX
00007 };
00008 
00009 class CodecData;
00010 
00011 class Codec : public SystemCode {
00012   private:
00013     CodecData *data;
00014     Memory prevdata;
00015   public:
00016     Codec();
00017     ~Codec();
00018 
00019     BOOL Valid;
00020 
00021     BOOL Open(char *dllname);
00022     BOOL Close();
00023 
00024     BOOL DecodeStart(CodecInfo *);
00025     BOOL DecodeFrame(void *stream, int streamlen, Bitmap *frame, int flgs);
00026       //keep calling DecodeFrame() until return == FALSE & Data is all used up
00027     BOOL DecodeStop();
00028 
00029     //NOTE : *stream may == NULL on any call
00030     BOOL EncodeStart(CodecInfo *);
00031     BOOL EncodeFrame(void **stream, int *streamlen, Bitmap *frame, int *flgs);
00032       //keep calling EncodeFrame() until return == FALSE & Data is all used up
00033     BOOL EncodeStop();
00034 
00035     static BOOL GetCodec(uint32 cc, String &dllname);
00036 };
00037 

Generated on Mon Mar 5 09:49:13 2007 for DigiForce by  doxygen 1.4.7