ffglobals.h.svn-base
来自「ffshow源码」· SVN-BASE 代码 · 共 619 行 · 第 1/2 页
SVN-BASE
619 行
template<class T> operator T*() const {return (T*)buf;} };template<class T,class alloc=std::allocator<T> > struct vectorEx :public std::vector<T,alloc>{private: void add(const T &t1,va_list marker) { push_back(t1); while (T t=va_arg(marker,T)) push_back(t); }public: vectorEx(void) {} vectorEx(T t) { push_back(t); } vectorEx(T t1,T t2,...) { if (!t1) return; push_back(t1); va_list marker; va_start(marker,t2); if (t2) add(t2,marker); va_end(marker); } void add(T t) { push_back(t); } void add(T t1,T t2,...) { push_back(t1); va_list marker; va_start(marker,t2); if (t2) add(t2,marker); va_end(marker); } void addEnd(T tend,T t1,T t2,...) { push_back(t1); push_back(t2); va_list marker; va_start(marker,t2); T t; while ((t=va_arg(marker,T))!=tend) push_back(t); va_end(marker); }};struct YUVcolor{ unsigned char Y; char U,V; YUVcolor(void) {Y=U=V=0;} YUVcolor(COLORREF rgb,bool vob=false);};enum{ rfReplaceAll=1, rfIgnoreCase=2};template<class replstring,class ffstring> static inline replstring stringreplace0(const replstring &s0,const ffstring &oldstr,const ffstring &newstr,int flags){ replstring s=s0; size_t pos=replstring::npos+1,oldstrsize=oldstr.size(),newstrsize=newstr.size(); for (;;) { pos=s.find(oldstr,pos); if (pos==replstring::npos) break; s.replace(pos,oldstrsize,newstr); if ((flags&rfReplaceAll)==0) break; pos+=newstrsize; } return s;}#if defined(__INTEL_COMPILER) || defined(__GNUC__) || (_MSC_VER>=1300)template<template<class char_t> class replstring> replstring<char> stringreplace(const replstring<char> &s0,const DwString<char> &oldstr,const DwString<char> &newstr,int flags=0){ return stringreplace0< replstring<char>,DwString<char> >(s0,oldstr,newstr,flags);}template<template<class char_t> class replstring> replstring<wchar_t> stringreplace(const replstring<wchar_t> &s0,const DwString<wchar_t> &oldstr,const DwString<wchar_t> &newstr,int flags=0){ return stringreplace0< replstring<wchar_t>,DwString<wchar_t> >(s0,oldstr,newstr,flags);}#endif#ifndef HKEY_PERFORMANCE_TEXT#define HKEY_PERFORMANCE_TEXT (( HKEY ) (ULONG_PTR)((LONG)0x80000050) )#endif#ifndef HKEY_PERFORMANCE_NLSTEXT#define HKEY_PERFORMANCE_NLSTEXT (( HKEY ) (ULONG_PTR)((LONG)0x80000060) )#endif#ifndef ListView_SetExtendedListViewStyleEx#define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)\ (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw)#endif#ifndef ListView_SetItemCountEx#define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) \ SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags))#endif#ifndef ListView_SetCheckState#define ListView_SetCheckState(hwndLV, i, fCheck) \ ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STATEIMAGEMASK)#endif#ifndef ListView_GetCheckState#define ListView_GetCheckState(hwndLV, i) \ ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK))) >> 12) -1)#endif#ifndef OFN_ENABLESIZING#define OFN_ENABLESIZING 0x00800000#endif#ifndef TV_SORTCBtypedef struct tagTVSORTCB{ HTREEITEM hParent; PFNTVCOMPARE lpfnCompare; LPARAM lParam;} TVSORTCB, *LPTVSORTCB;#endif#ifdef __GNUC__typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;#endif#ifndef TVN_GETINFOTIP#define TVN_GETINFOTIPA (TVN_FIRST-13)#define TVN_GETINFOTIP TVN_GETINFOTIPA#endif#ifndef NMTVGETINFOTIP#define TVN_GETINFOTIP TVN_GETINFOTIPA#define NMTVGETINFOTIP NMTVGETINFOTIPA#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPAtypedef struct tagNMTVGETINFOTIPA{ NMHDR hdr; LPSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam;} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;#endif#ifndef LPTV_HITTESTINFO#define LPTV_HITTESTINFO LPTVHITTESTINFO#define TV_HITTESTINFO TVHITTESTINFOtypedef struct tagTVHITTESTINFO { POINT pt; UINT flags; HTREEITEM hItem;} TVHITTESTINFO, *LPTVHITTESTINFO;#endif#ifndef INVALID_FILE_ATTRIBUTES#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)#endif#ifndef TVS_NOHSCROLL#define TVS_NOHSCROLL 0x8000#endif#ifndef LVN_GETINFOTIPtypedef struct tagNMLVGETINFOTIPA{ NMHDR hdr; DWORD dwFlags; LPSTR pszText; int cchTextMax; int iItem; int iSubItem; LPARAM lParam;} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;typedef struct tagNMLVGETINFOTIPW{ NMHDR hdr; DWORD dwFlags; LPWSTR pszText; int cchTextMax; int iItem; int iSubItem; LPARAM lParam;} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;// NMLVGETINFOTIPA.dwFlag values#define LVGIT_UNFOLDED 0x0001#define LVN_GETINFOTIPA (LVN_FIRST-57)#define LVN_GETINFOTIPW (LVN_FIRST-58)#ifdef UNICODE#define LVN_GETINFOTIP LVN_GETINFOTIPW#define NMLVGETINFOTIP NMLVGETINFOTIPW#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW#else#define LVN_GETINFOTIP LVN_GETINFOTIPA#define NMLVGETINFOTIP NMLVGETINFOTIPA#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA#endif#ifndef GWLP_USERDATA#define GWLP_USERDATA GWL_USERDATA#endif#ifndef GWLP_WNDPROC#define GWLP_WNDPROC GWL_WNDPROC#endif#ifndef DWLP_MSGRESULT#define DWLP_MSGRESULT DWL_MSGRESULT#endif#endif#ifndef __IPropertyPageSite_INTERFACE_DEFINED__#define PROPPAGESTATUS_CLEAN 0x4#endif// encodingstruct ENC_MODE{ enum { UNKNOWN =-1, CBR = 0, VBR_QUAL = 1, VBR_QUANT = 2, PASS2_1 = 3, PASS2_2_EXT = 4, PASS2_2_INT = 5 };};extern const char_t *encQuantTypes[];struct Taspect{ const char_t *caption; float x,y;};extern const Taspect sampleAspects[],displayAspects[];struct FFSTATS{ enum { UNUSED=0, WRITE=1, READ=2, RW=WRITE|READ };};struct CREDITS_MODE{ enum { PERCENT=0, QUANT =1, SIZE =2 };};struct CREDITS_POS{ enum { NONE =0, START=1, END =2 };};struct QUANT{ enum { H263 =0, MPEG =1, MOD =2, MOD_NEW=3, CUSTOM =4, JVT =5 };};struct TmultipleInstances{ int id; const char_t *name;};extern const TmultipleInstances multipleInstances[];#endif //FFDEFS_STRICT#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?