亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dsstream.h

?? 基于SDK的圖像采集程序
?? H
字號:
/*************************************************
**
** 文件名:DSStream.h
**
** 創建者:10Moons xiyi
**
** 創建時間:2001.02.25
**
** 最后更新:2001.07.31
**
** 說明:DSStream.dll API 函數的聲明文件, ver 5.2
**
**************************************************/

#if !defined(DSSTREAM_H_2000_10_18)
#define DSSTREAM_H_2000_10_18

//用于枚舉設備
//涉及函數:
//	DSStream_EnumVideoCaptureDev()
//	DSStream_EnumAudioCaptureDev()
#define MAX_DEVICE_NAME_LEN	80
#define MAX_DEVICE_NUM		32

//用于控制視頻流的狀態
//涉及函數:
//	DSStream_GetStreamStatus()
//	DSStream_SetStreamStatus()
#define RUN		0
#define PAUSE	1
#define STOP	2

//分別代表 Capture Pin 和 Preview Pin
//前者用于渲染錄像流,后者用于渲染顯示流
//涉及函數:
//	DSStream_GetVideoInfo()
//	DSStream_SetVideoInfo()
//	DSStream_ConnectPin()
//	DSStream_DeconnectPin()
#define CAPTURE	1
#define PREVIEW	2

//分別表示無人使用音頻設備和音頻設備不存在
//涉及函數:
//	DSStream_WhoIsCapturingAudio()
#define AUDIO_DEVICE_NO_USED	-1
#define AUDIO_DEVICE_NO_EXIST	-2

//視頻的子類型:RGB555、RGB24、YV12
//涉及:
//	結構 VIDEOSTREAMINFO
typedef enum
{
	VideoSubType_None = -1,
	VideoSubType_RGB555 = 0,
	VideoSubType_RGB24,
	VideoSubType_YUY2,
	VideoSubType_YVU9,
	VideoSubType_YV12,
} VideoSubType;

//視頻流的各種信息
//涉及函數:
//	DSStream_GetVideoInfo()
//	DSStream_SetVideoInfo()
typedef struct
{
	VideoSubType		subtype;
	RECT				rcSource;
	RECT				rcTarget;
	DWORD				dwBitRate;
	DWORD				dwBitErrorRate;
	LONGLONG			AvgTimePerFrame;//幀率
	BITMAPINFOHEADER	bmiHeader;		//寬、高、顏色位率等
} VIDEOSTREAMINFO;

//調用系統對話框設置各種音、視頻屬性
//涉及函數:
//	DSStream_IsPropertyExist()
//	DSStream_DisplayPropertyDialogs()
typedef enum
{
	PropertyDlg_VideoCaptureFilter = 0,
	PropertyDlg_VideoCapturePin,	// *
	PropertyDlg_VideoPreviewPin,	// *
	PropertyDlg_VideoCrossbar,
	PropertyDlg_AudioCaptureFilter,
	PropertyDlg_AudioCapturePin,
	PropertyDlg_AudioCrossbar,
	PropertyDlg_TVAudioFilter,
	PropertyDlg_TVTuner,
	PropertyDlg_VfwCaptureFormat,	// *
	PropertyDlg_VfwCaptureSource,
	PropertyDlg_VfwCaptureDisplay,
} PropertyDialog;

//調用DirectShow COM 接口函數設置各種視頻圖像屬性
//涉及函數:
//	DSStream_GetVideoPropertyValue()
//	DSStream_SetVideoPropertyValue()
typedef enum
{
	VideoProperty_Brightness = 0,	//亮度
	VideoProperty_Contrast,			//對比度
	VideoProperty_Hue,				//色度
	VideoProperty_Saturation,		//飽和度
	VideoProperty_Gamma,			//Gamma校驗
	VideoProperty_ColorEnable,		
	VideoProperty_WhiteBalance,		//白平衡
	VideoProperty_BacklightCompensation,
} VideoProperty;

//視頻圖像屬性的各個值
//涉及函數:
//	DSStream_GetVideoPropertyValue()
typedef struct 
{
	long lValue;		//當前值
	long lMin;			//最小值
	long lMax;			//最大值
	long lStepDelta;	//最小步進值
	long lDefault;		//默認值
	long lCapsFlags;	//風格
} VIDEOPROPERTYRANGE;

//各種視頻端口
//涉及函數:
//	DSStream_GetVideoStandard()
//	DSStream_SetVideoStandard()
typedef enum
{
	VideoStandard_None		= 0x00000000,
	VideoStandard_NTSC_M	= 0x00000001, 
	VideoStandard_NTSC_M_J	= 0x00000002,  
	VideoStandard_NTSC_433	= 0x00000004,
	VideoStandard_PAL_B		= 0x00000010,
	VideoStandard_PAL_D		= 0x00000020,
	VideoStandard_PAL_H		= 0x00000080,
	VideoStandard_PAL_I		= 0x00000100,
	VideoStandard_PAL_M		= 0x00000200,
	VideoStandard_PAL_N		= 0x00000400,
	VideoStandard_PAL_60	= 0x00000800,
	VideoStandard_SECAM_B	= 0x00001000,
	VideoStandard_SECAM_D	= 0x00002000,
	VideoStandard_SECAM_G	= 0x00004000,
	VideoStandard_SECAM_H	= 0x00008000,
	VideoStandard_SECAM_K	= 0x00010000,
	VideoStandard_SECAM_K1	= 0x00020000,
	VideoStandard_SECAM_L	= 0x00040000,
	VideoStandard_SECAM_L1	= 0x00080000,
} VideoStandard;

//視頻狀態改變或錄像錯誤的代號:
//它作為LPARAM的低兩個字節傳給窗口(LPARAM的高兩個字節表示卡號),
//即:Card ID = (LPARAM>>16) & 0x0000FFFFL,Errod code = (LPARAM & 0x0000FFFFL)
//涉及函數:
//	DSStream_SetNotifyWindow()
//	DSStream_ManageNotifyMessage()
typedef enum
{
	Error_FirstNotifyMsg = 0x1234,	//收到這個錯誤,必須調用 DSStream_ManageNotifyMessage()
	Error_DiskFull,				//磁盤已滿:wparam=0
	Error_VideoSizeChange,		//視頻流尺寸改變:height=HIWORD(wparam), width=LOWORD(wparam)
	Error_StreamStatusChange,	//視頻流狀態改變:wparam=0
	Error_CaptureError,			//錄像異常:wparam=HRESULT: error value
} DSStreamError;

//視頻壓縮Filter的信息
//涉及函數:
//	DSStream_EnumVideoCompressor()
typedef struct VIDEOCOMPRESSORINFO
{
	char szName[80];
} VideoCompressorInfo;

//初始化和反初始化
HRESULT DSStream_Initialize();
void	DSStream_Uninitialize();

//枚舉系統中存在的視頻、音頻捕捉設備
HRESULT	DSStream_EnumVideoCaptureDev(
		char szDevName[MAX_DEVICE_NUM][MAX_DEVICE_NAME_LEN],
		int *pDevNum);
HRESULT	DSStream_EnumAudioCaptureDev(
		char szDevName[MAX_DEVICE_NUM][MAX_DEVICE_NAME_LEN],
		int *pDevNum);

//連接和斷開視頻捕捉設備
//	iVideoDevID:視頻捕捉設備的序號(以0為基數)
//	bOverlay:TURE-Overlay, FALSE-Preview
HRESULT	DSStream_ConnectDevice(int iCardID, BOOL bOverlay, HWND hParentWnd = NULL);
HRESULT DSStream_DisconnectDevice(int iCardID);

//獲得關于多卡的數據
HRESULT DSStream_GetCardNumber(int * pCardNum);
HRESULT DSStream_IsConnected(int iCardID, BOOL * bConnected);

//誰獲得聲卡的使用權
void DSStream_WhoIsCapturingAudio(int * pCardID);

//視頻顯示窗口的父窗口
HRESULT DSStream_SetOwnerWnd(int iCardID, HWND hParentWnd);
HRESULT DSStream_GetOwnerWnd(int iCardID, HWND* phParentWnd);

//視頻顯示窗口在父窗口中的位置
HRESULT DSStream_SetWindowPos(int iCardID, RECT rc);
HRESULT DSStream_GetWindowPos(int iCardID, RECT* prc);

//錄像時的.avi文件名
void DSStream_SetCaptureFile(int iCardID, LPCTSTR szFileName);
//開始錄像
void DSStream_StartCapture(int iCardID);
//停止錄像
void DSStream_StopCapture(int iCardID);
//是否正在錄像
void DSStream_IsCapturing(int iCardID, BOOL* bIsCapturing);

//設置后,視頻顯示窗口的鍵盤和鼠標消息將發往窗口 hWnd
HRESULT DSStream_SetMessageDrain(int iCardID, HWND hWnd);

