📄 uvcvideo.h.svn-base
字号:
#ifndef _USB_VIDEO_H_#define _USB_VIDEO_H_/* * The terminal and unit descriptor structures are provided for information. * Due to the nature of the descriptors (variable-length fields not at the end * of the descriptor) they can't be mapped to a C structure. *struct uvc_input_terminal_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bTerminalID; __u16 wTerminalType; __u8 bAssocTerminal; __u8 iTerminal;};struct uvc_camera_terminal_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bTerminalID; __u16 wTerminalType; __u8 bAssocTerminal; __u8 iTerminal; __u16 wObjectiveFocalLengthMin; __u16 wObjectiveFocalLengthMax; __u16 wOcularFocalLength; __u8 bControlSize; __u8 bmControl[];};struct uvc_output_terminal_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bTerminalID; __u16 wTerminalType; __u8 bAssocTerminal; __u8 bSourceID; __u8 iTerminal;};struct uvc_processing_unit_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bUnitID; __u8 bSourceID; __u16 wMaxMultiplier; __u8 bControlSize; __u8 bmControls[]; __u8 iProcessing; __u8 bmVideoStandards;};struct uvc_selector_unit_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bUnitID; __u8 bNrInPins; __u8 baSourceID[]; __u8 iSelector;};struct uvc_extension_unit_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bUnitID; __u8 guidExtensionCode[16]; __u8 bNumControls; __u8 bNrInPins; __u8 baSourceID[]; __u8 bControlSize; __u8 bmControls[]; __u8 iExtension;};struct uvc_input_header_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bNumFormats; __u16 wTotalLength; __u8 bEndpointAddress; __u8 bmInfo; __u8 bTerminalLink; __u8 bStillCaptureMethod; __u8 bTriggerSupport; __u8 bTriggerUsage; __u8 bControlSize; __u8 bmaControls[];};struct uvc_output_header_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bNumFormats; __u16 wTotalLength; __u8 bEndpointAddress; __u8 bTerminalLink; __u8 bControlSize; __u8 bmaControls[];};*/struct uvc_format_uncompressed_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u8 bNumFrameDescriptors; __u8 guidFormat[16]; __u8 bBitsPerPixel; __u8 bDefaultFrameIndex; __u8 bAspectRatioX; __u8 bAspectRatioY; __u8 bmInterlaceFlags; __u8 bCopyProtect;};struct uvc_format_mjpeg_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u8 bNumFrameDescriptors; __u8 bmFlags; __u8 bDefaultFrameIndex; __u8 bAspectRatioX; __u8 bAspectRatioY; __u8 bmInterlaceFlags; __u8 bCopyProtect;};struct uvc_format_frame_based_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u8 bNumFrameDescriptors; __u8 guidFormat[16]; __u8 bBitsPerPixel; __u8 bDefaultFrameIndex; __u8 bAspectRatioX; __u8 bAspectRatioY; __u8 bmInterlaceFlags; __u8 bCopyProtect; __u8 bVariableSize;};struct uvc_format_dv_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u32 dwMaxVideoFrameBufferSize; __u8 bFormatType;};struct uvc_format_mpeg2ts_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u8 bDataOffset; __u8 bPacketLength; __u8 bStrideLength; __u8 guidStrideFormat[16];};struct uvc_format_stream_based_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bFormatIndex; __u8 guidFormat[16]; __u32 dwPacketLength;};/*struct uvc_still_frame_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bEndpointAddress; __u8 bNumImageSizePatterns; struct { __u16 wWidth; __u16 wHeight; } sSize[]; __u8 bNumCompressionPatterns; __u8 bCompression[];};*/struct uvc_color_matching_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bColorPrimaries; __u8 bTransferCharacteristics; __u8 bMatrixCoefficients;};/* * Private V4L2 control identifiers. */#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_PRIVATE_BASE+0)#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_PRIVATE_BASE+1)#define V4L2_CID_SHARPNESS (V4L2_CID_PRIVATE_BASE+2)#define V4L2_CID_HUE_AUTO (V4L2_CID_PRIVATE_BASE+3)#define V4L2_CID_FOCUS_AUTO (V4L2_CID_PRIVATE_BASE+4)#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_PRIVATE_BASE+5)#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_PRIVATE_BASE+6)#define V4L2_CID_PANTILT_RELATIVE (V4L2_CID_PRIVATE_BASE+7)#define V4L2_CID_PANTILT_RESET (V4L2_CID_PRIVATE_BASE+8)#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_PRIVATE_BASE+9)#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_PRIVATE_BASE+10)#define V4L2_CID_WHITE_BALANCE_TEMPERATURE_AUTO (V4L2_CID_PRIVATE_BASE+11)#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_PRIVATE_BASE+12)#define V4L2_CID_PRIVATE_LAST V4L2_CID_WHITE_BALANCE_TEMPERATURE#ifdef __KERNEL__#define SC_UNDEFINED 0x00#define SC_VIDEOCONTROL 0x01#define SC_VIDEOSTREAMING 0x02#define SC_VIDEO_INTERFACE_COLLECTION 0x03#define PC_PROTOCOL_UNDEFINED 0x00#define CS_UNDEFINED 0x20#define CS_DEVICE 0x21#define CS_CONFIGURATION 0x22#define CS_STRING 0x23#define CS_INTERFACE 0x24#define CS_ENDPOINT 0x25/* VideoControl class specific interface descriptor */#define VC_DESCRIPTOR_UNDEFINED 0x00#define VC_HEADER 0x01#define VC_INPUT_TERMINAL 0x02#define VC_OUTPUT_TERMINAL 0x03#define VC_SELECTOR_UNIT 0x04#define VC_PROCESSING_UNIT 0x05#define VC_EXTENSION_UNIT 0x06/* VideoStreaming class specific interface descriptor */#define VS_UNDEFINED 0x00#define VS_INPUT_HEADER 0x01#define VS_OUTPUT_HEADER 0x02#define VS_STILL_IMAGE_FRAME 0x03#define VS_FORMAT_UNCOMPRESSED 0x04#define VS_FRAME_UNCOMPRESSED 0x05#define VS_FORMAT_MJPEG 0x06#define VS_FRAME_MJPEG 0x07#define VS_FORMAT_MPEG2TS 0x0a#define VS_FORMAT_DV 0x0c#define VS_COLORFORMAT 0x0d#define VS_FORMAT_FRAME_BASED 0x10#define VS_FRAME_FRAME_BASED 0x11#define VS_FORMAT_STREAM_BASED 0x12/* Endpoint type */#define EP_UNDEFINED 0x00#define EP_GENERAL 0x01#define EP_ENDPOINT 0x02#define EP_INTERRUPT 0x03/* Request codes */#define RC_UNDEFINED 0x00#define SET_CUR 0x01#define GET_CUR 0x81#define GET_MIN 0x82#define GET_MAX 0x83#define GET_RES 0x84#define GET_LEN 0x85#define GET_INFO 0x86#define GET_DEF 0x87/* VideoControl interface controls */#define VC_CONTROL_UNDEFINED 0x00#define VC_VIDEO_POWER_MODE_CONTROL 0x01#define VC_REQUEST_ERROR_CODE_CONTROL 0x02/* Terminal controls */#define TE_CONTROL_UNDEFINED 0x00/* Selector Unit controls */#define SU_CONTROL_UNDEFINED 0x00#define SU_INPUT_SELECT_CONTROL 0x01/* Camera Terminal controls */#define CT_CONTROL_UNDEFINED 0x00#define CT_SCANNING_MODE_CONTROL 0x01#define CT_AE_MODE_CONTROL 0x02#define CT_AE_PRIORITY_CONTROL 0x03#define CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04#define CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05#define CT_FOCUS_ABSOLUTE_CONTROL 0x06#define CT_FOCUS_RELATIVE_CONTROL 0x07#define CT_FOCUS_AUTO_CONTROL 0x08#define CT_IRIS_ABSOLUTE_CONTROL 0x09#define CT_IRIS_RELATIVE_CONTROL 0x0a#define CT_ZOOM_ABSOLUTE_CONTROL 0x0b#define CT_ZOOM_RELATIVE_CONTROL 0x0c#define CT_PANTILT_ABSOLUTE_CONTROL 0x0d#define CT_PANTILT_RELATIVE_CONTROL 0x0e#define CT_ROLL_ABSOLUTE_CONTROL 0x0f#define CT_ROLL_RELATIVE_CONTROL 0x10#define CT_PRIVACY_CONTROL 0x11/* Processing Unit controls */#define PU_CONTROL_UNDEFINED 0x00#define PU_BACKLIGHT_COMPENSATION_CONTROL 0x01#define PU_BRIGHTNESS_CONTROL 0x02#define PU_CONTRAST_CONTROL 0x03#define PU_GAIN_CONTROL 0x04#define PU_POWER_LINE_FREQUENCY_CONTROL 0x05#define PU_HUE_CONTROL 0x06#define PU_SATURATION_CONTROL 0x07#define PU_SHARPNESS_CONTROL 0x08#define PU_GAMMA_CONTROL 0x09#define PU_WHITE_BALANCE_TEMPERATURE_CONTROL 0x0a#define PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL 0x0b#define PU_WHITE_BALANCE_COMPONENT_CONTROL 0x0c#define PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL 0x0d#define PU_DIGITAL_MULTIPLIER_CONTROL 0x0e#define PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL 0x0f#define PU_HUE_AUTO_CONTROL 0x10#define PU_ANALOG_VIDEO_STANDARD_CONTROL 0x11#define PU_ANALOG_LOCK_STATUS_CONTROL 0x12#define LXU_MOTOR_PANTILT_RELATIVE_CONTROL 0x01#define LXU_MOTOR_PANTILT_RESET_CONTROL 0x02/* VideoStreaming interface controls */#define VS_CONTROL_UNDEFINED 0x00#define VS_PROBE_CONTROL 0x01#define VS_COMMIT_CONTROL 0x02#define VS_STILL_PROBE_CONTROL 0x03#define VS_STILL_COMMIT_CONTROL 0x04#define VS_STILL_IMAGE_TRIGGER_CONTROL 0x05#define VS_STREAM_ERROR_CODE_CONTROL 0x06#define VS_GENERATE_KEY_FRAME_CONTROL 0x07#define VS_UPDATE_FRAME_SEGMENT_CONTROL 0x08#define VS_SYNC_DELAY_CONTROL 0x09#define TT_VENDOR_SPECIFIC 0x0100#define TT_STREAMING 0x0101/* Input Terminal types */#define ITT_VENDOR_SPECIFIC 0x0200#define ITT_CAMERA 0x0201#define ITT_MEDIA_TRANSPORT_INPUT 0x0202/* Output Terminal types */#define OTT_VENDOR_SPECIFIC 0x0300#define OTT_DISPLAY 0x0301#define OTT_MEDIA_TRANSPORT_OUTPUT 0x0302#define EXTERNAL_VENDOR_SPECIFIC 0x0400#define COMPOSITE_CONNECTOR 0x0401#define SVIDEO_CONNECTOR 0x0402#define COMPONENT_CONNECTOR 0x0403#endif /* __KERNEL__ */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -