VideoCodec.h
资源名称:视频会议系统.rar [点击查看]
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:1k
源码类别:
IP电话/视频会议
开发平台:
Visual C++
- // VideoCode.h: interface for the CVideoCodec class.
- //
- //////////////////////////////////////////////////////////////////////
- #ifndef __VIDEOCODEC_H__
- #define __VIDEOCODEC_H__
- #include "vfw.h"
- class CVideoCodec
- {
- public:
- CVideoCodec();
- virtual ~CVideoCodec();
- //初始化解压器
- virtual BITMAPINFOHEADER * InitDecode( int width , int height , int depth , const char * szType );
- //初始化解压器
- virtual bool InitDecode( BITMAPINFOHEADER * header );
- //初始化压缩器
- virtual BITMAPINFOHEADER * InitEncode( int width , int height , int depth , const char * szType = NULL , int kbps = 0 );
- //初始化压缩器
- virtual bool InitEncode( BITMAPINFOHEADER header );
- //解压
- void * Decode( void * in_buffer , int size );
- //压缩
- void * Encode( void * in_buffer , int * size );
- //释放解压器
- bool ReleaseDecode( void );
- //释放压缩器
- bool ReleaseEncode( void );
- //通过一个Word取mmioFOURCC 的4个字节
- static char * GetString(int word );
- time_t GetEncodeTime( void );
- protected:
- enum{ DECODE = 1, ENCODE };
- private:
- //压缩解压器结构体
- COMPVARS cv;
- //输出内存
- char * out_buffer;
- //压缩 or 解压标志
- int codec_type;
- //帧压缩的当前时间
- time_t encode_time;
- //压缩方式
- bool sequent_compress;
- //输入数据位图头信息
- BITMAPINFOHEADER in ;
- //输出位兔头信息
- BITMAPINFOHEADER out;
- };
- #endif