00001
00002
00003 struct CodecInfo {
00004 int x, y;
00005 int fps;
00006 int compression;
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
00027 BOOL DecodeStop();
00028
00029
00030 BOOL EncodeStart(CodecInfo *);
00031 BOOL EncodeFrame(void **stream, int *streamlen, Bitmap *frame, int *flgs);
00032
00033 BOOL EncodeStop();
00034
00035 static BOOL GetCodec(uint32 cc, String &dllname);
00036 };
00037