视频和图像函数

[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayerIMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获,而不是 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 计算 VIDEOINFO 结构所需的大小,该结构可以容纳指定的 BITMAPINFOHEADER 结构。
GetBitmapPalette 返回 VIDEOINFOHEADER 结构中的第一个调色板项。
GetBitmapSize 计算独立于设备的位图(DIB)所需的字节数。
GetBitmapSubtype 返回指定位图的媒体子类型 GUID
GetSubtypeName 检索视频子类型的人工可读名称。
GetTrueColorType 返回 16 位未压缩 RGB 位图的媒体子类型 GUID
标头 返回 VIDEOINFOHEADERBITMAPINFOHEADER 的地址。
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 基类库还提供以下全局常量,用于定义真色位图的标准颜色掩码。

全局数据 描述
位 555 5-5-5 格式的 16 位 RGB 位图的颜色掩码数组。
位565 5-6-5 格式的 16 位 RGB 位图的颜色掩码数组。
bits888 24 位 RGB 位图的颜色掩码数组。

 

这三个 DWORD的数组中的每个常量,以该顺序包含红色、绿色和蓝色掩码。