//設置后,每當DSStreamError產生時,窗口 hWnd 都將收到消息 lMsg(LPARAM = DSStreamError)
HRESULT DSStream_SetNotifyWindow(int iCardID, HWND hWnd, long lMsg);
//分析當前產生的事件,發送消息 lMsg 到窗口 hWnd
void DSStream_ManageNotifyMessage(int iCardID);

//全屏
HRESULT DSStream_FullScreen(int iCardID, BOOL bFullSrc);
HRESULT DSStream_IsFullSrcMode(int iCardID, BOOL* bIsFull);

//視頻流的信息
//	pin:CAPTURE Pin 或 PREVIEW Pin
HRESULT DSStream_GetVideoInfo(int iCardID, VIDEOSTREAMINFO * pVSI, int pin);
HRESULT DSStream_SetVideoInfo(int iCardID, VIDEOSTREAMINFO vsi, int pin);

//調用系統對話框設置各種音、視頻屬性
//	id:屬性代號
//	hParentWnd:系統對話框的父窗口
//	szCaption:系統對話框的標題
HRESULT DSStream_DisplayPropertyDialogs(int iCardID, PropertyDialog id, HWND hParentWnd, LPCTSTR szCaption=NULL);
//各種音、視頻屬性是否可被調用
HRESULT DSStream_IsPropertyExist(int iCardID, PropertyDialog id, BOOL* bReturn);

//各種視頻圖像屬性
HRESULT DSStream_GetVideoPropertyValue(int iCardID, VideoProperty id, VIDEOPROPERTYRANGE* pVPR);
HRESULT DSStream_SetVideoPropertyValue(int iCardID, VideoProperty id, long value);
//專用于四路卡:在四路同屏時調節單路圖像的視頻屬性
HRESULT DSStream_GetVideoPropertyValue_Ex(int iCardID, long lWay, VideoProperty id, long * pValue);
HRESULT DSStream_SetVideoPropertyValue_Ex(int iCardID, long lWay, VideoProperty id, long lValue);

//視頻端口
HRESULT DSStream_RouteInPinToOutPin(int iCardID, int idInPin, int idOutPin);
HRESULT DSStream_WhatInPinRouteToOutPin(int iCardID, int idOutPin, long* pInPin);

//視頻制式
//	VideoStandard:當前制式
//	pAvailable:返回設備支持的所有制式
HRESULT DSStream_GetVideoStandard(int iCardID, VideoStandard* pVideoStandard, long* pAvailable);
HRESULT DSStream_SetVideoStandard(int iCardID, VideoStandard vs);

//快照:JPG
//	szFileName:.jpg 文件的全路徑名
//	iQuality:壓縮質量(10-100)
HRESULT DSStream_SaveToJpgFile(int iCardID, LPCTSTR szFileName, int iQuality);
//快照:BMP
HRESULT DSStream_SaveToBmpFile(int iCardID, LPCTSTR szFileName);
//得到當前圖像的 DIB 數據。若 pBuffer 等于 NULL,pSize 得到保存圖像所需要的內存大小
HRESULT DSStream_GetCurrentDib(int iCardID, BYTE* pBuffer, long* pSize);

//當前的顯示狀態
HRESULT DSStream_GetStreamStatus(int iCardID, int* pStatus);
HRESULT DSStream_SetStreamStatus(int iCardID, int status);

//錄像時是否使用自定義的幀率(duFrameRate = 0-30)
void DSStream_SetFrameRateOnCapture(int iCardID, BOOL bUseFrameRate, double duFrameRate);
void DSStream_IsUseFrameRate(int iCardID, BOOL* pYesOrNo);

//錄像時是否捕捉音頻
void DSStream_IsCaptureAudio(int iCardID, BOOL* bCaptureAudio);
void DSStream_SetCaptureAudio(int iCardID, BOOL* bCaptureAudio);

//斷開、連接某個Pin上連接的所有Filter
void DSStream_DisconnectPin(int iCardID, int pin);
void DSStream_ConnectPin(int iCardID, int pin);

//調試用:打印所有Filter的連接狀況到文件 szFile 中
void DSStream_ListAllFilter(int iCardID, LPCTSTR szFile);

//察看 PREVIEW Pin 是否存在
HRESULT DSStream_IsPreviewPinExisted(int iCardID, BOOL* pbExisted);

