v4l2_controls.h
1/*******************************************************************************#
2# guvcview http://guvcview.berlios.de #
3# #
4# Paulo Assis <pj.assis@gmail.com> #
5# #
6# This program is free software; you can redistribute it and/or modify #
7# it under the terms of the GNU General Public License as published by #
8# the Free Software Foundation; either version 2 of the License, or #
9# (at your option) any later version. #
10# #
11# This program is distributed in the hope that it will be useful, #
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
17# along with this program; if not, write to the Free Software #
18# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #
19# #
20********************************************************************************/
21#ifndef V4L2_CONTROLS_H
22#define V4L2_CONTROLS_H
23
24/*
25 * Private V4L2 control identifiers from UVC driver. - this seems to change acording to driver version
26 * all other User-class control IDs are defined by V4L2 (videodev2.h)
27 */
28
29/*------------------------- new camera class controls ---------------------*/
30#define V4L2_CTRL_CLASS_USER_NEW 0x00980000
31#define V4L2_CID_BASE_NEW (V4L2_CTRL_CLASS_USER_NEW | 0x900)
32#define V4L2_CID_POWER_LINE_FREQUENCY_NEW (V4L2_CID_BASE_NEW+24)
33#define V4L2_CID_HUE_AUTO_NEW (V4L2_CID_BASE_NEW+25)
34#define V4L2_CID_WHITE_BALANCE_TEMPERATURE_NEW (V4L2_CID_BASE_NEW+26)
35#define V4L2_CID_SHARPNESS_NEW (V4L2_CID_BASE_NEW+27)
36#define V4L2_CID_BACKLIGHT_COMPENSATION_NEW (V4L2_CID_BASE_NEW+28)
37#define V4L2_CID_LAST_NEW (V4L2_CID_BASE_NEW+31)
38
39#define V4L2_CTRL_CLASS_CAMERA_NEW 0x009A0000 /* Camera class controls */
40#define V4L2_CID_CAMERA_CLASS_BASE_NEW (V4L2_CTRL_CLASS_CAMERA_NEW | 0x900)
41
42#define V4L2_CID_EXPOSURE_AUTO_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+1)
43#define V4L2_CID_EXPOSURE_ABSOLUTE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+2)
44#define V4L2_CID_EXPOSURE_AUTO_PRIORITY_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+3)
45
46#define V4L2_CID_PAN_RELATIVE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+4)
47#define V4L2_CID_TILT_RELATIVE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+5)
48#define V4L2_CID_PAN_RESET_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+6)
49#define V4L2_CID_TILT_RESET_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+7)
50
51#define V4L2_CID_PAN_ABSOLUTE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+8)
52#define V4L2_CID_TILT_ABSOLUTE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+9)
53
54#define V4L2_CID_FOCUS_ABSOLUTE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+10)
55#define V4L2_CID_FOCUS_RELATIVE_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+11)
56#define V4L2_CID_FOCUS_AUTO_NEW (V4L2_CID_CAMERA_CLASS_BASE_NEW+12)
57#define V4L2_CID_CAMERA_CLASS_LAST (V4L2_CID_CAMERA_CLASS_BASE_NEW+13)
58
59/*--------------- old private class controls ------------------------------*/
60
61#define V4L2_CID_PRIVATE_BASE_OLD 0x08000000
62#define V4L2_CID_BACKLIGHT_COMPENSATION_OLD (V4L2_CID_PRIVATE_BASE_OLD+0)
63#define V4L2_CID_POWER_LINE_FREQUENCY_OLD (V4L2_CID_PRIVATE_BASE_OLD+1)
64#define V4L2_CID_SHARPNESS_OLD (V4L2_CID_PRIVATE_BASE_OLD+2)
65#define V4L2_CID_HUE_AUTO_OLD (V4L2_CID_PRIVATE_BASE_OLD+3)
66
67#define V4L2_CID_FOCUS_AUTO_OLD (V4L2_CID_PRIVATE_BASE_OLD+4)
68#define V4L2_CID_FOCUS_ABSOLUTE_OLD (V4L2_CID_PRIVATE_BASE_OLD+5)
69#define V4L2_CID_FOCUS_RELATIVE_OLD (V4L2_CID_PRIVATE_BASE_OLD+6)
70
71#define V4L2_CID_PAN_RELATIVE_OLD (V4L2_CID_PRIVATE_BASE_OLD+7)
72#define V4L2_CID_TILT_RELATIVE_OLD (V4L2_CID_PRIVATE_BASE_OLD+8)
73#define V4L2_CID_PANTILT_RESET_OLD (V4L2_CID_PRIVATE_BASE_OLD+9)
74
75#define V4L2_CID_EXPOSURE_AUTO_OLD (V4L2_CID_PRIVATE_BASE_OLD+10)
76#define V4L2_CID_EXPOSURE_ABSOLUTE_OLD (V4L2_CID_PRIVATE_BASE_OLD+11)
77
78#define V4L2_CID_WHITE_BALANCE_TEMPERATURE_AUTO_OLD (V4L2_CID_PRIVATE_BASE_OLD+12)
79#define V4L2_CID_WHITE_BALANCE_TEMPERATURE_OLD (V4L2_CID_PRIVATE_BASE_OLD+13)
80
81#define V4L2_CID_PRIVATE_LAST (V4L2_CID_WHITE_BALANCE_TEMPERATURE_OLD+1)
82
83#endif