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

📄 vfapi.h

📁 由bmp生成mpeg2 的I_frame 数据
💻 H
字号:
/*
 *  64價僢僩惍悢宆傪 DWORD 宆擇偮偵暘偗偰愰尵偟偨僶乕僕儑儞
 */
#ifndef VFAPI_H
#define VFAPI_H

#define	VF_STREAM_VIDEO 0x00000001
#define	VF_STREAM_AUDIO 0x00000002
#define	VF_OK           0x00000000
#define	VF_ERROR        0x80004005

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwAPIVersion;        /* Video File API 偺僶乕僕儑儞 */
	DWORD	dwVersion;           /* 偙偺僾儔僌僀儞偺僶乕僕儑儞 */
	DWORD	dwSupportStreamType; /* 偙偺僾儔僌僀儞偑僒億乕僩偡傞僗僩儕乕儉偺庬椶 */
	                             /* 椺偊偽塮憸偲壒惡傪僒億乕僩偟偰偄傞応崌丄VF_STREAM_VIDEO or VF_STREAM_AUDIO 偑擖傞 */
        char	cPluginInfo[256];    /* 偙偺僾儔僌僀儞偺忣曬丅椺丗AVI 僼傽僀儖儕乕僟乕 ver 1.0 */
	char	cFileType[256];      /* 僼傽僀儖僟僀傾儘僌偱巊傢傟傞僼傿儖僞丅椺丗AVI 僼傽僀儖(*.avi)|*.avi */
} VF_PluginInfo,*LPVF_PluginInfo;

typedef	DWORD	VF_FileHandle,*LPVF_FileHandle;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwHasStreams;        /* 偙偺僼傽僀儖偑曐帩偡傞僗僩儕乕儉偺庬椶丅 */
                                     /* 椺偊偽塮憸偲壒惡偑偁傞応崌丄VF_STREAM_VIDEO or VF_STREAM_AUDIO 偑擖傞 */
} VF_FileInfo,*LPVF_FileInfo;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwLengthL;           /* 僼儗乕儉悢(俇係價僢僩惍悢)乮壓埵俁俀價僢僩乯 */
	DWORD	dwLengthH;           /* 僼儗乕儉悢(俇係價僢僩惍悢)乮忋埵俁俀價僢僩乯*/
	DWORD	dwRate;              /* 僼儗乕儉儗乕僩丅幚嵺偺僼儗乕儉儗乕僩偼 dwRate/dwScale 偱媮傔傞 */
	DWORD	dwScale;             /* 僼儗乕儉儗乕僩偺僗働乕儖 */
	DWORD	dwWidth;             /* 塮憸偺暆 */
	DWORD	dwHeight;            /* 塮憸偺崅偝 */
	DWORD	dwBitCount;          /* 塮憸偺價僢僩悢(24 偺傒) */
} VF_StreamInfo_Video,*LPVF_StreamInfo_Video;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwLengthL;           /* 僒儞僾儖悢(俇係價僢僩惍悢)乮壓埵俁俀價僢僩乯*/
	DWORD	dwLengthH;           /* 僒儞僾儖悢(俇係價僢僩惍悢)乮忋埵俁俀價僢僩乯*/
	DWORD	dwRate;              /* 僒儞僾儕儞僌廃攇悢丅幚嵺偺僒儞僾儕儞僌廃攇悢偼 dwRate/dwScale 偱媮傔傞 */
	DWORD	dwScale;             /* 僒儞僾儕儞僌廃攇悢偺僗働乕儖 */
	DWORD	dwChannels;          /* 僠儍儞僱儖悢(1, 2 偺偄偢傟偐) */
	DWORD	dwBitsPerSample;     /* 價僢僩悢(8, 16 偺偄偢傟偐) */
	DWORD	dwBlockAlign;        /* 侾僒儞僾儖摉偨傝偺僶僀僩悢 */
} VF_StreamInfo_Audio,*LPVF_StreamInfo_Audio;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwFrameNumberL;      /* 撉傒弌偟偨偄僼儗乕儉斣崋乮壓埵俁俀價僢僩乯*/
	DWORD	dwFrameNumberH;      /* 撉傒弌偟偨偄僼儗乕儉斣崋乮忋埵俁俀價僢僩乯*/
	void	*lpData;             /* 塮憸僨乕僞偺奿擺愭丅巜掕偟偨倄嵗昗偺儔僀儞傊偺億僀儞僞偼 (lpData + lPitch*Y) 偲偟偰媮傔傞丅 */
	long	lPitch;              /* 師偺儔僀儞傊偺僆僼僙僢僩 */
} VF_ReadData_Video,*LPVF_ReadData_Video;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	DWORD	dwSamplePosL;        /* 撉傒弌偟偨偄僒儞僾儖斣崋乮壓埵俁俀價僢僩乯*/
	DWORD	dwSamplePosH;        /* 撉傒弌偟偨偄僒儞僾儖斣崋乮忋埵俁俀價僢僩乯*/
	DWORD	dwSampleCount;       /* 撉傒弌偟偨偄僒儞僾儖悢 */
	DWORD	dwReadedSampleCount; /* 撉傒弌偟偨僒儞僾儖悢 */
	DWORD	dwBufSize;           /* 僶僢僼傽偺僒僀僘 */
	void	*lpBuf;              /* 撉傒弌偟愭偺僶僢僼傽 */
} VF_ReadData_Audio,*LPVF_ReadData_Audio;

typedef	struct {
	DWORD	dwSize;              /* 偙偺峔憿懱偺僒僀僘 */
	HRESULT (_stdcall *OpenFile)( char *lpFileName,LPVF_FileHandle lpFileHandle);
	HRESULT (_stdcall *CloseFile)( VF_FileHandle hFileHandle);
	HRESULT (_stdcall *GetFileInfo)( VF_FileHandle hFileHandle,LPVF_FileInfo lpFileInfo );
	HRESULT (_stdcall *GetStreamInfo)( VF_FileHandle hFileHandle,DWORD dwStream,void *lpStreamInfo );
	HRESULT (_stdcall *ReadData)( VF_FileHandle hFileHandle,DWORD dwStream,void *lpData ); 
} VF_PluginFunc,*LPVF_PluginFunc;

/*
HRESULT _stdcall vfGetPluginInfo( LPVF_PluginInfo lpPluginInfo );
HRESULT _stdcall vfGetPluginFunc( LPVF_PluginFunc lpPluginFunc );
*/

#endif /* VFAPI_H */

⌨️ 快捷键说明

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