⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tvideocodecxvid4.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
字号:
#ifndef _TVIDEOCODECXVID4_H_
#define _TVIDEOCODECXVID4_H_

#include "TvideoCodec.h"

class Tdll;
struct xvid_enc_frame_t;
struct Textradata;
class TvideoCodecXviD4 :public TvideoCodecDec,public TvideoCodecEnc
{
private:
 void create(void);
 Tdll *dll;
public:
 TvideoCodecXviD4(IffdshowBase *Ideci,IdecVideoSink *IsinkD);
 TvideoCodecXviD4(IffdshowBase *Ideci,IencVideoSink *IsinkE);
 virtual ~TvideoCodecXviD4();
 int (*xvid_global)(void *handle,int opt,void *param1,void *param2);
 int (*xvid_decore)(void *handle,int opt,void *param1,void *param2);
 int (*xvid_encore)(void *handle,int opt,void *param1,void *param2);
 int (*xvid_plugin_single)(void *handle,int opt,void *param1,void *param2);
 int (*xvid_plugin_lumimasking)(void *handle,int opt,void *param1,void *param2);
 static bool getVersion(const Tconfig *config,ffstring &vers,ffstring &license);
 static const char_t *dllname;
private:
 void *enchandle,*dechandle;
 xvid_enc_frame_t *frame;
 int psnr;
 TffPict pict;Tbuffer pictbuf;
 static int me_hq(int rd3),me_(int me3);
 Textradata *extradata;
 REFERENCE_TIME rtStart,rtStop;
protected:
 virtual LRESULT beginCompress(int cfgcomode,int csp,const Trect &r);
 virtual bool beginDecompress(TffPictBase &pict,FOURCC infcc,const CMediaType &mt,int sourceFlags);
 virtual HRESULT flushDec(void);
public:
 virtual int getType(void) const {return IDFF_MOVIE_XVID4;}
 virtual int caps(void) const {return CAPS::VIS_QUANTS;}

 virtual HRESULT compress(const TffPict &pict,TencFrameParams &params);
 virtual HRESULT flushEnc(const TffPict &pict,TencFrameParams &params) {return compress(pict,params);}
 virtual void end(void);

 virtual HRESULT decompress(const unsigned char *src,size_t srcLen,IMediaSample *pIn);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -