共用方式為


影片和影像函式

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

這些函式和巨集會作 DirectShow 影片格式結構。

功能 描述
BIT_MASKS_MATCH 比較兩個 VIDEOINFO 結構的色彩遮罩。
BITMASKs VIDEOINFO 結構擷取色彩遮罩
CheckVideoInfoType 檢查包含 VIDEOINFOHEADER 的媒體類型, 格式結構是否有可能導致緩衝區滿溢或整數溢位的錯誤。
CheckVideoInfo2Type 檢查包含 VIDEOINFOHEADER2 格式結構的媒體類型,是否有可能導致緩衝區滿溢或整數溢位的錯誤。
COLORS VIDEOINFO 結構擷取調色盤專案
ContainsPalette 判斷指定的 VIDEOINFOHEADER 結構是否包含調色盤。
ConvertVideoInfoToVideoInfo2 將使用 VIDEOINFOHEADER的媒體類型轉換成使用 VIDEOINFOHEADER2 的媒體類型
DIBSIZE 計算裝置獨立位圖 (DIB) 所需的位元元組數目。
GetBitCount 傳回指定之視訊子類型所使用的每個圖元位數。
GetBitmapFormatSize 計算 VIDEOINFO 結構所需的大小,該結構可以保存指定的 BITMAPINFOHEADER 結構。
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結構TRUECOLORINFO。
ValidateBitmapInfoHeader 檢查 BITMAPINFOHEADER 結構是否有可能導致緩衝區滿溢或整數溢位的錯誤。

 

言論

本節所述的大部分巨集和函式都是針對作 RGB 位圖 VIDEOINFOHEADERVIDEOINFO 結構而設計。 小心使用這些巨集:大部分巨集都假設指定的結構已正確初始化。 其中許多人也假設 BITMAPINFOHEADER 結構是標準大小:也就是說,biSize == sizeof(BITMAPINFOHEADER)

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

全域數據 描述
位555 16 位 RGB 位圖的色彩遮罩數位,格式為 5-5-5。
位565 16 位 RGB 位圖的色彩遮罩數位,格式為 5-6-5。
位888 24 位 RGB 位圖的色彩遮罩數位。

 

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