Mercurial > mplayer.hg
view loader/com.h @ 13395:07708ec98d87
New MD5 sum video output driver. For every frame, it calculates the MD5 sum
and writes a list of those sums to an, optionally specified, output file.
It does not rely on external programs to be installed. The MD5 sum code is
borrowed from the uCIFS library, written by Christopher R. Hertel in 2004
and released under the LGPL license.
Note: This driver is not yet activated and will not be compiled and linked
to libvo. A separate patch will take care of that. This is just for adding
the files to the repository.
author | ivo |
---|---|
date | Mon, 20 Sep 2004 01:01:08 +0000 |
parents | 11cee15b1a8f |
children | f5537cc95b02 |
line wrap: on
line source
#ifndef AVIFILE_COM_H #define AVIFILE_COM_H #include "config.h" #ifdef HAVE_STDINT_H #include <stdint.h> #else #include <inttypes.h> #endif /** * Internal functions and structures for COM emulation code. */ #if !defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) #ifdef __cplusplus extern "C" { #endif void* CoTaskMemAlloc(unsigned long cb); void CoTaskMemFree(void* cb); #ifndef GUID_TYPE #define GUID_TYPE typedef struct { uint32_t f1; uint16_t f2; uint16_t f3; uint8_t f4[8]; } GUID; #endif extern const GUID IID_IUnknown; extern const GUID IID_IClassFactory; typedef long (*GETCLASSOBJECT) (GUID* clsid, const GUID* iid, void** ppv); int RegisterComClass(const GUID* clsid, GETCLASSOBJECT gcs); int UnregisterComClass(const GUID* clsid, GETCLASSOBJECT gcs); #ifndef STDCALL #define STDCALL __attribute__((__stdcall__)) #endif struct IUnknown; struct IClassFactory; struct IUnknown_vt { long STDCALL (*QueryInterface)(struct IUnknown* _this, const GUID* iid, void** ppv); long STDCALL (*AddRef)(struct IUnknown* _this) ; long STDCALL (*Release)(struct IUnknown* _this) ; } ; typedef struct IUnknown { struct IUnknown_vt* vt; } IUnknown; struct IClassFactory_vt { long STDCALL (*QueryInterface)(struct IUnknown* _this, const GUID* iid, void** ppv); long STDCALL (*AddRef)(struct IUnknown* _this) ; long STDCALL (*Release)(struct IUnknown* _this) ; long STDCALL (*CreateInstance)(struct IClassFactory* _this, struct IUnknown* pUnkOuter, const GUID* riid, void** ppvObject); }; struct IClassFactory { struct IClassFactory_vt* vt; }; long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, long dwClsContext, const GUID* riid, void** ppv); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* WIN32 */ #endif /* AVIFILE_COM_H */