Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
CXvid.h
Package: VC++视频传输.rar [view]
Upload User: hxb_1234
Upload Date: 2010-03-30
Package Size: 8328k
Code Size: 4k
Category:
Visual C++ Books
Development Platform:
Visual C++
- // CXvid.h: interface for the CXvid class.
- //
- //////////////////////////////////////////////////////////////////////
- #if !defined(AFX_CXVID_H__419F60F2_C37F_4106_8F08_ED571A40C344__INCLUDED_)
- #define AFX_CXVID_H__419F60F2_C37F_4106_8F08_ED571A40C344__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include "vfw.h"
- #include "InputFile.h"
- #include "VideoSource.h"
- #include "AudioSource.h"
- #include "CLogFile.h"
- class CXvid
- {
- public:
- CXvid();
- virtual ~CXvid();
- typedef struct
- {
- bool isIFrame;
- int qvalue;
- int framesize;
- } QUANTS;
- int Open(CString filepath); //打开AVI文件,并且设置全局通用属性
- int Analyze(CProgressCtrl &progress, CEdit &edit, bool log, int start, int stop); //分析AVI文件
- void Close(void); //释放使用的内存,并且重新初始化
- float GetRate(void) {return fps;}; //返回AVI文件的 FPS
- void SetRate(float rate) {fps = rate;}; //设置AVI文件的 FPS
- int GetWidth(void) {return width;}; //返回剪辑的宽度
- void SetWidth(int w) {width = w;}; //设置剪辑的宽度
- int GetHeight(void) {return height;}; //返回剪辑的高度
- void SetHeight(int h) {height = h;}; //设置剪辑的高度
- CString GetAviPath(void) {return avipath;}; //返回AVI文件的路径
- int GetFrameCount(void) {return nframes;}; //返回帧的全部数目
- void SetFrameCount(int fcount) {nframes = fcount;}; //设置帧的全部数目
- int GetIFrameCount(void) {return icount;}; //返回全部I帧的数目
- void SetIFrameCount(int ifcount) {icount = ifcount;};//设置全部I帧的数目
- int GetPFrameCount(void) {return pcount;}; //返回全部P帧的数目
- void SetPFrameCount(int pfcount) {pcount = pfcount;};//设置全部P帧的数目
- float GetAvgQuants(void) {return navg;}; //返回quants的平均值
- void SetAvgQuants(float avg) {navg = avg;}; //设置quants的平均值
- int GetMinQuant(void) {return nmin;}; //返回quant的最小值
- void SetMinQuant(int min) {nmin = min;}; //设置quant的最小值
- int GetMaxQuant(void) {return nmax;}; //返回quant的最大值
- void SetMaxQuant(int max) {nmax = max;}; //设置quant的最大值
- float GetPAvgQuants(void) {return pavg;}; //返回P帧的quants的平均值
- void SetPAvgQuants(float avg) {pavg = avg;}; //设置P帧的quants的平均值
- float GetIAvgQuants(void) {return iavg;}; //返回I帧的quants的平均值
- void SetIAvgQuants(float avg) {iavg = avg;}; //设置I帧的quants的平均值
- int GetMaxFrameSize(void) {return nfsmax;}; //返回最大帧的大小
- void SetMaxFrameSize(int max) {nfsmax = max;};
- int GetMinFrameSize(void) {return nfsmin;}; //返回最小帧的大小
- void SetMinFrameSize(int min) {nfsmin = min;};
- int GetIMaxFrameSize(void) {return ifsmax;}; //返回最大I帧的大小
- void SetIMaxFrameSize(int max) {ifsmax = max;};
- int GetIMinFrameSize(void) {return ifsmin;}; //返回最小I帧的大小
- void SetIMinFrameSize(int min) {ifsmin = min;};
- int GetPMaxFrameSize(void) {return pfsmax;}; //返回最大P帧的大小
- void SetPMaxFrameSize(int max) {pfsmax = max;};
- int GetPMinFrameSize(void) {return pfsmin;}; //返回最小P帧的大小
- void SetPMinFrameSize(int min) {pfsmin = min;};
- QUANTS* GetQuantsArray(void) {return quants;}; //返回整个quants数组
- void SetQuantsArray(QUANTS* qvalues, int nelem); //根据文件初始化quants数组
- bool IsOpened(void) {return isOpened;}; //如果文件被加载了,返回真
- void SetOpened(bool flag) {isOpened = flag;}; //设置文件打开状态
- bool IsAnalysed(void) {return isAnalysed;}; //如果文件被分析了,返回真
- void SetAnalysed(bool flag) {isAnalysed = flag;}; //设置分析状态
- private:
- CString avipath; //xvid文件的绝对路径
- CLogFile logfile; //日志对象
- bool isOpened; //xvid文件是否被打开了?
- bool isAnalysed; //xvid文件是否被分析了?
- QUANTS* quants; //所有帧的quant数组
- float fps; //每秒的帧数
- int width; //视频的宽度
- int height; //视频的高度
- int nframes; //帧的数目
- int nmax; //quantizer的最大值
- int nmin; //quantizer的最小值
- int nsum; //quantizers的和
- float navg; //quantizers的平均值
- int nfsmax; //帧大小的最大值
- int nfsmin; //帧大小的最小值
- int icount; //I帧的数目
- int isum; //I帧的数目
- float iavg; //I帧的数目
- int ifsmax; //I帧大小的最大值
- int ifsmin; //I帧大小的最小值
- int pcount; //P帧的数目
- int psum; //P帧的数目
- float pavg; //P帧的数目
- int pfsmax; //P帧大小的最大值
- int pfsmin; //P帧大小的最小值
- };
- #endif // !defined(AFX_CXVID_H__419F60F2_C37F_4106_8F08_ED571A40C344__INCLUDED_)