Freigeben über


Infrarotstromunterstützung in UVC

In Windows 10, Version 1607 und höher, unterstützt der USB-Video-Klassentreiber (USB Video Class, UVC) Kameras, die Infrarot (IR)-Datenströme erzeugen.

Diese Kameras erfassen den Lumawert der Szene und übertragen die Frames über USB als unkomprimiertes Format oder als komprimiertes MJPEG-Format. Diese Kameras und ihre Datenströme werden Anwendungen über die Medienaufnahmepipeline ausgesetzt.

Die folgenden GUIDs des IR-Formattyps werden verwendet, um den Videoformatdeskriptor des Datenstroms anzugeben, sodass IR-Datenströme ordnungsgemäß für Anwendungen verfügbar gemacht werden.

Diese IR-Formattyp-GUIDs werden in ksmedia.h definiert:

GUID des IR-Formattyps BESCHREIBUNG
KSDATAFORMAT_SUBTYPE_L8_IR 8-Bit-Frames mit nur Luma
KSDATAFORMAT_SUBTYPE_L16_IR Nur 16-bit-Luma-Frames
KSDATAFORMAT_SUBTYPE_MJPEG_IR MJPEG-komprimierte nur-Luma-Frames

Wenn diese GUIDs für den IR-Formattyp angegeben werden, kennzeichnet die Aufnahmepipeline diese Datenströme automatisch als IR-Datenströme, die Anwendungen beim Auswählen des richtigen Datenstroms für ihre Szenarien unterstützen.

// 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;