Udostępnij przez


Obsługa strumienia podczerwieni w UVC

W systemie Windows 10 w wersji 1607 lub nowszej wbudowany sterownik klasy wideo USB (UVC) obsługuje kamery generujące strumienie podczerwieni (IR).

Kamery te przechwytują wartość luminancji sceny i przesyłają klatki przez USB jako nieskompresowany format lub jako skompresowany format MJPEG. Te kamery i ich strumienie są udostępniane aplikacjom za pośrednictwem potoku przechwytywania multimediów.

Poniższe identyfikatory GUID formatu IR służą do określania deskryptora formatu wideo strumienia, dzięki czemu strumienie IR są prawidłowo widoczne dla aplikacji.

Identyfikatory GUID typu formatu IR są zdefiniowane w ksmedia.h:

Identyfikator GUID typu formatu IR Opis
KSDATAFORMAT_SUBTYPE_L8_IR 8-bitowe ramki luma
KSDATAFORMAT_SUBTYPE_L16_IR 16-bitowe ramki luma
KSDATAFORMAT_SUBTYPE_MJPEG_IR Kompresowane ramki MJPEG tylko z elementem Luma

Po określeniu identyfikatorów GUID w formacie typu IR, potok przechwytywania automatycznie oznacza te strumienie jako strumienie IR, co pomaga aplikacjom w wyborze odpowiedniego strumienia dla ich scenariuszy.

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