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

📄 tvideocodecwmv9.h

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

#include "TvideoCodec.h"

struct TencoderWmv9 :public Tencoder
{
 TencoderWmv9(const char_t *Iname,CodecID Iid,const Tfourccs &Ifourccs,int IcplxMax):Tencoder(Iname,Iid,Ifourccs),cplxMax(IcplxMax) {}
 int cplxMax;
};

class Tdll;
struct Tff_wmv9codecInfo;
struct Iff_wmv9;
class TvideoCodecWmv9 :public TvideoCodecDec,public TvideoCodecEnc
{
private:
 void create(void);
 Tdll *dll;
public:
 TvideoCodecWmv9(IffdshowBase *Ideci,IdecVideoSink *IsinkD);
 TvideoCodecWmv9(IffdshowBase *Ideci,IencVideoSink *IsinkE);
 virtual ~TvideoCodecWmv9();
 static const char_t *dllname;
private:
 Tff_wmv9codecInfo *infos;
 Iff_wmv9 *wmv9;
 Iff_wmv9* (__stdcall *createWmv9)(void);
 void (__stdcall *destroyWmv9)(Iff_wmv9 *self);
 int csp;
 Trect rd;
 int codecIndex;
 mutable char_t codecName[100];
protected:
 virtual LRESULT beginCompress(int cfgcomode,int csp,const Trect &r);
 virtual bool beginDecompress(TffPictBase &pict,FOURCC infcc,const CMediaType &mt,int sourceFlags);
public:
 virtual int getType(void) const {return IDFF_MOVIE_WMV9;}
 virtual const char_t* getName(void) const;

 virtual void getCompressColorspaces(Tcsps &csps,unsigned int outDx,unsigned int outDy);
 virtual bool supExtradata(void) {return true;}
 virtual bool getExtradata(const void* *ptr,size_t *len);
 virtual HRESULT compress(const TffPict &pict,TencFrameParams &params);
 virtual void end(void);

 virtual bool testMediaType(FOURCC fcc,const CMediaType &mt);
 virtual HRESULT decompress(const unsigned char *src,size_t srcLen,IMediaSample *pIn);
};

#endif

⌨️ 快捷键说明

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