//獲取DIB數據流
extern "C"
{
typedef void (__stdcall *VideoStreamProc) (const BYTE* pDIBHead, const BYTE* pDIBits, LPVOID pParam);
}
HRESULT DSStream_GetVideoStream(int iCardID, VideoStreamProc proc, LPVOID pParam);

//設置Logo、Time、Date的顯示
//	設置表示Logo的BMP文件,必須為24位,最左下角的一點為透明色
HRESULT DSStream_SetLogoFile(int iCardID, LPCTSTR szFilename);
//	顯示或隱藏Logo
HRESULT DSStream_ShowLogo(int iCardID, BOOL bShow, int x, int y);
//	顯示或隱藏Time
HRESULT DSStream_ShowTime(int iCardID, BOOL bShow, int x, int y);
//	顯示或隱藏Date
HRESULT DSStream_ShowDate(int iCardID, BOOL bShow, int x, int y);
//	是否在由DSStream_GetVideoStream()得到的數據流中顯示Logo、Time、Date
//	影響的函數:
//		DSStream_GetVideoStream()
HRESULT DSStream_ShowLogoTimeOnUserStream(int iCardID, BOOL bShow);

//專用于帶矩陣的四路卡:矩陣調節,以 0 為基數
//idCamera >= 32 時,第 idWay 路無圖像。
HRESULT DSStream_ChooseCamera_Ex(int iCardID, BYTE idWay, BYTE idCamera);

//得到視頻壓縮Filter的信息
HRESULT DSStream_EnumVideoCompressor(VideoCompressorInfo * pInfo, int * piVidCompNum);
//選擇視頻壓縮算法
HRESULT DSStream_ChooseVideoCompressor(LPCTSTR szCompName);
//看看當前使用的是什么壓縮算法
HRESULT DSStream_GetCurrentVideoCompressor(LPSTR pszCompName);
//視頻壓縮的質量(0--100)
HRESULT DSStream_GetVideoCompressorQuality(int * piQuality);
HRESULT DSStream_SetVideoCompressorQuality(int iQuality);

//檢測當前的視頻輸入端口上是否有信號輸入
HRESULT DSStream_IsVideoSignalLocked(int iCardID, BOOL * bIsSignalLocked);

