1 /* 2 * Copyright 2009, Ithamar Adema, <ithamar.adema@team-embedded.nl>. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 #ifndef _USB_VIDEO_H 7 #define _USB_VIDEO_H 8 9 /* Class/Subclass/Protocol */ 10 #define CC_VIDEO 0xE 11 #define SC_UNDEFINED 0x0 12 #define SC_VIDEOCONTROL 0x1 13 #define SC_VIDEOSTREAMING 0x2 14 #define SC_VIDEO_INTERFACE_COLLECTION 0x3 15 #define PC_PROTOCOL_UNDEFINED 0x0 16 17 #define CS_UNDEFINED 0x20 18 #define CS_DEVICE 0x21 19 #define CS_CONFIGURATION 0x22 20 #define CS_STRING 0x23 21 #define CS_INTERFACE 0x24 22 #define CS_ENDPOINT 0x25 23 24 /* Video Control Class Descriptors */ 25 #define VC_DESCRIPTOR_UNDEFINED 0x0 26 #define VC_HEADER 0x1 27 #define VC_INPUT_TERMINAL 0x2 28 #define VC_OUTPUT_TERMINAL 0x3 29 #define VC_SELECTOR_UNIT 0x4 30 #define VC_PROCESSING_UNIT 0x5 31 #define VC_EXTENSION_UNIT 0x6 32 33 /* Video Streaming Class Descriptors */ 34 #define VS_UNDEFINED 0x00 35 #define VS_INPUT_HEADER 0x01 36 #define VS_OUTPUT_HEADER 0x02 37 #define VS_STILL_IMAGE_FRAME 0x03 38 #define VS_FORMAT_UNCOMPRESSED 0x04 39 #define VS_FRAME_UNCOMPRESSED 0x05 40 #define VS_FORMAT_MJPEG 0x06 41 #define VS_FRAME_MJPEG 0x07 42 #define VS_FORMAT_MPEG2TS 0x0a 43 #define VS_FORMAT_DV 0x0c 44 #define VS_COLORFORMAT 0x0d 45 #define VS_FORMAT_FRAME_BASED 0x10 46 #define VS_FRAME_FRAME_BASED 0x11 47 #define VS_FORMAT_STREAM_BASED 0x12 48 49 #define EP_UNDEFINED 0x0 50 #define EP_GENERAL 0x1 51 #define EP_ENDPOINT 0x2 52 #define EP_INTERRUPT 0x3 53 54 #define RC_UNDEFINED 0x00 55 #define SET_CUR 0x01 56 #define GET_CUR 0x81 57 #define GET_MIN 0x82 58 #define GET_MAX 0x83 59 #define GET_RES 0x84 60 #define GET_LEN 0x85 61 #define GET_INFO 0x86 62 #define GET_DEF 0x87 63 64 #define VC_CONTROL_UNDEFINED 0x0 65 #define VC_VIDEO_POWER_MODE_CONTROL 0x1 66 #define VC_REQUEST_ERROR_CODE_CONTROL 0x2 67 68 #define TE_CONTROL_UNDEFINED 0x0 69 70 #define SU_CONTROL_UNDEFINED 0x0 71 #define SU_INPUT_SELECT_CONTROL 0x1 72 73 #define CT_CONTROL_UNDEFINED 0x0 74 #define CT_SCANNING_MODE_CONTROL 0x1 75 #define CT_AE_MODE_CONTROL 0x2 76 #define CT_AE_PRIORITY_CONTROL 0x3 77 #define CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x4 78 #define CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x5 79 #define CT_FOCUS_ABSOLUTE_CONTROL 0x6 80 #define CT_FOCUS_RELATIVE_CONTROL 0x7 81 #define CT_FOCUS_AUTO_CONTROL 0x8 82 #define CT_IRIS_ABSOLUTE_CONTROL 0x9 83 #define CT_IRIS_RELATIVE_CONTROL 0xa 84 #define CT_ZOOM_ABSOLUTE_CONTROL 0xb 85 #define CT_ZOOM_RELATIVE_CONTROL 0xc 86 #define CT_PANTILT_ABSOLUTE_CONTROL 0xd 87 #define CT_PANTILT_RELATIVE_CONTROL 0xe 88 #define CT_ROLL_ABSOLUTE_CONTROL 0xf 89 #define CT_ROLL_RELATIVE_CONTROL 0x10 90 #define CT_PRIVACY_CONTROL 0x11 91 92 #endif /* _USB_VIDEO_H */ 93