V4L/DVB (12185): uvcvideo: Prefix all UVC constants with UVC_
In preparation to moving UVC constants to a public location, prefix all constants with UVC_ to avoid namespace clashes. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
042e143e8b
commit
b482d9231a
5 changed files with 305 additions and 290 deletions
|
@ -34,7 +34,7 @@
|
|||
static struct uvc_control_info uvc_ctrls[] = {
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_BRIGHTNESS_CONTROL,
|
||||
.selector = UVC_PU_BRIGHTNESS_CONTROL,
|
||||
.index = 0,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -42,7 +42,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_CONTRAST_CONTROL,
|
||||
.selector = UVC_PU_CONTRAST_CONTROL,
|
||||
.index = 1,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -50,7 +50,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_HUE_CONTROL,
|
||||
.selector = UVC_PU_HUE_CONTROL,
|
||||
.index = 2,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -58,7 +58,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_SATURATION_CONTROL,
|
||||
.selector = UVC_PU_SATURATION_CONTROL,
|
||||
.index = 3,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -66,7 +66,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_SHARPNESS_CONTROL,
|
||||
.selector = UVC_PU_SHARPNESS_CONTROL,
|
||||
.index = 4,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -74,7 +74,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_GAMMA_CONTROL,
|
||||
.selector = UVC_PU_GAMMA_CONTROL,
|
||||
.index = 5,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -82,7 +82,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_TEMPERATURE_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL,
|
||||
.index = 6,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -90,7 +90,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.index = 7,
|
||||
.size = 4,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -98,7 +98,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_BACKLIGHT_COMPENSATION_CONTROL,
|
||||
.selector = UVC_PU_BACKLIGHT_COMPENSATION_CONTROL,
|
||||
.index = 8,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -106,7 +106,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_GAIN_CONTROL,
|
||||
.selector = UVC_PU_GAIN_CONTROL,
|
||||
.index = 9,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -114,7 +114,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_POWER_LINE_FREQUENCY_CONTROL,
|
||||
.selector = UVC_PU_POWER_LINE_FREQUENCY_CONTROL,
|
||||
.index = 10,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -122,7 +122,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_HUE_AUTO_CONTROL,
|
||||
.selector = UVC_PU_HUE_AUTO_CONTROL,
|
||||
.index = 11,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -130,7 +130,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL,
|
||||
.index = 12,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -138,7 +138,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL,
|
||||
.index = 13,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -146,7 +146,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_DIGITAL_MULTIPLIER_CONTROL,
|
||||
.selector = UVC_PU_DIGITAL_MULTIPLIER_CONTROL,
|
||||
.index = 14,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -154,7 +154,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL,
|
||||
.selector = UVC_PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL,
|
||||
.index = 15,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -162,21 +162,21 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_ANALOG_VIDEO_STANDARD_CONTROL,
|
||||
.selector = UVC_PU_ANALOG_VIDEO_STANDARD_CONTROL,
|
||||
.index = 16,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_GET_CUR,
|
||||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_ANALOG_LOCK_STATUS_CONTROL,
|
||||
.selector = UVC_PU_ANALOG_LOCK_STATUS_CONTROL,
|
||||
.index = 17,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_GET_CUR,
|
||||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_SCANNING_MODE_CONTROL,
|
||||
.selector = UVC_CT_SCANNING_MODE_CONTROL,
|
||||
.index = 0,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -184,7 +184,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_AE_MODE_CONTROL,
|
||||
.selector = UVC_CT_AE_MODE_CONTROL,
|
||||
.index = 1,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -193,7 +193,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_AE_PRIORITY_CONTROL,
|
||||
.selector = UVC_CT_AE_PRIORITY_CONTROL,
|
||||
.index = 2,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -201,7 +201,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_EXPOSURE_TIME_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL,
|
||||
.index = 3,
|
||||
.size = 4,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -209,7 +209,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_EXPOSURE_TIME_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_EXPOSURE_TIME_RELATIVE_CONTROL,
|
||||
.index = 4,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -217,7 +217,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_FOCUS_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_FOCUS_ABSOLUTE_CONTROL,
|
||||
.index = 5,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -225,7 +225,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_FOCUS_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_FOCUS_RELATIVE_CONTROL,
|
||||
.index = 6,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -233,7 +233,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_IRIS_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_IRIS_ABSOLUTE_CONTROL,
|
||||
.index = 7,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -241,7 +241,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_IRIS_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_IRIS_RELATIVE_CONTROL,
|
||||
.index = 8,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -249,7 +249,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ZOOM_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_ZOOM_ABSOLUTE_CONTROL,
|
||||
.index = 9,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -257,7 +257,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ZOOM_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_ZOOM_RELATIVE_CONTROL,
|
||||
.index = 10,
|
||||
.size = 3,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -265,7 +265,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_PANTILT_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_PANTILT_ABSOLUTE_CONTROL,
|
||||
.index = 11,
|
||||
.size = 8,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -273,7 +273,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_PANTILT_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_PANTILT_RELATIVE_CONTROL,
|
||||
.index = 12,
|
||||
.size = 4,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -281,7 +281,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ROLL_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_ROLL_ABSOLUTE_CONTROL,
|
||||
.index = 13,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -289,7 +289,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ROLL_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_ROLL_RELATIVE_CONTROL,
|
||||
.index = 14,
|
||||
.size = 2,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE
|
||||
|
@ -297,7 +297,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_FOCUS_AUTO_CONTROL,
|
||||
.selector = UVC_CT_FOCUS_AUTO_CONTROL,
|
||||
.index = 17,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -305,7 +305,7 @@ static struct uvc_control_info uvc_ctrls[] = {
|
|||
},
|
||||
{
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_PRIVACY_CONTROL,
|
||||
.selector = UVC_CT_PRIVACY_CONTROL,
|
||||
.index = 18,
|
||||
.size = 1,
|
||||
.flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_CUR
|
||||
|
@ -332,13 +332,13 @@ static __s32 uvc_ctrl_get_zoom(struct uvc_control_mapping *mapping,
|
|||
__s8 zoom = (__s8)data[0];
|
||||
|
||||
switch (query) {
|
||||
case GET_CUR:
|
||||
case UVC_GET_CUR:
|
||||
return (zoom == 0) ? 0 : (zoom > 0 ? data[2] : -data[2]);
|
||||
|
||||
case GET_MIN:
|
||||
case GET_MAX:
|
||||
case GET_RES:
|
||||
case GET_DEF:
|
||||
case UVC_GET_MIN:
|
||||
case UVC_GET_MAX:
|
||||
case UVC_GET_RES:
|
||||
case UVC_GET_DEF:
|
||||
default:
|
||||
return data[2];
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_BRIGHTNESS,
|
||||
.name = "Brightness",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_BRIGHTNESS_CONTROL,
|
||||
.selector = UVC_PU_BRIGHTNESS_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -366,7 +366,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_CONTRAST,
|
||||
.name = "Contrast",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_CONTRAST_CONTROL,
|
||||
.selector = UVC_PU_CONTRAST_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -376,7 +376,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_HUE,
|
||||
.name = "Hue",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_HUE_CONTROL,
|
||||
.selector = UVC_PU_HUE_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -386,7 +386,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_SATURATION,
|
||||
.name = "Saturation",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_SATURATION_CONTROL,
|
||||
.selector = UVC_PU_SATURATION_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -396,7 +396,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_SHARPNESS,
|
||||
.name = "Sharpness",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_SHARPNESS_CONTROL,
|
||||
.selector = UVC_PU_SHARPNESS_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -406,7 +406,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_GAMMA,
|
||||
.name = "Gamma",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_GAMMA_CONTROL,
|
||||
.selector = UVC_PU_GAMMA_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -416,7 +416,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_BACKLIGHT_COMPENSATION,
|
||||
.name = "Backlight Compensation",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_BACKLIGHT_COMPENSATION_CONTROL,
|
||||
.selector = UVC_PU_BACKLIGHT_COMPENSATION_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -426,7 +426,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_GAIN,
|
||||
.name = "Gain",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_GAIN_CONTROL,
|
||||
.selector = UVC_PU_GAIN_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -436,7 +436,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_POWER_LINE_FREQUENCY,
|
||||
.name = "Power Line Frequency",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_POWER_LINE_FREQUENCY_CONTROL,
|
||||
.selector = UVC_PU_POWER_LINE_FREQUENCY_CONTROL,
|
||||
.size = 2,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_MENU,
|
||||
|
@ -448,7 +448,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_HUE_AUTO,
|
||||
.name = "Hue, Auto",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_HUE_AUTO_CONTROL,
|
||||
.selector = UVC_PU_HUE_AUTO_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -458,7 +458,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_EXPOSURE_AUTO,
|
||||
.name = "Exposure, Auto",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_AE_MODE_CONTROL,
|
||||
.selector = UVC_CT_AE_MODE_CONTROL,
|
||||
.size = 4,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_MENU,
|
||||
|
@ -470,7 +470,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY,
|
||||
.name = "Exposure, Auto Priority",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_AE_PRIORITY_CONTROL,
|
||||
.selector = UVC_CT_AE_PRIORITY_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -480,7 +480,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_EXPOSURE_ABSOLUTE,
|
||||
.name = "Exposure (Absolute)",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_EXPOSURE_TIME_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL,
|
||||
.size = 32,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -490,7 +490,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_AUTO_WHITE_BALANCE,
|
||||
.name = "White Balance Temperature, Auto",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -500,7 +500,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_WHITE_BALANCE_TEMPERATURE,
|
||||
.name = "White Balance Temperature",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_TEMPERATURE_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -510,7 +510,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_AUTO_WHITE_BALANCE,
|
||||
.name = "White Balance Component, Auto",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -520,7 +520,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_BLUE_BALANCE,
|
||||
.name = "White Balance Blue Component",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -530,7 +530,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_RED_BALANCE,
|
||||
.name = "White Balance Red Component",
|
||||
.entity = UVC_GUID_UVC_PROCESSING,
|
||||
.selector = PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.selector = UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 16,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -540,7 +540,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_FOCUS_ABSOLUTE,
|
||||
.name = "Focus (absolute)",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_FOCUS_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_FOCUS_ABSOLUTE_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -550,7 +550,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_FOCUS_AUTO,
|
||||
.name = "Focus, Auto",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_FOCUS_AUTO_CONTROL,
|
||||
.selector = UVC_CT_FOCUS_AUTO_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -560,7 +560,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_ZOOM_ABSOLUTE,
|
||||
.name = "Zoom, Absolute",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ZOOM_ABSOLUTE_CONTROL,
|
||||
.selector = UVC_CT_ZOOM_ABSOLUTE_CONTROL,
|
||||
.size = 16,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -570,7 +570,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_ZOOM_CONTINUOUS,
|
||||
.name = "Zoom, Continuous",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_ZOOM_RELATIVE_CONTROL,
|
||||
.selector = UVC_CT_ZOOM_RELATIVE_CONTROL,
|
||||
.size = 0,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
|
||||
|
@ -582,7 +582,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
|
|||
.id = V4L2_CID_PRIVACY,
|
||||
.name = "Privacy",
|
||||
.entity = UVC_GUID_UVC_CAMERA,
|
||||
.selector = CT_PRIVACY_CONTROL,
|
||||
.selector = UVC_CT_PRIVACY_CONTROL,
|
||||
.size = 1,
|
||||
.offset = 0,
|
||||
.v4l2_type = V4L2_CTRL_TYPE_BOOLEAN,
|
||||
|
@ -675,16 +675,16 @@ static const __u8 uvc_media_transport_input_guid[16] =
|
|||
static int uvc_entity_match_guid(struct uvc_entity *entity, __u8 guid[16])
|
||||
{
|
||||
switch (UVC_ENTITY_TYPE(entity)) {
|
||||
case ITT_CAMERA:
|
||||
case UVC_ITT_CAMERA:
|
||||
return memcmp(uvc_camera_guid, guid, 16) == 0;
|
||||
|
||||
case ITT_MEDIA_TRANSPORT_INPUT:
|
||||
case UVC_ITT_MEDIA_TRANSPORT_INPUT:
|
||||
return memcmp(uvc_media_transport_input_guid, guid, 16) == 0;
|
||||
|
||||
case VC_PROCESSING_UNIT:
|
||||
case UVC_VC_PROCESSING_UNIT:
|
||||
return memcmp(uvc_processing_guid, guid, 16) == 0;
|
||||
|
||||
case VC_EXTENSION_UNIT:
|
||||
case UVC_VC_EXTENSION_UNIT:
|
||||
return memcmp(entity->extension.guidExtensionCode,
|
||||
guid, 16) == 0;
|
||||
|
||||
|
@ -793,11 +793,13 @@ int uvc_query_v4l2_ctrl(struct uvc_video_device *video,
|
|||
v4l2_ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||||
|
||||
if (ctrl->info->flags & UVC_CONTROL_GET_DEF) {
|
||||
if ((ret = uvc_query_ctrl(video->dev, GET_DEF, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector,
|
||||
data, ctrl->info->size)) < 0)
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_DEF, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector, data,
|
||||
ctrl->info->size);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
v4l2_ctrl->default_value = mapping->get(mapping, GET_DEF, data);
|
||||
v4l2_ctrl->default_value =
|
||||
mapping->get(mapping, UVC_GET_DEF, data);
|
||||
}
|
||||
|
||||
switch (mapping->v4l2_type) {
|
||||
|
@ -829,25 +831,28 @@ int uvc_query_v4l2_ctrl(struct uvc_video_device *video,
|
|||
}
|
||||
|
||||
if (ctrl->info->flags & UVC_CONTROL_GET_MIN) {
|
||||
if ((ret = uvc_query_ctrl(video->dev, GET_MIN, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector,
|
||||
data, ctrl->info->size)) < 0)
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_MIN, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector, data,
|
||||
ctrl->info->size);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
v4l2_ctrl->minimum = mapping->get(mapping, GET_MIN, data);
|
||||
v4l2_ctrl->minimum = mapping->get(mapping, UVC_GET_MIN, data);
|
||||
}
|
||||
if (ctrl->info->flags & UVC_CONTROL_GET_MAX) {
|
||||
if ((ret = uvc_query_ctrl(video->dev, GET_MAX, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector,
|
||||
data, ctrl->info->size)) < 0)
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_MAX, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector, data,
|
||||
ctrl->info->size);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
v4l2_ctrl->maximum = mapping->get(mapping, GET_MAX, data);
|
||||
v4l2_ctrl->maximum = mapping->get(mapping, UVC_GET_MAX, data);
|
||||
}
|
||||
if (ctrl->info->flags & UVC_CONTROL_GET_RES) {
|
||||
if ((ret = uvc_query_ctrl(video->dev, GET_RES, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector,
|
||||
data, ctrl->info->size)) < 0)
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_RES, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector, data,
|
||||
ctrl->info->size);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
v4l2_ctrl->step = mapping->get(mapping, GET_RES, data);
|
||||
v4l2_ctrl->step = mapping->get(mapping, UVC_GET_RES, data);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
@ -912,7 +917,7 @@ static int uvc_ctrl_commit_entity(struct uvc_device *dev,
|
|||
continue;
|
||||
|
||||
if (!rollback)
|
||||
ret = uvc_query_ctrl(dev, SET_CUR, ctrl->entity->id,
|
||||
ret = uvc_query_ctrl(dev, UVC_SET_CUR, ctrl->entity->id,
|
||||
dev->intfnum, ctrl->info->selector,
|
||||
uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT),
|
||||
ctrl->info->size);
|
||||
|
@ -974,7 +979,7 @@ int uvc_ctrl_get(struct uvc_video_device *video,
|
|||
return -EINVAL;
|
||||
|
||||
if (!ctrl->loaded) {
|
||||
ret = uvc_query_ctrl(video->dev, GET_CUR, ctrl->entity->id,
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_CUR, ctrl->entity->id,
|
||||
video->dev->intfnum, ctrl->info->selector,
|
||||
uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT),
|
||||
ctrl->info->size);
|
||||
|
@ -984,7 +989,7 @@ int uvc_ctrl_get(struct uvc_video_device *video,
|
|||
ctrl->loaded = 1;
|
||||
}
|
||||
|
||||
xctrl->value = mapping->get(mapping, GET_CUR,
|
||||
xctrl->value = mapping->get(mapping, UVC_GET_CUR,
|
||||
uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT));
|
||||
|
||||
if (mapping->v4l2_type == V4L2_CTRL_TYPE_MENU) {
|
||||
|
@ -1023,7 +1028,7 @@ int uvc_ctrl_set(struct uvc_video_device *video,
|
|||
memset(uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT),
|
||||
0, ctrl->info->size);
|
||||
} else {
|
||||
ret = uvc_query_ctrl(video->dev, GET_CUR,
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_CUR,
|
||||
ctrl->entity->id, video->dev->intfnum,
|
||||
ctrl->info->selector,
|
||||
uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT),
|
||||
|
@ -1115,9 +1120,9 @@ int uvc_xu_ctrl_query(struct uvc_video_device *video,
|
|||
goto out;
|
||||
}
|
||||
|
||||
ret = uvc_query_ctrl(video->dev, set ? SET_CUR : GET_CUR, xctrl->unit,
|
||||
video->dev->intfnum, xctrl->selector, data,
|
||||
xctrl->size);
|
||||
ret = uvc_query_ctrl(video->dev, set ? UVC_SET_CUR : UVC_GET_CUR,
|
||||
xctrl->unit, video->dev->intfnum, xctrl->selector,
|
||||
data, xctrl->size);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
|
@ -1211,7 +1216,7 @@ static void uvc_ctrl_add_ctrl(struct uvc_device *dev,
|
|||
if (!found)
|
||||
return;
|
||||
|
||||
if (UVC_ENTITY_TYPE(entity) == VC_EXTENSION_UNIT) {
|
||||
if (UVC_ENTITY_TYPE(entity) == UVC_VC_EXTENSION_UNIT) {
|
||||
/* Check if the device control information and length match
|
||||
* the user supplied information.
|
||||
*/
|
||||
|
@ -1219,8 +1224,9 @@ static void uvc_ctrl_add_ctrl(struct uvc_device *dev,
|
|||
__le16 size;
|
||||
__u8 inf;
|
||||
|
||||
if ((ret = uvc_query_ctrl(dev, GET_LEN, ctrl->entity->id,
|
||||
dev->intfnum, info->selector, (__u8 *)&size, 2)) < 0) {
|
||||
ret = uvc_query_ctrl(dev, UVC_GET_LEN, ctrl->entity->id,
|
||||
dev->intfnum, info->selector, (__u8 *)&size, 2);
|
||||
if (ret < 0) {
|
||||
uvc_trace(UVC_TRACE_CONTROL, "GET_LEN failed on "
|
||||
"control " UVC_GUID_FORMAT "/%u (%d).\n",
|
||||
UVC_GUID_ARGS(info->entity), info->selector,
|
||||
|
@ -1236,8 +1242,9 @@ static void uvc_ctrl_add_ctrl(struct uvc_device *dev,
|
|||
return;
|
||||
}
|
||||
|
||||
if ((ret = uvc_query_ctrl(dev, GET_INFO, ctrl->entity->id,
|
||||
dev->intfnum, info->selector, &inf, 1)) < 0) {
|
||||
ret = uvc_query_ctrl(dev, UVC_GET_INFO, ctrl->entity->id,
|
||||
dev->intfnum, info->selector, &inf, 1);
|
||||
if (ret < 0) {
|
||||
uvc_trace(UVC_TRACE_CONTROL, "GET_INFO failed on "
|
||||
"control " UVC_GUID_FORMAT "/%u (%d).\n",
|
||||
UVC_GUID_ARGS(info->entity), info->selector,
|
||||
|
@ -1391,7 +1398,7 @@ uvc_ctrl_prune_entity(struct uvc_device *dev, struct uvc_entity *entity)
|
|||
unsigned int size;
|
||||
unsigned int i;
|
||||
|
||||
if (UVC_ENTITY_TYPE(entity) != VC_PROCESSING_UNIT)
|
||||
if (UVC_ENTITY_TYPE(entity) != UVC_VC_PROCESSING_UNIT)
|
||||
return;
|
||||
|
||||
controls = entity->processing.bmControls;
|
||||
|
@ -1427,13 +1434,13 @@ int uvc_ctrl_init_device(struct uvc_device *dev)
|
|||
unsigned int bControlSize = 0, ncontrols = 0;
|
||||
__u8 *bmControls = NULL;
|
||||
|
||||
if (UVC_ENTITY_TYPE(entity) == VC_EXTENSION_UNIT) {
|
||||
if (UVC_ENTITY_TYPE(entity) == UVC_VC_EXTENSION_UNIT) {
|
||||
bmControls = entity->extension.bmControls;
|
||||
bControlSize = entity->extension.bControlSize;
|
||||
} else if (UVC_ENTITY_TYPE(entity) == VC_PROCESSING_UNIT) {
|
||||
} else if (UVC_ENTITY_TYPE(entity) == UVC_VC_PROCESSING_UNIT) {
|
||||
bmControls = entity->processing.bmControls;
|
||||
bControlSize = entity->processing.bControlSize;
|
||||
} else if (UVC_ENTITY_TYPE(entity) == ITT_CAMERA) {
|
||||
} else if (UVC_ENTITY_TYPE(entity) == UVC_ITT_CAMERA) {
|
||||
bmControls = entity->camera.bmControls;
|
||||
bControlSize = entity->camera.bControlSize;
|
||||
}
|
||||
|
|
|
@ -249,23 +249,23 @@ static struct uvc_entity *uvc_entity_by_reference(struct uvc_device *dev,
|
|||
|
||||
list_for_each_entry_continue(entity, &dev->entities, list) {
|
||||
switch (UVC_ENTITY_TYPE(entity)) {
|
||||
case TT_STREAMING:
|
||||
case UVC_TT_STREAMING:
|
||||
if (entity->output.bSourceID == id)
|
||||
return entity;
|
||||
break;
|
||||
|
||||
case VC_PROCESSING_UNIT:
|
||||
case UVC_VC_PROCESSING_UNIT:
|
||||
if (entity->processing.bSourceID == id)
|
||||
return entity;
|
||||
break;
|
||||
|
||||
case VC_SELECTOR_UNIT:
|
||||
case UVC_VC_SELECTOR_UNIT:
|
||||
for (i = 0; i < entity->selector.bNrInPins; ++i)
|
||||
if (entity->selector.baSourceID[i] == id)
|
||||
return entity;
|
||||
break;
|
||||
|
||||
case VC_EXTENSION_UNIT:
|
||||
case UVC_VC_EXTENSION_UNIT:
|
||||
for (i = 0; i < entity->extension.bNrInPins; ++i)
|
||||
if (entity->extension.baSourceID[i] == id)
|
||||
return entity;
|
||||
|
@ -297,9 +297,9 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
format->index = buffer[3];
|
||||
|
||||
switch (buffer[2]) {
|
||||
case VS_FORMAT_UNCOMPRESSED:
|
||||
case VS_FORMAT_FRAME_BASED:
|
||||
n = buffer[2] == VS_FORMAT_UNCOMPRESSED ? 27 : 28;
|
||||
case UVC_VS_FORMAT_UNCOMPRESSED:
|
||||
case UVC_VS_FORMAT_FRAME_BASED:
|
||||
n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28;
|
||||
if (buflen < n) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
"interface %d FORMAT error\n",
|
||||
|
@ -325,16 +325,16 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
}
|
||||
|
||||
format->bpp = buffer[21];
|
||||
if (buffer[2] == VS_FORMAT_UNCOMPRESSED) {
|
||||
ftype = VS_FRAME_UNCOMPRESSED;
|
||||
if (buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED) {
|
||||
ftype = UVC_VS_FRAME_UNCOMPRESSED;
|
||||
} else {
|
||||
ftype = VS_FRAME_FRAME_BASED;
|
||||
ftype = UVC_VS_FRAME_FRAME_BASED;
|
||||
if (buffer[27])
|
||||
format->flags = UVC_FMT_FLAG_COMPRESSED;
|
||||
}
|
||||
break;
|
||||
|
||||
case VS_FORMAT_MJPEG:
|
||||
case UVC_VS_FORMAT_MJPEG:
|
||||
if (buflen < 11) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
"interface %d FORMAT error\n",
|
||||
|
@ -347,10 +347,10 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
format->fcc = V4L2_PIX_FMT_MJPEG;
|
||||
format->flags = UVC_FMT_FLAG_COMPRESSED;
|
||||
format->bpp = 0;
|
||||
ftype = VS_FRAME_MJPEG;
|
||||
ftype = UVC_VS_FRAME_MJPEG;
|
||||
break;
|
||||
|
||||
case VS_FORMAT_DV:
|
||||
case UVC_VS_FORMAT_DV:
|
||||
if (buflen < 9) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
"interface %d FORMAT error\n",
|
||||
|
@ -395,8 +395,8 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
format->nframes = 1;
|
||||
break;
|
||||
|
||||
case VS_FORMAT_MPEG2TS:
|
||||
case VS_FORMAT_STREAM_BASED:
|
||||
case UVC_VS_FORMAT_MPEG2TS:
|
||||
case UVC_VS_FORMAT_STREAM_BASED:
|
||||
/* Not supported yet. */
|
||||
default:
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
|
@ -416,7 +416,7 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
*/
|
||||
while (buflen > 2 && buffer[2] == ftype) {
|
||||
frame = &format->frame[format->nframes];
|
||||
if (ftype != VS_FRAME_FRAME_BASED)
|
||||
if (ftype != UVC_VS_FRAME_FRAME_BASED)
|
||||
n = buflen > 25 ? buffer[25] : 0;
|
||||
else
|
||||
n = buflen > 21 ? buffer[21] : 0;
|
||||
|
@ -436,7 +436,7 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
frame->wHeight = get_unaligned_le16(&buffer[7]);
|
||||
frame->dwMinBitRate = get_unaligned_le32(&buffer[9]);
|
||||
frame->dwMaxBitRate = get_unaligned_le32(&buffer[13]);
|
||||
if (ftype != VS_FRAME_FRAME_BASED) {
|
||||
if (ftype != UVC_VS_FRAME_FRAME_BASED) {
|
||||
frame->dwMaxVideoFrameBufferSize =
|
||||
get_unaligned_le32(&buffer[17]);
|
||||
frame->dwDefaultFrameInterval =
|
||||
|
@ -491,12 +491,12 @@ static int uvc_parse_format(struct uvc_device *dev,
|
|||
buffer += buffer[0];
|
||||
}
|
||||
|
||||
if (buflen > 2 && buffer[2] == VS_STILL_IMAGE_FRAME) {
|
||||
if (buflen > 2 && buffer[2] == UVC_VS_STILL_IMAGE_FRAME) {
|
||||
buflen -= buffer[0];
|
||||
buffer += buffer[0];
|
||||
}
|
||||
|
||||
if (buflen > 2 && buffer[2] == VS_COLORFORMAT) {
|
||||
if (buflen > 2 && buffer[2] == UVC_VS_COLORFORMAT) {
|
||||
if (buflen < 6) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
"interface %d COLORFORMAT error\n",
|
||||
|
@ -530,7 +530,7 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
int ret = -EINVAL;
|
||||
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass
|
||||
!= SC_VIDEOSTREAMING) {
|
||||
!= UVC_SC_VIDEOSTREAMING) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d interface %d isn't a "
|
||||
"video streaming interface\n", dev->udev->devnum,
|
||||
intf->altsetting[0].desc.bInterfaceNumber);
|
||||
|
@ -589,12 +589,12 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
|
||||
/* Parse the header descriptor. */
|
||||
switch (buffer[2]) {
|
||||
case VS_OUTPUT_HEADER:
|
||||
case UVC_VS_OUTPUT_HEADER:
|
||||
streaming->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
|
||||
size = 9;
|
||||
break;
|
||||
|
||||
case VS_INPUT_HEADER:
|
||||
case UVC_VS_INPUT_HEADER:
|
||||
streaming->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||
size = 13;
|
||||
break;
|
||||
|
@ -618,7 +618,7 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
|
||||
streaming->header.bNumFormats = p;
|
||||
streaming->header.bEndpointAddress = buffer[6];
|
||||
if (buffer[2] == VS_INPUT_HEADER) {
|
||||
if (buffer[2] == UVC_VS_INPUT_HEADER) {
|
||||
streaming->header.bmInfo = buffer[7];
|
||||
streaming->header.bTerminalLink = buffer[8];
|
||||
streaming->header.bStillCaptureMethod = buffer[9];
|
||||
|
@ -646,13 +646,13 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
/* Count the format and frame descriptors. */
|
||||
while (_buflen > 2 && _buffer[1] == USB_DT_CS_INTERFACE) {
|
||||
switch (_buffer[2]) {
|
||||
case VS_FORMAT_UNCOMPRESSED:
|
||||
case VS_FORMAT_MJPEG:
|
||||
case VS_FORMAT_FRAME_BASED:
|
||||
case UVC_VS_FORMAT_UNCOMPRESSED:
|
||||
case UVC_VS_FORMAT_MJPEG:
|
||||
case UVC_VS_FORMAT_FRAME_BASED:
|
||||
nformats++;
|
||||
break;
|
||||
|
||||
case VS_FORMAT_DV:
|
||||
case UVC_VS_FORMAT_DV:
|
||||
/* DV format has no frame descriptor. We will create a
|
||||
* dummy frame descriptor with a dummy frame interval.
|
||||
*/
|
||||
|
@ -661,22 +661,22 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
nintervals++;
|
||||
break;
|
||||
|
||||
case VS_FORMAT_MPEG2TS:
|
||||
case VS_FORMAT_STREAM_BASED:
|
||||
case UVC_VS_FORMAT_MPEG2TS:
|
||||
case UVC_VS_FORMAT_STREAM_BASED:
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming "
|
||||
"interface %d FORMAT %u is not supported.\n",
|
||||
dev->udev->devnum,
|
||||
alts->desc.bInterfaceNumber, _buffer[2]);
|
||||
break;
|
||||
|
||||
case VS_FRAME_UNCOMPRESSED:
|
||||
case VS_FRAME_MJPEG:
|
||||
case UVC_VS_FRAME_UNCOMPRESSED:
|
||||
case UVC_VS_FRAME_MJPEG:
|
||||
nframes++;
|
||||
if (_buflen > 25)
|
||||
nintervals += _buffer[25] ? _buffer[25] : 3;
|
||||
break;
|
||||
|
||||
case VS_FRAME_FRAME_BASED:
|
||||
case UVC_VS_FRAME_FRAME_BASED:
|
||||
nframes++;
|
||||
if (_buflen > 21)
|
||||
nintervals += _buffer[21] ? _buffer[21] : 3;
|
||||
|
@ -711,10 +711,10 @@ static int uvc_parse_streaming(struct uvc_device *dev,
|
|||
/* Parse the format descriptors. */
|
||||
while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE) {
|
||||
switch (buffer[2]) {
|
||||
case VS_FORMAT_UNCOMPRESSED:
|
||||
case VS_FORMAT_MJPEG:
|
||||
case VS_FORMAT_DV:
|
||||
case VS_FORMAT_FRAME_BASED:
|
||||
case UVC_VS_FORMAT_UNCOMPRESSED:
|
||||
case UVC_VS_FORMAT_MJPEG:
|
||||
case UVC_VS_FORMAT_DV:
|
||||
case UVC_VS_FORMAT_FRAME_BASED:
|
||||
format->frame = frame;
|
||||
ret = uvc_parse_format(dev, streaming, format,
|
||||
&interval, buffer, buflen);
|
||||
|
@ -819,7 +819,7 @@ static int uvc_parse_vendor_control(struct uvc_device *dev,
|
|||
return -ENOMEM;
|
||||
|
||||
unit->id = buffer[3];
|
||||
unit->type = VC_EXTENSION_UNIT;
|
||||
unit->type = UVC_VC_EXTENSION_UNIT;
|
||||
memcpy(unit->extension.guidExtensionCode, &buffer[4], 16);
|
||||
unit->extension.bNumControls = buffer[20];
|
||||
unit->extension.bNrInPins = get_unaligned_le16(&buffer[21]);
|
||||
|
@ -856,7 +856,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
__u16 type;
|
||||
|
||||
switch (buffer[2]) {
|
||||
case VC_HEADER:
|
||||
case UVC_VC_HEADER:
|
||||
n = buflen >= 12 ? buffer[11] : 0;
|
||||
|
||||
if (buflen < 12 || buflen < 12 + n) {
|
||||
|
@ -883,7 +883,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
}
|
||||
break;
|
||||
|
||||
case VC_INPUT_TERMINAL:
|
||||
case UVC_VC_INPUT_TERMINAL:
|
||||
if (buflen < 8) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videocontrol "
|
||||
"interface %d INPUT_TERMINAL error\n",
|
||||
|
@ -908,11 +908,11 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
p = 0;
|
||||
len = 8;
|
||||
|
||||
if (type == ITT_CAMERA) {
|
||||
if (type == UVC_ITT_CAMERA) {
|
||||
n = buflen >= 15 ? buffer[14] : 0;
|
||||
len = 15;
|
||||
|
||||
} else if (type == ITT_MEDIA_TRANSPORT_INPUT) {
|
||||
} else if (type == UVC_ITT_MEDIA_TRANSPORT_INPUT) {
|
||||
n = buflen >= 9 ? buffer[8] : 0;
|
||||
p = buflen >= 10 + n ? buffer[9+n] : 0;
|
||||
len = 10;
|
||||
|
@ -932,7 +932,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
term->id = buffer[3];
|
||||
term->type = type | UVC_TERM_INPUT;
|
||||
|
||||
if (UVC_ENTITY_TYPE(term) == ITT_CAMERA) {
|
||||
if (UVC_ENTITY_TYPE(term) == UVC_ITT_CAMERA) {
|
||||
term->camera.bControlSize = n;
|
||||
term->camera.bmControls = (__u8 *)term + sizeof *term;
|
||||
term->camera.wObjectiveFocalLengthMin =
|
||||
|
@ -942,7 +942,8 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
term->camera.wOcularFocalLength =
|
||||
get_unaligned_le16(&buffer[12]);
|
||||
memcpy(term->camera.bmControls, &buffer[15], n);
|
||||
} else if (UVC_ENTITY_TYPE(term) == ITT_MEDIA_TRANSPORT_INPUT) {
|
||||
} else if (UVC_ENTITY_TYPE(term) ==
|
||||
UVC_ITT_MEDIA_TRANSPORT_INPUT) {
|
||||
term->media.bControlSize = n;
|
||||
term->media.bmControls = (__u8 *)term + sizeof *term;
|
||||
term->media.bTransportModeSize = p;
|
||||
|
@ -955,9 +956,9 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
if (buffer[7] != 0)
|
||||
usb_string(udev, buffer[7], term->name,
|
||||
sizeof term->name);
|
||||
else if (UVC_ENTITY_TYPE(term) == ITT_CAMERA)
|
||||
else if (UVC_ENTITY_TYPE(term) == UVC_ITT_CAMERA)
|
||||
sprintf(term->name, "Camera %u", buffer[3]);
|
||||
else if (UVC_ENTITY_TYPE(term) == ITT_MEDIA_TRANSPORT_INPUT)
|
||||
else if (UVC_ENTITY_TYPE(term) == UVC_ITT_MEDIA_TRANSPORT_INPUT)
|
||||
sprintf(term->name, "Media %u", buffer[3]);
|
||||
else
|
||||
sprintf(term->name, "Input %u", buffer[3]);
|
||||
|
@ -965,7 +966,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
list_add_tail(&term->list, &dev->entities);
|
||||
break;
|
||||
|
||||
case VC_OUTPUT_TERMINAL:
|
||||
case UVC_VC_OUTPUT_TERMINAL:
|
||||
if (buflen < 9) {
|
||||
uvc_trace(UVC_TRACE_DESCR, "device %d videocontrol "
|
||||
"interface %d OUTPUT_TERMINAL error\n",
|
||||
|
@ -1002,7 +1003,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
list_add_tail(&term->list, &dev->entities);
|
||||
break;
|
||||
|
||||
case VC_SELECTOR_UNIT:
|
||||
case UVC_VC_SELECTOR_UNIT:
|
||||
p = buflen >= 5 ? buffer[4] : 0;
|
||||
|
||||
if (buflen < 5 || buflen < 6 + p) {
|
||||
|
@ -1031,7 +1032,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
list_add_tail(&unit->list, &dev->entities);
|
||||
break;
|
||||
|
||||
case VC_PROCESSING_UNIT:
|
||||
case UVC_VC_PROCESSING_UNIT:
|
||||
n = buflen >= 8 ? buffer[7] : 0;
|
||||
p = dev->uvc_version >= 0x0110 ? 10 : 9;
|
||||
|
||||
|
@ -1066,7 +1067,7 @@ static int uvc_parse_standard_control(struct uvc_device *dev,
|
|||
list_add_tail(&unit->list, &dev->entities);
|
||||
break;
|
||||
|
||||
case VC_EXTENSION_UNIT:
|
||||
case UVC_VC_EXTENSION_UNIT:
|
||||
p = buflen >= 22 ? buffer[21] : 0;
|
||||
n = buflen >= 24 + p ? buffer[22+p] : 0;
|
||||
|
||||
|
@ -1194,7 +1195,7 @@ static int uvc_scan_chain_entity(struct uvc_video_device *video,
|
|||
struct uvc_entity *entity)
|
||||
{
|
||||
switch (UVC_ENTITY_TYPE(entity)) {
|
||||
case VC_EXTENSION_UNIT:
|
||||
case UVC_VC_EXTENSION_UNIT:
|
||||
if (uvc_trace_param & UVC_TRACE_PROBE)
|
||||
printk(" <- XU %d", entity->id);
|
||||
|
||||
|
@ -1207,7 +1208,7 @@ static int uvc_scan_chain_entity(struct uvc_video_device *video,
|
|||
list_add_tail(&entity->chain, &video->extensions);
|
||||
break;
|
||||
|
||||
case VC_PROCESSING_UNIT:
|
||||
case UVC_VC_PROCESSING_UNIT:
|
||||
if (uvc_trace_param & UVC_TRACE_PROBE)
|
||||
printk(" <- PU %d", entity->id);
|
||||
|
||||
|
@ -1220,7 +1221,7 @@ static int uvc_scan_chain_entity(struct uvc_video_device *video,
|
|||
video->processing = entity;
|
||||
break;
|
||||
|
||||
case VC_SELECTOR_UNIT:
|
||||
case UVC_VC_SELECTOR_UNIT:
|
||||
if (uvc_trace_param & UVC_TRACE_PROBE)
|
||||
printk(" <- SU %d", entity->id);
|
||||
|
||||
|
@ -1237,16 +1238,16 @@ static int uvc_scan_chain_entity(struct uvc_video_device *video,
|
|||
video->selector = entity;
|
||||
break;
|
||||
|
||||
case ITT_VENDOR_SPECIFIC:
|
||||
case ITT_CAMERA:
|
||||
case ITT_MEDIA_TRANSPORT_INPUT:
|
||||
case UVC_ITT_VENDOR_SPECIFIC:
|
||||
case UVC_ITT_CAMERA:
|
||||
case UVC_ITT_MEDIA_TRANSPORT_INPUT:
|
||||
if (uvc_trace_param & UVC_TRACE_PROBE)
|
||||
printk(" <- IT %d\n", entity->id);
|
||||
|
||||
list_add_tail(&entity->chain, &video->iterms);
|
||||
break;
|
||||
|
||||
case TT_STREAMING:
|
||||
case UVC_TT_STREAMING:
|
||||
if (uvc_trace_param & UVC_TRACE_PROBE)
|
||||
printk(" <- IT %d\n", entity->id);
|
||||
|
||||
|
@ -1291,7 +1292,7 @@ static int uvc_scan_chain_forward(struct uvc_video_device *video,
|
|||
if (forward == NULL)
|
||||
break;
|
||||
|
||||
if (UVC_ENTITY_TYPE(forward) != VC_EXTENSION_UNIT ||
|
||||
if (UVC_ENTITY_TYPE(forward) != UVC_VC_EXTENSION_UNIT ||
|
||||
forward == prev)
|
||||
continue;
|
||||
|
||||
|
@ -1323,15 +1324,15 @@ static int uvc_scan_chain_backward(struct uvc_video_device *video,
|
|||
int id = -1, i;
|
||||
|
||||
switch (UVC_ENTITY_TYPE(entity)) {
|
||||
case VC_EXTENSION_UNIT:
|
||||
case UVC_VC_EXTENSION_UNIT:
|
||||
id = entity->extension.baSourceID[0];
|
||||
break;
|
||||
|
||||
case VC_PROCESSING_UNIT:
|
||||
case UVC_VC_PROCESSING_UNIT:
|
||||
id = entity->processing.bSourceID;
|
||||
break;
|
||||
|
||||
case VC_SELECTOR_UNIT:
|
||||
case UVC_VC_SELECTOR_UNIT:
|
||||
/* Single-input selector units are ignored. */
|
||||
if (entity->selector.bNrInPins == 1) {
|
||||
id = entity->selector.baSourceID[0];
|
||||
|
@ -1377,7 +1378,7 @@ static int uvc_scan_chain(struct uvc_video_device *video)
|
|||
entity = video->oterm;
|
||||
uvc_trace(UVC_TRACE_PROBE, "Scanning UVC chain: OT %d", entity->id);
|
||||
|
||||
if (UVC_ENTITY_TYPE(entity) == TT_STREAMING)
|
||||
if (UVC_ENTITY_TYPE(entity) == UVC_TT_STREAMING)
|
||||
video->sterm = entity;
|
||||
|
||||
id = entity->output.bSourceID;
|
||||
|
@ -1664,7 +1665,8 @@ static void uvc_disconnect(struct usb_interface *intf)
|
|||
*/
|
||||
usb_set_intfdata(intf, NULL);
|
||||
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOSTREAMING)
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass ==
|
||||
UVC_SC_VIDEOSTREAMING)
|
||||
return;
|
||||
|
||||
/* uvc_v4l2_open() might race uvc_disconnect(). A static driver-wide
|
||||
|
@ -1692,7 +1694,8 @@ static int uvc_suspend(struct usb_interface *intf, pm_message_t message)
|
|||
intf->cur_altsetting->desc.bInterfaceNumber);
|
||||
|
||||
/* Controls are cached on the fly so they don't need to be saved. */
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL)
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass ==
|
||||
UVC_SC_VIDEOCONTROL)
|
||||
return uvc_status_suspend(dev);
|
||||
|
||||
if (dev->video.streaming->intf != intf) {
|
||||
|
@ -1711,7 +1714,8 @@ static int __uvc_resume(struct usb_interface *intf, int reset)
|
|||
uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n",
|
||||
intf->cur_altsetting->desc.bInterfaceNumber);
|
||||
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) {
|
||||
if (intf->cur_altsetting->desc.bInterfaceSubClass ==
|
||||
UVC_SC_VIDEOCONTROL) {
|
||||
if (reset) {
|
||||
int ret = uvc_ctrl_resume_device(dev);
|
||||
|
||||
|
|
|
@ -648,7 +648,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
memset(input, 0, sizeof *input);
|
||||
input->index = index;
|
||||
strlcpy(input->name, iterm->name, sizeof input->name);
|
||||
if (UVC_ENTITY_TYPE(iterm) == ITT_CAMERA)
|
||||
if (UVC_ENTITY_TYPE(iterm) == UVC_ITT_CAMERA)
|
||||
input->type = V4L2_INPUT_TYPE_CAMERA;
|
||||
break;
|
||||
}
|
||||
|
@ -663,9 +663,9 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
break;
|
||||
}
|
||||
|
||||
ret = uvc_query_ctrl(video->dev, GET_CUR, video->selector->id,
|
||||
video->dev->intfnum, SU_INPUT_SELECT_CONTROL,
|
||||
&input, 1);
|
||||
ret = uvc_query_ctrl(video->dev, UVC_GET_CUR,
|
||||
video->selector->id, video->dev->intfnum,
|
||||
UVC_SU_INPUT_SELECT_CONTROL, &input, 1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
@ -690,9 +690,9 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
if (input == 0 || input > video->selector->selector.bNrInPins)
|
||||
return -EINVAL;
|
||||
|
||||
return uvc_query_ctrl(video->dev, SET_CUR, video->selector->id,
|
||||
video->dev->intfnum, SU_INPUT_SELECT_CONTROL,
|
||||
&input, 1);
|
||||
return uvc_query_ctrl(video->dev, UVC_SET_CUR,
|
||||
video->selector->id, video->dev->intfnum,
|
||||
UVC_SU_INPUT_SELECT_CONTROL, &input, 1);
|
||||
}
|
||||
|
||||
/* Try, Get, Set & Enum format */
|
||||
|
|
|
@ -129,10 +129,10 @@ static int uvc_get_video_ctrl(struct uvc_video_device *video,
|
|||
return -ENOMEM;
|
||||
|
||||
ret = __uvc_query_ctrl(video->dev, query, 0, video->streaming->intfnum,
|
||||
probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, data, size,
|
||||
UVC_CTRL_STREAMING_TIMEOUT);
|
||||
probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data,
|
||||
size, UVC_CTRL_STREAMING_TIMEOUT);
|
||||
|
||||
if ((query == GET_MIN || query == GET_MAX) && ret == 2) {
|
||||
if ((query == UVC_GET_MIN || query == UVC_GET_MAX) && ret == 2) {
|
||||
/* Some cameras, mostly based on Bison Electronics chipsets,
|
||||
* answer a GET_MIN or GET_MAX request with the wCompQuality
|
||||
* field only.
|
||||
|
@ -144,7 +144,7 @@ static int uvc_get_video_ctrl(struct uvc_video_device *video,
|
|||
ctrl->wCompQuality = le16_to_cpup((__le16 *)data);
|
||||
ret = 0;
|
||||
goto out;
|
||||
} else if (query == GET_DEF && probe == 1 && ret != size) {
|
||||
} else if (query == UVC_GET_DEF && probe == 1 && ret != size) {
|
||||
/* Many cameras don't support the GET_DEF request on their
|
||||
* video probe control. Warn once and return, the caller will
|
||||
* fall back to GET_CUR.
|
||||
|
@ -232,10 +232,10 @@ static int uvc_set_video_ctrl(struct uvc_video_device *video,
|
|||
data[33] = ctrl->bMaxVersion;
|
||||
}
|
||||
|
||||
ret = __uvc_query_ctrl(video->dev, SET_CUR, 0,
|
||||
ret = __uvc_query_ctrl(video->dev, UVC_SET_CUR, 0,
|
||||
video->streaming->intfnum,
|
||||
probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, data, size,
|
||||
UVC_CTRL_STREAMING_TIMEOUT);
|
||||
probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data,
|
||||
size, UVC_CTRL_STREAMING_TIMEOUT);
|
||||
if (ret != size) {
|
||||
uvc_printk(KERN_ERR, "Failed to set UVC %s control : "
|
||||
"%d (exp. %u).\n", probe ? "probe" : "commit",
|
||||
|
@ -269,10 +269,10 @@ int uvc_probe_video(struct uvc_video_device *video,
|
|||
|
||||
/* Get the minimum and maximum values for compression settings. */
|
||||
if (!(video->dev->quirks & UVC_QUIRK_PROBE_MINMAX)) {
|
||||
ret = uvc_get_video_ctrl(video, &probe_min, 1, GET_MIN);
|
||||
ret = uvc_get_video_ctrl(video, &probe_min, 1, UVC_GET_MIN);
|
||||
if (ret < 0)
|
||||
goto done;
|
||||
ret = uvc_get_video_ctrl(video, &probe_max, 1, GET_MAX);
|
||||
ret = uvc_get_video_ctrl(video, &probe_max, 1, UVC_GET_MAX);
|
||||
if (ret < 0)
|
||||
goto done;
|
||||
|
||||
|
@ -280,8 +280,11 @@ int uvc_probe_video(struct uvc_video_device *video,
|
|||
}
|
||||
|
||||
for (i = 0; i < 2; ++i) {
|
||||
if ((ret = uvc_set_video_ctrl(video, probe, 1)) < 0 ||
|
||||
(ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)
|
||||
ret = uvc_set_video_ctrl(video, probe, 1);
|
||||
if (ret < 0)
|
||||
goto done;
|
||||
ret = uvc_get_video_ctrl(video, probe, 1, UVC_GET_CUR);
|
||||
if (ret < 0)
|
||||
goto done;
|
||||
|
||||
if (video->streaming->intf->num_altsetting == 1)
|
||||
|
@ -1065,7 +1068,7 @@ int uvc_video_init(struct uvc_video_device *video)
|
|||
* requests on the probe control will just keep their current streaming
|
||||
* parameters.
|
||||
*/
|
||||
if (uvc_get_video_ctrl(video, probe, 1, GET_DEF) == 0)
|
||||
if (uvc_get_video_ctrl(video, probe, 1, UVC_GET_DEF) == 0)
|
||||
uvc_set_video_ctrl(video, probe, 1);
|
||||
|
||||
/* Initialize the streaming parameters with the probe control current
|
||||
|
@ -1073,7 +1076,8 @@ int uvc_video_init(struct uvc_video_device *video)
|
|||
* control will always use values retrieved from a successful GET_CUR
|
||||
* request on the probe control, as required by the UVC specification.
|
||||
*/
|
||||
if ((ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)
|
||||
ret = uvc_get_video_ctrl(video, probe, 1, UVC_GET_CUR);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* Check if the default format descriptor exists. Use the first
|
||||
|
|
|
@ -72,142 +72,142 @@ struct uvc_xu_control {
|
|||
* UVC constants
|
||||
*/
|
||||
|
||||
#define SC_UNDEFINED 0x00
|
||||
#define SC_VIDEOCONTROL 0x01
|
||||
#define SC_VIDEOSTREAMING 0x02
|
||||
#define SC_VIDEO_INTERFACE_COLLECTION 0x03
|
||||
#define UVC_SC_UNDEFINED 0x00
|
||||
#define UVC_SC_VIDEOCONTROL 0x01
|
||||
#define UVC_SC_VIDEOSTREAMING 0x02
|
||||
#define UVC_SC_VIDEO_INTERFACE_COLLECTION 0x03
|
||||
|
||||
#define PC_PROTOCOL_UNDEFINED 0x00
|
||||
#define UVC_PC_PROTOCOL_UNDEFINED 0x00
|
||||
|
||||
/* 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
|
||||
#define UVC_VC_DESCRIPTOR_UNDEFINED 0x00
|
||||
#define UVC_VC_HEADER 0x01
|
||||
#define UVC_VC_INPUT_TERMINAL 0x02
|
||||
#define UVC_VC_OUTPUT_TERMINAL 0x03
|
||||
#define UVC_VC_SELECTOR_UNIT 0x04
|
||||
#define UVC_VC_PROCESSING_UNIT 0x05
|
||||
#define UVC_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
|
||||
#define UVC_VS_UNDEFINED 0x00
|
||||
#define UVC_VS_INPUT_HEADER 0x01
|
||||
#define UVC_VS_OUTPUT_HEADER 0x02
|
||||
#define UVC_VS_STILL_IMAGE_FRAME 0x03
|
||||
#define UVC_VS_FORMAT_UNCOMPRESSED 0x04
|
||||
#define UVC_VS_FRAME_UNCOMPRESSED 0x05
|
||||
#define UVC_VS_FORMAT_MJPEG 0x06
|
||||
#define UVC_VS_FRAME_MJPEG 0x07
|
||||
#define UVC_VS_FORMAT_MPEG2TS 0x0a
|
||||
#define UVC_VS_FORMAT_DV 0x0c
|
||||
#define UVC_VS_COLORFORMAT 0x0d
|
||||
#define UVC_VS_FORMAT_FRAME_BASED 0x10
|
||||
#define UVC_VS_FRAME_FRAME_BASED 0x11
|
||||
#define UVC_VS_FORMAT_STREAM_BASED 0x12
|
||||
|
||||
/* Endpoint type */
|
||||
#define EP_UNDEFINED 0x00
|
||||
#define EP_GENERAL 0x01
|
||||
#define EP_ENDPOINT 0x02
|
||||
#define EP_INTERRUPT 0x03
|
||||
#define UVC_EP_UNDEFINED 0x00
|
||||
#define UVC_EP_GENERAL 0x01
|
||||
#define UVC_EP_ENDPOINT 0x02
|
||||
#define UVC_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
|
||||
#define UVC_RC_UNDEFINED 0x00
|
||||
#define UVC_SET_CUR 0x01
|
||||
#define UVC_GET_CUR 0x81
|
||||
#define UVC_GET_MIN 0x82
|
||||
#define UVC_GET_MAX 0x83
|
||||
#define UVC_GET_RES 0x84
|
||||
#define UVC_GET_LEN 0x85
|
||||
#define UVC_GET_INFO 0x86
|
||||
#define UVC_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
|
||||
#define UVC_VC_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_VC_VIDEO_POWER_MODE_CONTROL 0x01
|
||||
#define UVC_VC_REQUEST_ERROR_CODE_CONTROL 0x02
|
||||
|
||||
/* Terminal controls */
|
||||
#define TE_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_TE_CONTROL_UNDEFINED 0x00
|
||||
|
||||
/* Selector Unit controls */
|
||||
#define SU_CONTROL_UNDEFINED 0x00
|
||||
#define SU_INPUT_SELECT_CONTROL 0x01
|
||||
#define UVC_SU_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_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
|
||||
#define UVC_CT_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_CT_SCANNING_MODE_CONTROL 0x01
|
||||
#define UVC_CT_AE_MODE_CONTROL 0x02
|
||||
#define UVC_CT_AE_PRIORITY_CONTROL 0x03
|
||||
#define UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04
|
||||
#define UVC_CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05
|
||||
#define UVC_CT_FOCUS_ABSOLUTE_CONTROL 0x06
|
||||
#define UVC_CT_FOCUS_RELATIVE_CONTROL 0x07
|
||||
#define UVC_CT_FOCUS_AUTO_CONTROL 0x08
|
||||
#define UVC_CT_IRIS_ABSOLUTE_CONTROL 0x09
|
||||
#define UVC_CT_IRIS_RELATIVE_CONTROL 0x0a
|
||||
#define UVC_CT_ZOOM_ABSOLUTE_CONTROL 0x0b
|
||||
#define UVC_CT_ZOOM_RELATIVE_CONTROL 0x0c
|
||||
#define UVC_CT_PANTILT_ABSOLUTE_CONTROL 0x0d
|
||||
#define UVC_CT_PANTILT_RELATIVE_CONTROL 0x0e
|
||||
#define UVC_CT_ROLL_ABSOLUTE_CONTROL 0x0f
|
||||
#define UVC_CT_ROLL_RELATIVE_CONTROL 0x10
|
||||
#define UVC_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 UVC_PU_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_PU_BACKLIGHT_COMPENSATION_CONTROL 0x01
|
||||
#define UVC_PU_BRIGHTNESS_CONTROL 0x02
|
||||
#define UVC_PU_CONTRAST_CONTROL 0x03
|
||||
#define UVC_PU_GAIN_CONTROL 0x04
|
||||
#define UVC_PU_POWER_LINE_FREQUENCY_CONTROL 0x05
|
||||
#define UVC_PU_HUE_CONTROL 0x06
|
||||
#define UVC_PU_SATURATION_CONTROL 0x07
|
||||
#define UVC_PU_SHARPNESS_CONTROL 0x08
|
||||
#define UVC_PU_GAMMA_CONTROL 0x09
|
||||
#define UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL 0x0a
|
||||
#define UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL 0x0b
|
||||
#define UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL 0x0c
|
||||
#define UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL 0x0d
|
||||
#define UVC_PU_DIGITAL_MULTIPLIER_CONTROL 0x0e
|
||||
#define UVC_PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL 0x0f
|
||||
#define UVC_PU_HUE_AUTO_CONTROL 0x10
|
||||
#define UVC_PU_ANALOG_VIDEO_STANDARD_CONTROL 0x11
|
||||
#define UVC_PU_ANALOG_LOCK_STATUS_CONTROL 0x12
|
||||
|
||||
#define LXU_MOTOR_PANTILT_RELATIVE_CONTROL 0x01
|
||||
#define LXU_MOTOR_PANTILT_RESET_CONTROL 0x02
|
||||
#define LXU_MOTOR_FOCUS_MOTOR_CONTROL 0x03
|
||||
#define UVC_LXU_MOTOR_PANTILT_RELATIVE_CONTROL 0x01
|
||||
#define UVC_LXU_MOTOR_PANTILT_RESET_CONTROL 0x02
|
||||
#define UVC_LXU_MOTOR_FOCUS_MOTOR_CONTROL 0x03
|
||||
|
||||
/* 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 UVC_VS_CONTROL_UNDEFINED 0x00
|
||||
#define UVC_VS_PROBE_CONTROL 0x01
|
||||
#define UVC_VS_COMMIT_CONTROL 0x02
|
||||
#define UVC_VS_STILL_PROBE_CONTROL 0x03
|
||||
#define UVC_VS_STILL_COMMIT_CONTROL 0x04
|
||||
#define UVC_VS_STILL_IMAGE_TRIGGER_CONTROL 0x05
|
||||
#define UVC_VS_STREAM_ERROR_CODE_CONTROL 0x06
|
||||
#define UVC_VS_GENERATE_KEY_FRAME_CONTROL 0x07
|
||||
#define UVC_VS_UPDATE_FRAME_SEGMENT_CONTROL 0x08
|
||||
#define UVC_VS_SYNC_DELAY_CONTROL 0x09
|
||||
|
||||
#define TT_VENDOR_SPECIFIC 0x0100
|
||||
#define TT_STREAMING 0x0101
|
||||
#define UVC_TT_VENDOR_SPECIFIC 0x0100
|
||||
#define UVC_TT_STREAMING 0x0101
|
||||
|
||||
/* Input Terminal types */
|
||||
#define ITT_VENDOR_SPECIFIC 0x0200
|
||||
#define ITT_CAMERA 0x0201
|
||||
#define ITT_MEDIA_TRANSPORT_INPUT 0x0202
|
||||
#define UVC_ITT_VENDOR_SPECIFIC 0x0200
|
||||
#define UVC_ITT_CAMERA 0x0201
|
||||
#define UVC_ITT_MEDIA_TRANSPORT_INPUT 0x0202
|
||||
|
||||
/* Output Terminal types */
|
||||
#define OTT_VENDOR_SPECIFIC 0x0300
|
||||
#define OTT_DISPLAY 0x0301
|
||||
#define OTT_MEDIA_TRANSPORT_OUTPUT 0x0302
|
||||
#define UVC_OTT_VENDOR_SPECIFIC 0x0300
|
||||
#define UVC_OTT_DISPLAY 0x0301
|
||||
#define UVC_OTT_MEDIA_TRANSPORT_OUTPUT 0x0302
|
||||
|
||||
/* External Terminal types */
|
||||
#define EXTERNAL_VENDOR_SPECIFIC 0x0400
|
||||
#define COMPOSITE_CONNECTOR 0x0401
|
||||
#define SVIDEO_CONNECTOR 0x0402
|
||||
#define COMPONENT_CONNECTOR 0x0403
|
||||
#define UVC_EXTERNAL_VENDOR_SPECIFIC 0x0400
|
||||
#define UVC_COMPOSITE_CONNECTOR 0x0401
|
||||
#define UVC_SVIDEO_CONNECTOR 0x0402
|
||||
#define UVC_COMPONENT_CONNECTOR 0x0403
|
||||
|
||||
#define UVC_TERM_INPUT 0x0000
|
||||
#define UVC_TERM_OUTPUT 0x8000
|
||||
|
|
Loading…
Reference in a new issue