#endif //!defined(DSSTREAM_H_2000_10_18)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人亚洲一区二区一| 丁香啪啪综合成人亚洲小说| 国产精品伦理在线| 国产日产欧美一区| 国产色产综合色产在线视频| 国产视频视频一区| 中文一区二区完整视频在线观看| 亚洲国产精品t66y| 亚洲欧美激情一区二区| 亚洲午夜精品网| 日韩精品亚洲一区二区三区免费| 日本成人在线不卡视频| 青青草原综合久久大伊人精品 | 日韩你懂的在线观看| 欧美一区二区在线免费播放| 337p亚洲精品色噜噜噜| 日韩女优电影在线观看| 国产农村妇女精品| 国产精品污www在线观看| 亚洲老妇xxxxxx| 日韩不卡在线观看日韩不卡视频| 国内精品在线播放| 色偷偷一区二区三区| 欧美一区二区精美| 国产欧美精品国产国产专区| 亚洲天堂精品视频| 石原莉奈在线亚洲三区| 成人免费观看av| 欧美日韩黄色一区二区| 久久这里只有精品首页| 一区二区高清免费观看影视大全 | 亚洲同性同志一二三专区| 亚洲欧美激情一区二区| 日韩av网站在线观看| 国产精品羞羞答答xxdd| 在线看日本不卡| 欧美经典一区二区| 午夜av区久久| 不卡的电视剧免费网站有什么| 在线观看一区不卡| 久久久久99精品一区| 亚洲福利一区二区| www.欧美日韩国产在线| 精品欧美黑人一区二区三区| 亚洲女爱视频在线| 国产精品456露脸| 91精品国产乱码久久蜜臀| 中文字幕一区视频| 国产乱码字幕精品高清av| 欧美日韩免费不卡视频一区二区三区| 国产三级精品三级在线专区| 日本中文字幕一区二区视频 | 国产99久久久久久免费看农村| 91久久国产最好的精华液| 欧美激情资源网| 久久99精品国产| 欧美日韩中文字幕精品| 综合精品久久久| 国产成人亚洲综合色影视| 日韩欧美一级精品久久| 日本美女一区二区| 欧美日韩国产小视频| 亚洲欧洲日产国码二区| 高清视频一区二区| 久久久久久一级片| 国内精品伊人久久久久av影院 | 国产精品资源在线| 日韩视频一区在线观看| 日韩精品亚洲一区二区三区免费| 在线观看不卡一区| 亚洲在线免费播放| 在线观看日韩一区| 亚洲宅男天堂在线观看无病毒| 91在线观看高清| 中文字幕日韩精品一区| 97久久人人超碰| 一区二区久久久久久| 在线观看一区日韩| 婷婷夜色潮精品综合在线| 欧美肥妇free| 久久精品国产久精国产爱| 91.xcao| 日本女人一区二区三区| 精品久久久久久久久久久院品网| 久久精品国产色蜜蜜麻豆| 国产亚洲欧美中文| 成人国产在线观看| 欧美一区二区三区在线看| 国产精品一区二区三区99| 久久免费精品国产久精品久久久久| 美女国产一区二区三区| 国产网红主播福利一区二区| a在线欧美一区| 亚洲一本大道在线| 欧美成人福利视频| 成人污污视频在线观看| 亚洲国产日韩a在线播放| 欧美高清视频不卡网| 国产美女av一区二区三区| 国产精品福利一区二区| 欧美在线观看一二区| 激情五月播播久久久精品| 中文字幕一区二区三区在线播放| 欧美系列亚洲系列| 国产一区二区三区av电影| 亚洲色图欧洲色图婷婷| 日韩一区二区三区免费观看| 成人午夜视频免费看| 石原莉奈在线亚洲二区| 久久精品男人的天堂| 一本一道久久a久久精品| 久久66热偷产精品| 一区二区三区色| 国产亚洲综合性久久久影院| 在线视频你懂得一区| 国产馆精品极品| 日韩激情av在线| 最近日韩中文字幕| 久久亚洲春色中文字幕久久久| 色吊一区二区三区| 国产精品亚洲专一区二区三区 | 欧美日韩高清一区二区| 国产精品一区二区免费不卡| 亚洲成人手机在线| 亚洲欧洲日本在线| 日韩精品一区二区三区在线观看| 91农村精品一区二区在线| 国产九色sp调教91| 日韩精品电影在线| 亚洲一二三区在线观看| 日韩一区在线看| 久久精品男人天堂av| 2021久久国产精品不只是精品| 欧洲精品在线观看| av不卡一区二区三区| 成人精品国产一区二区4080| 激情综合网av| 另类小说视频一区二区| 日韩国产一二三区| 日韩精品亚洲专区| 日韩高清在线电影| 午夜视频在线观看一区二区 | 亚洲影视在线播放| 亚洲男人都懂的| 亚洲欧美另类图片小说| 国产精品毛片无遮挡高清| 久久久99精品免费观看不卡| 精品国产乱码久久久久久久久 | 本田岬高潮一区二区三区| 国产成人免费av在线| 国产福利精品导航| 成人综合婷婷国产精品久久蜜臀| 国内精品自线一区二区三区视频| 精品一区二区三区在线播放视频| 午夜精品一区在线观看| 日本一区中文字幕| 中文字幕一区二区日韩精品绯色| 中文字幕日韩一区二区| 亚洲天堂成人在线观看| 亚洲综合av网| 日韩高清在线一区| 黄色精品一二区| 国产精品资源网站| jlzzjlzz国产精品久久| 日本丰满少妇一区二区三区| 欧美日韩视频在线第一区 | 亚洲午夜激情网页| 日本美女一区二区| 国产黄色精品网站| 91精彩视频在线| 4438x成人网最大色成网站| 精品久久国产老人久久综合| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧洲美洲综合色网| 亚洲mv在线观看| 黑人巨大精品欧美一区| av亚洲精华国产精华| 欧美日韩一区不卡| 欧美tickling挠脚心丨vk| 国产精品青草久久| 婷婷开心激情综合| 国产xxx精品视频大全| 91国偷自产一区二区三区成为亚洲经典 | 国产精品 欧美精品| 91在线国产福利| 欧美一区二区播放| 日本一区二区三区视频视频| 一区二区三区色| 国产丶欧美丶日本不卡视频| 欧美图区在线视频| 亚洲国产成人在线| 三级欧美在线一区| 99久久综合精品| 日韩美女视频在线| 亚洲黄一区二区三区| 国产伦精一区二区三区| 欧美三级在线看| 亚洲图片你懂的| 国产成人啪免费观看软件| 欧美精品123区|