Поддержка инфракрасного потока в UVC

В Windows 10, версии 1607 и более поздних, встроенный драйвер USB Video Class (UVC) поддерживает камеры, которые создают инфракрасные (IR) потоки.

Эти камеры захватывают значение лумы сцены и передают кадры через USB как несжатый формат или как сжатый формат MJPEG. Эти камеры и их потоки предоставляются приложениям через конвейер захвата мультимедиа.

Следующие GUID-идентификаторы формата IR используются для указания дескриптора формата видеопотока, чтобы потоки IR правильно отображались в приложениях.

Эти идентификаторы GUID типа формата IR определены в ksmedia.h:

GUID типа формата IR Описание
KSDATAFORMAT_SUBTYPE_L8_IR 8-разрядные кадры с только яркостной составляющей
KSDATAFORMAT_SUBTYPE_L16_IR 16-разрядные кадры только luma
KSDATAFORMAT_SUBTYPE_MJPEG_IR MJPEG сжатые кадры только для luma

Если указаны идентификаторы GUID формата IR, конвейер отслеживания автоматически помечает эти потоки как потоки 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;