Infrarotstromunterstützung in UVC
In Windows 10 Version 1607 und höher unterstützt der USB Video Class-Treiber (UVC) im Posteingang Kameras, die Infrarotdatenströme (IR) 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 verfügbar gemacht.
Die folgenden IR-Formattyp-GUIDs werden verwendet, um den Videoformatdeskriptor des Streams anzugeben, sodass IR-Datenströme ordnungsgemäß für Anwendungen verfügbar gemacht werden.
Diese GUIDs des IR-Formattyps werden in ksmedia.h definiert:
GUID des IR-Formattyps | BESCHREIBUNG |
---|---|
KSDATAFORMAT_SUBTYPE_L8_IR | Nur 8-Bit-Luma-Frames |
KSDATAFORMAT_SUBTYPE_L16_IR | Nur 16-Bit-Luma-Frames |
KSDATAFORMAT_SUBTYPE_MJPEG_IR | MJPEG-komprimierte Luma-Frames |
Wenn diese GUIDs des IR-Formattyps angegeben werden, markiert die Erfassungspipeline diese Datenströme automatisch als IR-Datenströme, was Anwendungen bei der Auswahl des richtigen Datenstroms für ihre Szenarien unterstützt.
// 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;