VideoDecoderDecore.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
- /**************************************************************************************
- * *
- * *
- **************************************************************************************/
- #ifndef VIDEODECODER_DECORE_H
- #define VIDEODECODER_DECORE_H
- /*
- * 基类
- */
- #include "MediaClasses.h"
- #include "decore.h"
- #include "../build/win32/ressources.h"
- #include "../build/win32/resource.h"
- #define DECORE_PLAYA_ID 0x8001
- #define DECORE_INPUT_SIZE 128000
- class MediaVideoDecoderDecore : public MediaItemVideoDecoder {
- private:
- DEC_MEM_REQS decMem;
- DEC_PARAM decParam;
- DEC_FRAME decFrame;
- DEC_SET decSet;
-
- media_video_mode_t videoMode;
- BOOL invertFlag;
- MediaItemDecaps *decaps;
- MediaBuffer *inputBuffer;
- HINSTANCE hDivXDll;
- public:
- DWORD postprocessing;
- decoreFunc decoreFunction;
- MediaVideoDecoderDecore();
- ~MediaVideoDecoderDecore();
- /*
- * 视频项方法
- */
- media_type_t GetType();
- char *GetName();
- MP_RESULT Connect(MediaItem *item);
- MP_RESULT ReleaseConnections();
- DWORD GetCaps();
- MP_RESULT Configure(HINSTANCE hInstance, HWND hwnd);
- /*
- * 视频解码器方法
- *
- */
- unsigned int GetFrameSize();
- media_video_mode_t GetVideoMode();
- BOOL GetInvertFlag();
- MP_RESULT SetVideoMode(media_video_mode_t mode);
- MP_RESULT SetQuality(DWORD quality);
- DWORD GetQuality();
- MP_RESULT Decompress(MediaBuffer *mb_out, unsigned int stride);
- MP_RESULT Drop(MediaBuffer *mb_out, unsigned int stride);
- };
- #endif