UVC 中的红外流支持
在 Windows 10 版本 1607 及更高版本中,内置 USB 视频类 (UVC) 驱动程序支持生成红外 (IR) 流的相机。
这些相机捕获场景的亮度值,并通过 USB 以未压缩格式或压缩的 MJPEG 格式传输帧。 这些相机及其流通过媒体捕获管道向应用程序公开。
以下 IR 格式类型 GUID 用于指定流的视频格式描述符,以便向应用程序正确公开 IR 流。
这些 IR 格式类型 GUID 在 ksmedia.h 中定义:
IR 格式类型 GUID | 说明 |
---|---|
KSDATAFORMAT_SUBTYPE_L8_IR | 仅 8 位 luma 帧 |
KSDATAFORMAT_SUBTYPE_L16_IR | 仅 16 位 luma 帧 |
KSDATAFORMAT_SUBTYPE_MJPEG_IR | MJPEG 压缩的仅限 luma 的帧 |
指定这些 IR 格式类型 GUID 时,捕获管道会自动将这些流标记为 IR 流,这有助于应用程序为其方案选择正确的流。
// Example: Format descriptor for UVC 1.1 frame based uncompressed format
typedef struct _VIDEO_FORMAT_FRAME
{
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bDescriptorSubtype;
UCHAR bFormatIndex;
UCHAR bNumFrameDescriptors;
GUID guidFormat; // guidFormat must contain one of the IIR format type GUIDs from the table above
UCHAR bBitsPerPixel;
UCHAR bDefaultFrameIndex;
UCHAR bAspectRatioX;
UCHAR bAspectRatioY;
UCHAR bmInterlaceFlags;
UCHAR bCopyProtect;
UCHAR bVariableSize;
} VIDEO_FORMAT_FRAME, *PVIDEO_FORMAT_FRAME;