VideoDecoderVFW.h
资源名称:VC++视频传输.rar [点击查看]
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:2k
源码类别:
VC书籍
开发平台:
Visual C++
- /**************************************************************************************
- * *
- * *
- **************************************************************************************/
- #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