KS_FRAME_INFO 結構 (ksmedia.h)
KS_FRAME_INFO 結構會擴充視訊串流的KSSTREAM_HEADER結構。
語法
typedef struct tagKS_FRAME_INFO {
ULONG ExtendedHeaderSize;
DWORD dwFrameFlags;
LONGLONG PictureNumber;
LONGLONG DropCount;
HANDLE hDirectDraw;
HANDLE hSurfaceHandle;
RECT DirectDrawRect;
union {
LONG lSurfacePitch;
DWORD Reserved1;
};
DWORD Reserved2;
union {
struct {
DWORD Reserved3;
DWORD Reserved4;
};
ULONGLONG FrameCompletionNumber;
};
} KS_FRAME_INFO, *PKS_FRAME_INFO;
成員
ExtendedHeaderSize
指定這個結構的大小,以位元組為單位。
dwFrameFlags
指定旗標,指出擷取框架的其他資訊。 在擷取期間,minidriver 會將此成員設定為 ksmedia.h 中定義的下列其中一個值:
旗標 | 意義 |
---|---|
KS_VIDEO_FLAG_FRAME | 表示完整的框架。 |
KS_VIDEO_FLAG_FIELD1 | 表示兩個字段序列的欄位 1。 |
KS_VIDEO_FLAG_FIELD2 | 表示兩個字段序列的欄位 2。 |
KS_VIDEO_FLAG_I_FRAME | 表示此框架可以完全譯碼,而不參考任何其他畫面格。 |
KS_VIDEO_FLAG_P_FRAME | 表示這是預測框架。 |
KS_VIDEO_FLAG_B_FRAME | 表示這是雙向框架。 |
PictureNumber
指定代表目前圖片編號的計數。 在轉換至 KSSTATE_ACQUIRE 時初始化或更新此值。
DropCount
指定未擷取的圖片數目。 在擷取期間,minidriver 會設定此成員。 每當應該擷取框架但不是時,應該遞增此計數器;當擷取期間沒有緩衝區可用時,通常會發生此狀況。 在轉換至 KSSTATE_ACQUIRE 時初始化或更新此值。
hDirectDraw
指定 DirectDraw 的使用者模式句柄。 只有在擷取至 DirectDraw 表面以進行預覽或重疊時,才會提供此句柄給 minidriver。
hSurfaceHandle
指定 DirectDraw 介面的使用者模式句柄。 只有在擷取至 DirectDraw 表面以進行預覽或重疊時,才會提供此句柄給 minidriver。
DirectDrawRect
指定已鎖定之 DirectDraw 表面的部分。 這通常是整個表面。
lSurfacePitch
包含表面間距 (也稱為) 。
Reserved1
Minidriver 不應使用保留和 。
Reserved2
Minidriver 不應使用保留和 。
Reserved3
Minidriver 不應使用保留和 。
Reserved4
Minidriver 不應使用保留和 。
FrameCompletionNumber
已完成佇列中框架的識別序號。 這個數位是用來驗證適當的畫面順序。 當此值為 0 時,框架已取消。
從 Windows 8.1 開始,即可使用此成員。
備註
KS_FRAME_INFO 結構提供傳回所擷取畫面的相關信息,以及將擷取至 DirectDraw 介面時所使用的 Microsoft DirectDraw 句柄的方法。
PictureNumber 成員計數代表目前圖片的計數,這會根據裝置以兩種方式之一計算:
測量串流啟動後的時間,並除以框架持續時間。 這個方法適用於未提供自己的時鐘的裝置。 例如:
PictureNumber = ElapsedTime / FrameDuration;
將擷取的畫面計數和框架捨棄的計數加在一起。 這個方法適用於提供自己的時鐘的裝置。 例如:
PictureNumber = FramesCaptured + FramesDropped;
計算 PictureNumber 和 DropCount 時,請務必使用在開啟數據流時指定的畫面持續時間,這不一定符合裝置實際產生影像的速率。 例如,USB 相機可能只會在 7.5 fps 產生影像,但用戶端可以在 8 fps 開啟數據流。 在此情況下,所有計算都應該使用8 fps數位。
如需更新 PictureNumber 和 DropCount 的詳細資訊,請參閱 擷取影片。
規格需求
需求 | 值 |
---|---|
標頭 | ksmedia.h (包含 Ksmedia.h) |