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 + -
显示快捷键?