VideoDecoderVFW.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
- /**************************************************************************************
- * *
- * *
- **************************************************************************************/
- #ifndef VIDEODECODER_VFW_H
- #define VIDEODECODER_VFW_H
- /*
- * 基类
- */
- #include "MediaClasses.h"
- #include <vfw.h>
- #define VFW_INPUT_SIZE 128000
- typedef struct _my_BITMAPINFO {
- BITMAPINFOHEADER bmiHeader;
- DWORD bmiColors[3];
- } my_BITMAPINFO;
- /*
- * 视频解码器类
- */
- class MediaVideoDecoderVFW : public MediaItemVideoDecoder {
- private:
- HIC hic;
- BITMAPINFO in_bih;
- my_BITMAPINFO out_bih;
- media_video_mode_t videoMode;
- BOOL invertFlag;
- MediaItemDecaps *decaps;
- MediaBuffer *inputBuffer;
- public:
- MediaVideoDecoderVFW();
- ~MediaVideoDecoderVFW();
- /*
- * 媒体项方法
- */
- 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