共用方式為


視訊和影像函式

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

這些函式和宏會操作 DirectShow 視訊格式結構。

函式 描述
BIT_MASKS_MATCH 比較兩個 VIDEOINFO 結構的色彩遮罩。
BITMASKS VIDEOINFO 結構擷取色彩遮罩
CheckVideoInfoType 檢查包含 VIDEOINFOHEADER 格式結構的媒體類型是否有可能導致緩衝區溢位或整數溢位的錯誤。
CheckVideoInfo2Type 檢查包含 VIDEOINFOHEADER2 格式結構的媒體類型是否有可能導致緩衝區溢位或整數溢位的錯誤。
顏色 VIDEOINFO 結構擷取調色盤專案
ContainsPalette 判斷指定的 VIDEOINFOHEADER 結構是否包含調色盤。
ConvertVideoInfoToVideoInfo2 將使用VIDEOINFOHEADER的媒體類型轉換為使用VIDEOINFOHEADER2的媒體類型
DIBSIZE 計算裝置獨立點陣圖所需的位元組數目, (DIB) 。
GetBitCount 傳回指定之視訊子類型所使用的每個圖元位數。
GetBitmapFormatSize 計算可保存指定BITMAPINFOHEADER結構的VIDEOINFO結構所需的大小。
GetBitmapPalette 傳回 VIDEOINFOHEADER 結構中的第一個調色盤專案。
GetBitmapSize 計算裝置獨立點陣圖所需的位元組數目, (DIB) 。
GetBitmapSubtype 傳回指定之點陣圖的媒體子類型 GUID
GetSubtypeName 擷取影片子類型的人類可讀名稱。
GetTrueColorType 傳回 16 位未壓縮 RGB 點陣圖的媒體子類型 GUID
傳回 VIDEOINFOHEADER 內的 BITMAPINFOHEADER位址。
MPEG1_SEQUENCE_INFO 傳回 MPEG1VIDEOINFO 結構內的序列標頭位址。
PALETTISED 檢查點陣圖的色彩深度是否為 8 位或更少。
PALETTE_ENTRIES 擷取指定之點陣圖調色盤中的色彩數目上限。
RESET_MASKS 以零填入 VIDEOINFO 結構中的色彩遮罩欄位。
RESET_HEADER 以零填入 VIDEOINFOHEADER
RESET_PALETTE 以零填入 VIDEOINFO 結構中的調色盤專案。
SIZE_EGA_PALETTE 計算 4 位 RGB 點陣圖中調色盤專案所需的大小。
SIZE_MASKS 計算 VIDEOINFO 結構中色彩遮罩的大小。
SIZE_MPEG1VIDEOINFO 計算 MPEG1VIDEOINFO 結構的大小,包括序列標頭。
SIZE_PALETTE 計算 VIDEOINFO 結構中的調色盤專案大小。
SIZE_PREHEADER 計算VIDEOINFOHEADER結構內bmiHeader欄位的位元組位移。
SIZE_VIDEOHEADER 計算 VIDEOINFOHEADER 結構的大小。
TRUECOLOR VIDEOINFO結構傳回TRUECOLORINFO結構。
ValidateBitmapInfoHeader 檢查 BITMAPINFOHEADER 結構是否有可能導致緩衝區溢位或整數溢位的錯誤。

 

備註

本節所述的大部分宏和函式都是設計來操作 RGB 點陣圖的 VIDEOINFOHEADERVIDEOINFO 結構。 請小心使用這些宏:其中大部分都假設指定的結構已正確初始化。 其中許多也假設 BITMAPINFOHEADER 結構是標準大小;也就是 biSize == sizeof(BITMAPINFOHEADER)

DirectShow 基類庫也提供下列全域常數,這些常數會定義 true 色彩點陣圖的標準色彩遮罩。

全域資料 Description
bits555 16 位 RGB 點陣圖的色彩遮罩陣列,格式為 5-5-5。
bits565 16 位 RGB 點陣圖的色彩遮罩陣列,格式為 5-6-5。
bits888 24 位 RGB 點陣圖的色彩遮罩陣列。

 

這三個 DWORD陣列中的每一個常數,各以該順序包含紅色、綠色和藍色遮罩。