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

📄 input.h

📁 由bmp生成mpeg2 的I_frame 数据
💻 H
字号:
//----------------------------------------------------------------------------------
//	擖椡僾儔僌僀儞 僿僢僟乕僼傽僀儖 for AviUtl version 0.98 埲崀
//	By 俲俤俶偔傫
//----------------------------------------------------------------------------------

//	擖椡僼傽僀儖忣曬峔憿懱
typedef struct {
	int					flag;				//	僼儔僌
											//	INPUT_INFO_FLAG_VIDEO	: 夋憸僨乕僞偁傝
											//	INPUT_INFO_FLAG_AUDIO	: 壒惡僨乕僞偁傝
	int					rate,scale;			//	僼儗乕儉儗乕僩
	int					n;					//	僼儗乕儉悢
	BITMAPINFOHEADER	*format;			//	夋憸僼僅乕儅僢僩傊偺億僀儞僞(師偵娭悢偑屇偽傟傞傑偱撪梕傪桳岠偵偟偰偍偔)
	int					format_size;		//	夋憸僼僅乕儅僢僩偺僒僀僘
	int					audio_n;			//	壒惡僒儞僾儖悢
	WAVEFORMATEX		*audio_format;		//	壒惡僼僅乕儅僢僩傊偺億僀儞僞(師偵娭悢偑屇偽傟傞傑偱撪梕傪桳岠偵偟偰偍偔)
	int					audio_format_size;	//	壒惡僼僅乕儅僢僩偺僒僀僘
	DWORD				handler;			//	夋憸codec僴儞僪儔
	int					reserve[7];
} INPUT_INFO;
#define	INPUT_INFO_FLAG_VIDEO	1
#define	INPUT_INFO_FLAG_AUDIO	2
//	仸夋憸僼僅乕儅僢僩偵偼RGB,YUY2偲僀儞僗僩乕儖偝傟偰偄傞codec偺傕偺偑巊偊傑偡丅
//	仸壒惡僼僅乕儅僢僩偵偼PCM偲僀儞僗僩乕儖偝傟偰偄傞codec偺傕偺偑巊偊傑偡丅

//	擖椡僼傽僀儖僴儞僪儖
typedef void*	INPUT_HANDLE;

//	擖椡僾儔僌僀儞峔憿懱
typedef struct {
	int		flag;				//	僼儔僌
								//	INPUT_PLUGIN_FLAG_VIDEO	: 夋憸傪僒億乕僩偡傞
								//	INPUT_PLUGIN_FLAG_AUDIO	: 壒惡傪僒億乕僩偡傞
	LPSTR	name;				//	僾儔僌僀儞偺柤慜
	LPSTR	filefilter;			//	擖椡僼傽僀儖僼傿儖僞
	LPSTR	information;		//	僾儔僌僀儞偺忣曬
	BOOL 	(*func_init)( void );
								//	DLL奐巒帪偵屇偽傟傞娭悢傊偺億僀儞僞 (NULL側傜屇偽傟傑偣傫)
	BOOL 	(*func_exit)( void );
								//	DLL廔椆帪偵屇偽傟傞娭悢傊偺億僀儞僞 (NULL側傜屇偽傟傑偣傫)
	INPUT_HANDLE (*func_open)( LPSTR file );
								//	擖椡僼傽僀儖傪僆乕僾儞偡傞娭悢傊偺億僀儞僞
								//	file	: 僼傽僀儖柤
								//	栠傝抣	: TRUE側傜擖椡僼傽僀儖僴儞僪儖
	BOOL 	(*func_close)( INPUT_HANDLE ih );
								//	擖椡僼傽僀儖傪僋儘乕僘偡傞娭悢傊偺億僀儞僞
								//	ih		: 擖椡僼傽僀儖僴儞僪儖
								//	栠傝抣	: TRUE側傜惉岟
	BOOL 	(*func_info_get)( INPUT_HANDLE ih,INPUT_INFO *iip );
								//	擖椡僼傽僀儖偺忣曬傪庢摼偡傞娭悢傊偺億僀儞僞
								//	ih		: 擖椡僼傽僀儖僴儞僪儖
								//	iip		: 擖椡僼傽僀儖忣曬峔憿懱傊偺億僀儞僞
								//	栠傝抣	: TRUE側傜惉岟
	int 	(*func_read_video)( INPUT_HANDLE ih,int frame,void *buf );
								//	夋憸僨乕僞傪撉傒崬傓娭悢傊偺億僀儞僞
								//	ih		: 擖椡僼傽僀儖僴儞僪儖
								//	frame	: 撉傒崬傓僼儗乕儉斣崋
								//	buf		: 僨乕僞傪撉傒崬傓僶僢僼傽傊偺億僀儞僞
								//	栠傝抣	: 撉傒崬傫偩僨乕僞僒僀僘
	int 	(*func_read_audio)( INPUT_HANDLE ih,int start,int length,void *buf );
								//	壒惡僨乕僞傪撉傒崬傓娭悢傊偺億僀儞僞
								//	ih		: 擖椡僼傽僀儖僴儞僪儖
								//	start	: 撉傒崬傒奐巒僒儞僾儖斣崋
								//	length	: 撉傒崬傓僒儞僾儖悢
								//	buf		: 僨乕僞傪撉傒崬傓僶僢僼傽傊偺億僀儞僞
								//	栠傝抣	: 撉傒崬傫偩僒儞僾儖悢
	BOOL 	(*func_is_keyframe)( INPUT_HANDLE ih,int frame );
								//	僉乕僼儗乕儉偐挷傋傞娭悢傊偺億僀儞僞 (NULL側傜慡偰僉乕僼儗乕儉)
								//	ih		: 擖椡僼傽僀儖僴儞僪儖
								//	frame	: 僼儗乕儉斣崋
								//	栠傝抣	: 僉乕僼儗乕儉側傜惉岟
	BOOL	(*func_config)( HWND hwnd,HINSTANCE dll_hinst );
								//	擖椡愝掕偺僟僀傾儘僌傪梫媮偝傟偨帪偵屇偽傟傞娭悢傊偺億僀儞僞 (NULL側傜屇偽傟傑偣傫)
								//	hwnd		: 僂傿儞僪僂僴儞僪儖
								//	dll_hinst	: 僀儞僗僞儞僗僴儞僪儖
								//	栠傝抣		: TRUE側傜惉岟
	int		reserve[16];
} INPUT_PLUGIN_TABLE;
#define	INPUT_PLUGIN_FLAG_VIDEO		1
#define	INPUT_PLUGIN_FLAG_AUDIO		2

BOOL func_init( void );
BOOL func_exit( void );
INPUT_HANDLE func_open( LPSTR file );
BOOL func_close( INPUT_HANDLE ih );
BOOL func_info_get( INPUT_HANDLE ih,INPUT_INFO *iip );
int func_read_video( INPUT_HANDLE ih,int frame,void *buf );
int func_read_audio( INPUT_HANDLE ih,int start,int length,void *buf );
BOOL func_is_keyframe( INPUT_HANDLE ih,int frame );
BOOL func_config( HWND hwnd,HINSTANCE dll_hinst );


⌨️ 快捷键说明

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