aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/uvc
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@skynet.be>2009-06-26 11:15:38 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 11:17:19 -0400
commitde05f63430e8cb8cde0a21260bc6b01765111e5c (patch)
treed40b8e00c13b0231042d9fb669a74d6e9cf69827 /drivers/media/video/uvc
parent446a164b70655d7cc19f6e9023c129b7425eb0f8 (diff)
V4L/DVB (12187): uvcvideo: Move UVC definitions to linux/usb/video.h
To make UVC constants accessible by a future UVC gadget driver, move them from drivers/media/video/uvc/uvcvideo.h to include/linux/usb/video.h. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc')
-rw-r--r--drivers/media/video/uvc/uvcvideo.h136
1 files changed, 1 insertions, 135 deletions
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
index cc5023e09ca9..5cf68f590725 100644
--- a/drivers/media/video/uvc/uvcvideo.h
+++ b/drivers/media/video/uvc/uvcvideo.h
@@ -67,144 +67,12 @@ struct uvc_xu_control {
67#ifdef __KERNEL__ 67#ifdef __KERNEL__
68 68
69#include <linux/poll.h> 69#include <linux/poll.h>
70#include <linux/usb/video.h>
70 71
71/* -------------------------------------------------------------------------- 72/* --------------------------------------------------------------------------
72 * UVC constants 73 * UVC constants
73 */ 74 */
74 75
75#define UVC_SC_UNDEFINED 0x00
76#define UVC_SC_VIDEOCONTROL 0x01
77#define UVC_SC_VIDEOSTREAMING 0x02
78#define UVC_SC_VIDEO_INTERFACE_COLLECTION 0x03
79
80#define UVC_PC_PROTOCOL_UNDEFINED 0x00
81
82/* VideoControl class specific interface descriptor */
83#define UVC_VC_DESCRIPTOR_UNDEFINED 0x00
84#define UVC_VC_HEADER 0x01
85#define UVC_VC_INPUT_TERMINAL 0x02
86#define UVC_VC_OUTPUT_TERMINAL 0x03
87#define UVC_VC_SELECTOR_UNIT 0x04
88#define UVC_VC_PROCESSING_UNIT 0x05
89#define UVC_VC_EXTENSION_UNIT 0x06
90
91/* VideoStreaming class specific interface descriptor */
92#define UVC_VS_UNDEFINED 0x00
93#define UVC_VS_INPUT_HEADER 0x01
94#define UVC_VS_OUTPUT_HEADER 0x02
95#define UVC_VS_STILL_IMAGE_FRAME 0x03
96#define UVC_VS_FORMAT_UNCOMPRESSED 0x04
97#define UVC_VS_FRAME_UNCOMPRESSED 0x05
98#define UVC_VS_FORMAT_MJPEG 0x06
99#define UVC_VS_FRAME_MJPEG 0x07
100#define UVC_VS_FORMAT_MPEG2TS 0x0a
101#define UVC_VS_FORMAT_DV 0x0c
102#define UVC_VS_COLORFORMAT 0x0d
103#define UVC_VS_FORMAT_FRAME_BASED 0x10
104#define UVC_VS_FRAME_FRAME_BASED 0x11
105#define UVC_VS_FORMAT_STREAM_BASED 0x12
106
107/* Endpoint type */
108#define UVC_EP_UNDEFINED 0x00
109#define UVC_EP_GENERAL 0x01
110#define UVC_EP_ENDPOINT 0x02
111#define UVC_EP_INTERRUPT 0x03
112
113/* Request codes */
114#define UVC_RC_UNDEFINED 0x00
115#define UVC_SET_CUR 0x01
116#define UVC_GET_CUR 0x81
117#define UVC_GET_MIN 0x82
118#define UVC_GET_MAX 0x83
119#define UVC_GET_RES 0x84
120#define UVC_GET_LEN 0x85
121#define UVC_GET_INFO 0x86
122#define UVC_GET_DEF 0x87
123
124/* VideoControl interface controls */
125#define UVC_VC_CONTROL_UNDEFINED 0x00
126#define UVC_VC_VIDEO_POWER_MODE_CONTROL 0x01
127#define UVC_VC_REQUEST_ERROR_CODE_CONTROL 0x02
128
129/* Terminal controls */
130#define UVC_TE_CONTROL_UNDEFINED 0x00
131
132/* Selector Unit controls */
133#define UVC_SU_CONTROL_UNDEFINED 0x00
134#define UVC_SU_INPUT_SELECT_CONTROL 0x01
135
136/* Camera Terminal controls */
137#define UVC_CT_CONTROL_UNDEFINED 0x00
138#define UVC_CT_SCANNING_MODE_CONTROL 0x01
139#define UVC_CT_AE_MODE_CONTROL 0x02
140#define UVC_CT_AE_PRIORITY_CONTROL 0x03
141#define UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04
142#define UVC_CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05
143#define UVC_CT_FOCUS_ABSOLUTE_CONTROL 0x06
144#define UVC_CT_FOCUS_RELATIVE_CONTROL 0x07
145#define UVC_CT_FOCUS_AUTO_CONTROL 0x08
146#define UVC_CT_IRIS_ABSOLUTE_CONTROL 0x09
147#define UVC_CT_IRIS_RELATIVE_CONTROL 0x0a
148#define UVC_CT_ZOOM_ABSOLUTE_CONTROL 0x0b
149#define UVC_CT_ZOOM_RELATIVE_CONTROL 0x0c
150#define UVC_CT_PANTILT_ABSOLUTE_CONTROL 0x0d
151#define UVC_CT_PANTILT_RELATIVE_CONTROL 0x0e
152#define UVC_CT_ROLL_ABSOLUTE_CONTROL 0x0f
153#define UVC_CT_ROLL_RELATIVE_CONTROL 0x10
154#define UVC_CT_PRIVACY_CONTROL 0x11
155
156/* Processing Unit controls */
157#define UVC_PU_CONTROL_UNDEFINED 0x00
158#define UVC_PU_BACKLIGHT_COMPENSATION_CONTROL 0x01
159#define UVC_PU_BRIGHTNESS_CONTROL 0x02
160#define UVC_PU_CONTRAST_CONTROL 0x03
161#define UVC_PU_GAIN_CONTROL 0x04
162#define UVC_PU_POWER_LINE_FREQUENCY_CONTROL 0x05
163#define UVC_PU_HUE_CONTROL 0x06
164#define UVC_PU_SATURATION_CONTROL 0x07
165#define UVC_PU_SHARPNESS_CONTROL 0x08
166#define UVC_PU_GAMMA_CONTROL 0x09
167#define UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL 0x0a
168#define UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL 0x0b
169#define UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL 0x0c
170#define UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL 0x0d
171#define UVC_PU_DIGITAL_MULTIPLIER_CONTROL 0x0e
172#define UVC_PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL 0x0f
173#define UVC_PU_HUE_AUTO_CONTROL 0x10
174#define UVC_PU_ANALOG_VIDEO_STANDARD_CONTROL 0x11
175#define UVC_PU_ANALOG_LOCK_STATUS_CONTROL 0x12
176
177/* VideoStreaming interface controls */
178#define UVC_VS_CONTROL_UNDEFINED 0x00
179#define UVC_VS_PROBE_CONTROL 0x01
180#define UVC_VS_COMMIT_CONTROL 0x02
181#define UVC_VS_STILL_PROBE_CONTROL 0x03
182#define UVC_VS_STILL_COMMIT_CONTROL 0x04
183#define UVC_VS_STILL_IMAGE_TRIGGER_CONTROL 0x05
184#define UVC_VS_STREAM_ERROR_CODE_CONTROL 0x06
185#define UVC_VS_GENERATE_KEY_FRAME_CONTROL 0x07
186#define UVC_VS_UPDATE_FRAME_SEGMENT_CONTROL 0x08
187#define UVC_VS_SYNC_DELAY_CONTROL 0x09
188
189#define UVC_TT_VENDOR_SPECIFIC 0x0100
190#define UVC_TT_STREAMING 0x0101
191
192/* Input Terminal types */
193#define UVC_ITT_VENDOR_SPECIFIC 0x0200
194#define UVC_ITT_CAMERA 0x0201
195#define UVC_ITT_MEDIA_TRANSPORT_INPUT 0x0202
196
197/* Output Terminal types */
198#define UVC_OTT_VENDOR_SPECIFIC 0x0300
199#define UVC_OTT_DISPLAY 0x0301
200#define UVC_OTT_MEDIA_TRANSPORT_OUTPUT 0x0302
201
202/* External Terminal types */
203#define UVC_EXTERNAL_VENDOR_SPECIFIC 0x0400
204#define UVC_COMPOSITE_CONNECTOR 0x0401
205#define UVC_SVIDEO_CONNECTOR 0x0402
206#define UVC_COMPONENT_CONNECTOR 0x0403
207
208#define UVC_TERM_INPUT 0x0000 76#define UVC_TERM_INPUT 0x0000
209#define UVC_TERM_OUTPUT 0x8000 77#define UVC_TERM_OUTPUT 0x8000
210 78
@@ -216,8 +84,6 @@ struct uvc_xu_control {
216#define UVC_ENTITY_IS_OTERM(entity) \ 84#define UVC_ENTITY_IS_OTERM(entity) \
217 (((entity)->type & 0x8000) == UVC_TERM_OUTPUT) 85 (((entity)->type & 0x8000) == UVC_TERM_OUTPUT)
218 86
219#define UVC_STATUS_TYPE_CONTROL 1
220#define UVC_STATUS_TYPE_STREAMING 2
221 87
222/* ------------------------------------------------------------------------ 88/* ------------------------------------------------------------------------
223 * GUIDs 89 * GUIDs