Home | History | Annotate | Download | only in include
      1 /*
      2  * Video for Linux Two header file for samsung
      3  *
      4  * Copyright (C) 2009, Dongsoo Nathaniel Kim<dongsoo45.kim (at) samsung.com>
      5  *
      6  * This header file contains several v4l2 APIs to be proposed to v4l2
      7  * community and until bein accepted, will be used restrictly in Samsung's
      8  * camera interface driver FIMC.
      9  *
     10  * This program is free software; you can redistribute it and/or modify
     11  * it under the terms of the GNU General Public License as published by
     12  * the Free Software Foundation; either version 2 of the License, or
     13  * (at your option) any later version.
     14  */
     15 
     16 /*
     17  * Copyright 2008, The Android Open Source Project
     18  * Copyright 2010, Samsung Electronics Co. LTD
     19  *
     20  * Licensed under the Apache License, Version 2.0 (the "License");
     21  * you may not use this file except in compliance with the License.
     22  * You may obtain a copy of the License at
     23  *
     24  *      http://www.apache.org/licenses/LICENSE-2.0
     25  *
     26  * Unless required by applicable law or agreed to in writing, software
     27  * distributed under the License is distributed toggle an "AS IS" BASIS,
     28  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     29  * See the License for the specific language governing permissions and
     30  * limitations under the License.
     31  */
     32 
     33 #ifndef __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
     34 #define __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
     35 
     36 /* Values for 'capabilities' field */
     37 /* Object detection device */
     38 #define V4L2_CAP_OBJ_RECOGNITION	0x10000000
     39 /* strobe control */
     40 #define V4L2_CAP_STROBE			0x20000000
     41 
     42 #define V4L2_CID_FOCUS_MODE		(V4L2_CID_CAMERA_CLASS_BASE+17)
     43 /* Focus Methods */
     44 enum v4l2_focus_mode {
     45 	V4L2_FOCUS_MODE_AUTO		= 0,
     46 	V4L2_FOCUS_MODE_MACRO		= 1,
     47 	V4L2_FOCUS_MODE_MANUAL		= 2,
     48 	V4L2_FOCUS_MODE_LASTP		= 2,
     49 };
     50 
     51 #define V4L2_CID_ZOOM_MODE		(V4L2_CID_CAMERA_CLASS_BASE+18)
     52 /* Zoom Methods */
     53 enum v4l2_zoom_mode {
     54 	V4L2_ZOOM_MODE_CONTINUOUS	= 0,
     55 	V4L2_ZOOM_MODE_OPTICAL		= 1,
     56 	V4L2_ZOOM_MODE_DIGITAL		= 2,
     57 	V4L2_ZOOM_MODE_LASTP		= 2,
     58 };
     59 
     60 /* Exposure Methods */
     61 #define V4L2_CID_PHOTOMETRY		(V4L2_CID_CAMERA_CLASS_BASE+19)
     62 enum v4l2_photometry_mode {
     63 	V4L2_PHOTOMETRY_MULTISEG	= 0, /*Multi Segment*/
     64 	V4L2_PHOTOMETRY_CWA		= 1, /*Centre Weighted Average*/
     65 	V4L2_PHOTOMETRY_SPOT		= 2,
     66 	V4L2_PHOTOMETRY_AFSPOT		= 3, /*Spot metering on focused point*/
     67 	V4L2_PHOTOMETRY_LASTP		= V4L2_PHOTOMETRY_AFSPOT,
     68 };
     69 
     70 /* Manual exposure control items menu type: iris, shutter, iso */
     71 #define V4L2_CID_CAM_APERTURE	(V4L2_CID_CAMERA_CLASS_BASE+20)
     72 #define V4L2_CID_CAM_SHUTTER	(V4L2_CID_CAMERA_CLASS_BASE+21)
     73 #define V4L2_CID_CAM_ISO	(V4L2_CID_CAMERA_CLASS_BASE+22)
     74 
     75 /* Following CIDs are menu type */
     76 #define V4L2_CID_SCENEMODE	(V4L2_CID_CAMERA_CLASS_BASE+23)
     77 #define V4L2_CID_CAM_STABILIZE	(V4L2_CID_CAMERA_CLASS_BASE+24)
     78 #define V4L2_CID_CAM_MULTISHOT	(V4L2_CID_CAMERA_CLASS_BASE+25)
     79 
     80 /* Control dynamic range */
     81 #define V4L2_CID_CAM_DR		(V4L2_CID_CAMERA_CLASS_BASE+26)
     82 
     83 /* White balance preset control */
     84 #define V4L2_CID_WHITE_BALANCE_PRESET	(V4L2_CID_CAMERA_CLASS_BASE+27)
     85 #define V4L2_CID_CAM_SENSOR_FW_VER		(V4L2_CID_CAMERA_CLASS_BASE + 28)
     86 #define V4L2_CID_CAM_PHONE_FW_VER		(V4L2_CID_CAMERA_CLASS_BASE + 29)
     87 
     88 /* CID extensions */
     89 #define V4L2_CID_ROTATION		(V4L2_CID_PRIVATE_BASE + 0)
     90 #define V4L2_CID_PADDR_Y		(V4L2_CID_PRIVATE_BASE + 1)
     91 #define V4L2_CID_PADDR_CB		(V4L2_CID_PRIVATE_BASE + 2)
     92 #define V4L2_CID_PADDR_CR		(V4L2_CID_PRIVATE_BASE + 3)
     93 #define V4L2_CID_PADDR_CBCR		(V4L2_CID_PRIVATE_BASE + 4)
     94 #define V4L2_CID_OVERLAY_AUTO		(V4L2_CID_PRIVATE_BASE + 5)
     95 #define V4L2_CID_OVERLAY_VADDR0		(V4L2_CID_PRIVATE_BASE + 6)
     96 #define V4L2_CID_OVERLAY_VADDR1		(V4L2_CID_PRIVATE_BASE + 7)
     97 #define V4L2_CID_OVERLAY_VADDR2		(V4L2_CID_PRIVATE_BASE + 8)
     98 #define V4L2_CID_OVLY_MODE		(V4L2_CID_PRIVATE_BASE + 9)
     99 #define V4L2_CID_DST_INFO		(V4L2_CID_PRIVATE_BASE + 10)
    100 /* UMP secure id control */
    101 #define V4L2_CID_GET_UMP_SECURE_ID 	(V4L2_CID_PRIVATE_BASE + 11)
    102 #define V4L2_CID_GET_PHY_SRC_YADDR 	(V4L2_CID_PRIVATE_BASE + 12)
    103 #define V4L2_CID_GET_PHY_SRC_CADDR 	(V4L2_CID_PRIVATE_BASE + 13)
    104 #define V4L2_CID_IMAGE_EFFECT_FN	(V4L2_CID_PRIVATE_BASE + 16)
    105 #define V4L2_CID_IMAGE_EFFECT_APPLY	(V4L2_CID_PRIVATE_BASE + 17)
    106 #define V4L2_CID_IMAGE_EFFECT_CB	(V4L2_CID_PRIVATE_BASE + 18)
    107 #define V4L2_CID_IMAGE_EFFECT_CR	(V4L2_CID_PRIVATE_BASE + 19)
    108 #define V4L2_CID_RESERVED_MEM_BASE_ADDR	(V4L2_CID_PRIVATE_BASE + 20)
    109 #define V4L2_CID_FIMC_VERSION		(V4L2_CID_PRIVATE_BASE + 21)
    110 
    111 #define V4L2_CID_STREAM_PAUSE			(V4L2_CID_PRIVATE_BASE + 53)
    112 #define V4L2_CID_CACHE_FLUSH			(V4L2_CID_PRIVATE_BASE + 61)
    113 #define V4L2_CID_RESERVED_MEM_SIZE		(V4L2_CID_PRIVATE_BASE + 63)
    114 
    115 /* CID Extensions for camera sensor operations */
    116 #define V4L2_CID_CAM_PREVIEW_ONOFF		(V4L2_CID_PRIVATE_BASE + 64)
    117 #define V4L2_CID_CAM_CAPTURE			(V4L2_CID_PRIVATE_BASE + 65)
    118 /* #define V4L2_CID_CAM_JPEG_MEMSIZE	(V4L2_CID_PRIVATE_BASE + 66) */
    119 
    120 #define V4L2_CID_CAM_DATE_INFO_YEAR           	(V4L2_CID_PRIVATE_BASE + 14)
    121 #define V4L2_CID_CAM_DATE_INFO_MONTH           	(V4L2_CID_PRIVATE_BASE + 15)
    122 #define V4L2_CID_CAM_DATE_INFO_DATE           	(V4L2_CID_PRIVATE_BASE + 22)
    123 #define V4L2_CID_CAM_SENSOR_VER		           	(V4L2_CID_PRIVATE_BASE + 23)
    124 #define V4L2_CID_CAM_FW_MINOR_VER           	(V4L2_CID_PRIVATE_BASE + 24)
    125 #define V4L2_CID_CAM_FW_MAJOR_VER           	(V4L2_CID_PRIVATE_BASE + 25)
    126 #define V4L2_CID_CAM_PRM_MINOR_VER           	(V4L2_CID_PRIVATE_BASE + 26)
    127 #define V4L2_CID_CAM_PRM_MAJOR_VER           	(V4L2_CID_PRIVATE_BASE + 27)
    128 #define V4L2_CID_CAM_FW_VER           	     	(V4L2_CID_PRIVATE_BASE + 28)
    129 #define V4L2_CID_CAM_SET_FW_ADDR                (V4L2_CID_PRIVATE_BASE + 29)
    130 #define V4L2_CID_CAM_SET_FW_SIZE                (V4L2_CID_PRIVATE_BASE + 30)
    131 #define V4L2_CID_CAM_UPDATE_FW	(V4L2_CID_PRIVATE_BASE + 31)
    132 enum v4l2_firmware_mode {
    133 	FW_MODE_UPDATE,
    134 	FW_MODE_VERSION,
    135 	FW_MODE_DUMP,
    136 };
    137 
    138 #define V4L2_CID_CAM_JPEG_MAIN_SIZE		(V4L2_CID_PRIVATE_BASE + 32)
    139 #define V4L2_CID_CAM_JPEG_MAIN_OFFSET		(V4L2_CID_PRIVATE_BASE + 33)
    140 #define V4L2_CID_CAM_JPEG_THUMB_SIZE		(V4L2_CID_PRIVATE_BASE + 34)
    141 #define V4L2_CID_CAM_JPEG_THUMB_OFFSET		(V4L2_CID_PRIVATE_BASE + 35)
    142 #define V4L2_CID_CAM_JPEG_POSTVIEW_OFFSET	(V4L2_CID_PRIVATE_BASE + 36)
    143 #define V4L2_CID_CAM_JPEG_QUALITY	(V4L2_CID_PRIVATE_BASE + 37)
    144 #define V4L2_CID_CAM_SENSOR_MAKER	(V4L2_CID_PRIVATE_BASE + 38)
    145 #define V4L2_CID_CAM_SENSOR_OPTICAL	(V4L2_CID_PRIVATE_BASE + 39)
    146 #define V4L2_CID_CAM_AF_VER_LOW		(V4L2_CID_PRIVATE_BASE + 40)
    147 #define V4L2_CID_CAM_AF_VER_HIGH	(V4L2_CID_PRIVATE_BASE + 41)
    148 #define V4L2_CID_CAM_GAMMA_RG_LOW	(V4L2_CID_PRIVATE_BASE + 42)
    149 #define V4L2_CID_CAM_GAMMA_RG_HIGH	(V4L2_CID_PRIVATE_BASE + 43)
    150 #define V4L2_CID_CAM_GAMMA_BG_LOW	(V4L2_CID_PRIVATE_BASE + 44)
    151 #define V4L2_CID_CAM_GAMMA_BG_HIGH	(V4L2_CID_PRIVATE_BASE + 45)
    152 #define V4L2_CID_CAM_DUMP_FW		(V4L2_CID_PRIVATE_BASE + 46)
    153 #define V4L2_CID_CAM_GET_DUMP_SIZE  (V4L2_CID_PRIVATE_BASE + 47)
    154 #define V4L2_CID_CAMERA_VT_MODE			(V4L2_CID_PRIVATE_BASE + 48)
    155 #define V4L2_CID_CAMERA_VGA_BLUR  	(V4L2_CID_PRIVATE_BASE + 49)
    156 #define V4L2_CID_CAMERA_CAPTURE  	(V4L2_CID_PRIVATE_BASE + 50)
    157 #define V4L2_CID_CAMERA_HDR	 	(V4L2_CID_PRIVATE_BASE + 51)
    158 
    159 #define V4L2_CID_MAIN_SW_DATE_INFO_YEAR		(V4L2_CID_PRIVATE_BASE + 54)
    160 #define V4L2_CID_MAIN_SW_DATE_INFO_MONTH	(V4L2_CID_PRIVATE_BASE + 55)
    161 #define V4L2_CID_MAIN_SW_DATE_INFO_DATE		(V4L2_CID_PRIVATE_BASE + 56)
    162 #define V4L2_CID_MAIN_SW_FW_MINOR_VER		(V4L2_CID_PRIVATE_BASE + 57)
    163 #define V4L2_CID_MAIN_SW_FW_MAJOR_VER		(V4L2_CID_PRIVATE_BASE + 58)
    164 #define V4L2_CID_MAIN_SW_PRM_MINOR_VER		(V4L2_CID_PRIVATE_BASE + 59)
    165 #define V4L2_CID_MAIN_SW_PRM_MAJOR_VER		(V4L2_CID_PRIVATE_BASE + 60)
    166 
    167 #define V4L2_CID_FIMC_IS_BASE			(V4L2_CTRL_CLASS_CAMERA | 0x1000)
    168 #define V4L2_CID_FIMC_IS_TUNE_BASE		(V4L2_CTRL_CLASS_CAMERA | 0x2000)
    169 
    170 #define V4L2_CID_IS_LOAD_FW			(V4L2_CID_FIMC_IS_BASE + 10)
    171 #define V4L2_CID_IS_INIT_PARAM			(V4L2_CID_FIMC_IS_BASE + 11)
    172 #define V4L2_CID_IS_RESET			(V4L2_CID_FIMC_IS_BASE + 12)
    173 #define V4L2_CID_IS_S_POWER			(V4L2_CID_FIMC_IS_BASE + 13)
    174 enum is_set_power {
    175 	IS_POWER_OFF,
    176 	IS_POWER_ON
    177 };
    178 
    179 #define V4L2_CID_IS_S_STREAM			(V4L2_CID_FIMC_IS_BASE + 14)
    180 enum is_set_stream {
    181 	IS_DISABLE_STREAM,
    182 	IS_ENABLE_STREAM
    183 };
    184 
    185 #define V4L2_CID_IS_S_SCENARIO_MODE		(V4L2_CID_FIMC_IS_BASE + 15)
    186 #define V4L2_CID_IS_S_FORMAT_SCENARIO		(V4L2_CID_FIMC_IS_BASE + 16)
    187 enum scenario_mode {
    188 	IS_MODE_PREVIEW_STILL,
    189 	IS_MODE_PREVIEW_VIDEO,
    190 	IS_MODE_CAPTURE_STILL,
    191 	IS_MODE_CAPTURE_VIDEO,
    192 	IS_MODE_MAX
    193 };
    194 
    195 #define V4L2_CID_IS_G_COMPLETES             (V4L2_CID_FIMC_IS_BASE + 18)
    196 
    197 /* global */
    198 #define V4L2_CID_IS_CAMERA_SHOT_MODE_NORMAL	(V4L2_CID_FIMC_IS_BASE + 101)
    199 /* value : 1 : single shot , >=2 : continuous shot */
    200 
    201 #define V4L2_CID_IS_CAMERA_SENSOR_NUM		(V4L2_CID_FIMC_IS_BASE + 201)
    202 
    203 #define V4L2_CID_IS_CAMERA_FOCUS_MODE		(V4L2_CID_FIMC_IS_BASE + 401)
    204 enum is_focus_mode {
    205 	IS_FOCUS_MODE_AUTO,
    206 	IS_FOCUS_MODE_MACRO,
    207 	IS_FOCUS_MODE_INFINITY,
    208 	IS_FOCUS_MODE_CONTINUOUS,
    209 	IS_FOCUS_MODE_TOUCH,
    210 	IS_FOCUS_MODE_FACEDETECT,
    211 	IS_FOCUS_MODE_IDLE,
    212 	IS_FOCUS_MODE_MAX,
    213 };
    214 
    215 #define V4L2_CID_IS_CAMERA_FLASH_MODE		(V4L2_CID_FIMC_IS_BASE + 402)
    216 enum is_flash_mode {
    217 	IS_FLASH_MODE_OFF,
    218 	IS_FLASH_MODE_AUTO,
    219 	IS_FLASH_MODE_AUTO_REDEYE,
    220 	IS_FLASH_MODE_ON,
    221 	IS_FLASH_MODE_TORCH,
    222 	IS_FLASH_MODE_MAX
    223 };
    224 
    225 #define V4L2_CID_IS_CAMERA_AWB_MODE		(V4L2_CID_FIMC_IS_BASE + 403)
    226 enum is_awb_mode {
    227 	IS_AWB_AUTO,
    228 	IS_AWB_DAYLIGHT,
    229 	IS_AWB_CLOUDY,
    230 	IS_AWB_TUNGSTEN,
    231 	IS_AWB_FLUORESCENT,
    232 	IS_AWB_MAX
    233 };
    234 
    235 #define V4L2_CID_IS_CAMERA_IMAGE_EFFECT		(V4L2_CID_FIMC_IS_BASE + 404)
    236 enum is_image_effect {
    237 	IS_IMAGE_EFFECT_DISABLE,
    238 	IS_IMAGE_EFFECT_MONOCHROME,
    239 	IS_IMAGE_EFFECT_NEGATIVE_MONO,
    240 	IS_IMAGE_EFFECT_NEGATIVE_COLOR,
    241 	IS_IMAGE_EFFECT_SEPIA,
    242 	IS_IMAGE_EFFECT_SEPIA_CB,
    243 	IS_IMAGE_EFFECT_SEPIA_CR,
    244 	IS_IMAGE_EFFECT_NEGATIVE,
    245 	IS_IMAGE_EFFECT_ARTFREEZE,
    246 	IS_IMAGE_EFFECT_EMBOSSING,
    247 	IS_IMAGE_EFFECT_SILHOUETTE,
    248 	IS_IMAGE_EFFECT_MAX
    249 };
    250 
    251 #define V4L2_CID_IS_CAMERA_ISO			(V4L2_CID_FIMC_IS_BASE + 405)
    252 enum is_iso {
    253 	IS_ISO_AUTO,
    254 	IS_ISO_50,
    255 	IS_ISO_100,
    256 	IS_ISO_200,
    257 	IS_ISO_400,
    258 	IS_ISO_800,
    259 	IS_ISO_1600,
    260 	IS_ISO_MAX
    261 };
    262 
    263 #define V4L2_CID_IS_CAMERA_CONTRAST		(V4L2_CID_FIMC_IS_BASE + 406)
    264 enum is_contrast {
    265 	IS_CONTRAST_AUTO,
    266 	IS_CONTRAST_MINUS_2,
    267 	IS_CONTRAST_MINUS_1,
    268 	IS_CONTRAST_DEFAULT,
    269 	IS_CONTRAST_PLUS_1,
    270 	IS_CONTRAST_PLUS_2,
    271 	IS_CONTRAST_MAX
    272 };
    273 
    274 #define V4L2_CID_IS_CAMERA_SATURATION		(V4L2_CID_FIMC_IS_BASE + 407)
    275 enum is_saturation {
    276 	IS_SATURATION_MINUS_2,
    277 	IS_SATURATION_MINUS_1,
    278 	IS_SATURATION_DEFAULT,
    279 	IS_SATURATION_PLUS_1,
    280 	IS_SATURATION_PLUS_2,
    281 	IS_SATURATION_MAX
    282 };
    283 
    284 #define V4L2_CID_IS_CAMERA_SHARPNESS		(V4L2_CID_FIMC_IS_BASE + 408)
    285 enum is_sharpness {
    286 	IS_SHARPNESS_MINUS_2,
    287 	IS_SHARPNESS_MINUS_1,
    288 	IS_SHARPNESS_DEFAULT,
    289 	IS_SHARPNESS_PLUS_1,
    290 	IS_SHARPNESS_PLUS_2,
    291 	IS_SHARPNESS_MAX
    292 };
    293 
    294 #define V4L2_CID_IS_CAMERA_EXPOSURE		(V4L2_CID_FIMC_IS_BASE + 409)
    295 enum is_exposure {
    296 	IS_EXPOSURE_MINUS_4,
    297 	IS_EXPOSURE_MINUS_3,
    298 	IS_EXPOSURE_MINUS_2,
    299 	IS_EXPOSURE_MINUS_1,
    300 	IS_EXPOSURE_DEFAULT,
    301 	IS_EXPOSURE_PLUS_1,
    302 	IS_EXPOSURE_PLUS_2,
    303 	IS_EXPOSURE_PLUS_3,
    304 	IS_EXPOSURE_PLUS_4,
    305 	IS_EXPOSURE_MAX
    306 };
    307 
    308 #define V4L2_CID_IS_CAMERA_BRIGHTNESS		(V4L2_CID_FIMC_IS_BASE + 410)
    309 enum is_brightness {
    310 	IS_BRIGHTNESS_MINUS_2,
    311 	IS_BRIGHTNESS_MINUS_1,
    312 	IS_BRIGHTNESS_DEFAULT,
    313 	IS_BRIGHTNESS_PLUS_1,
    314 	IS_BRIGHTNESS_PLUS_2,
    315 	IS_BRIGHTNESS_MAX
    316 };
    317 
    318 #define V4L2_CID_IS_CAMERA_HUE			(V4L2_CID_FIMC_IS_BASE + 411)
    319 enum is_hue {
    320 	IS_HUE_MINUS_2,
    321 	IS_HUE_MINUS_1,
    322 	IS_HUE_DEFAULT,
    323 	IS_HUE_PLUS_1,
    324 	IS_HUE_PLUS_2,
    325 	IS_HUE_MAX
    326 };
    327 
    328 #define V4L2_CID_IS_CAMERA_METERING		(V4L2_CID_FIMC_IS_BASE + 412)
    329 enum is_metering {
    330 	IS_METERING_AVERAGE,
    331 	IS_METERING_SPOT,
    332 	IS_METERING_MATRIX,
    333 	IS_METERING_CENTER,
    334 	IS_METERING_MAX
    335 };
    336 #define V4L2_CID_IS_CAMERA_METERING_POSITION_X	(V4L2_CID_FIMC_IS_BASE + 500)
    337 #define V4L2_CID_IS_CAMERA_METERING_POSITION_Y	(V4L2_CID_FIMC_IS_BASE + 501)
    338 #define V4L2_CID_IS_CAMERA_METERING_WINDOW_X	(V4L2_CID_FIMC_IS_BASE + 502)
    339 #define V4L2_CID_IS_CAMERA_METERING_WINDOW_Y	(V4L2_CID_FIMC_IS_BASE + 503)
    340 
    341 #define V4L2_CID_IS_CAMERA_AFC_MODE		(V4L2_CID_FIMC_IS_BASE + 413)
    342 enum is_afc_mode {
    343 	IS_AFC_DISABLE,
    344 	IS_AFC_AUTO,
    345 	IS_AFC_MANUAL_50HZ,
    346 	IS_AFC_MANUAL_60HZ,
    347 	IS_AFC_MAX
    348 };
    349 
    350 #define V4L2_CID_IS_AWB_LOCK_UNLOCK		(V4L2_CID_FIMC_IS_BASE + 496)
    351 enum is_awb_lock_unlock {
    352 	IS_AWB_LOCK,
    353 	IS_AWB_UNLOCK,
    354 	IS_AWB_LOCK_UNLOCK_MAX
    355 };
    356 
    357 #define V4L2_CID_IS_AE_LOCK_UNLOCK		(V4L2_CID_FIMC_IS_BASE + 497)
    358 enum is_ae_lock_unlock {
    359 	IS_AE_LOCK,
    360 	IS_AE_UNLOCK,
    361 	IS_AE_LOCK_UNLOCK_MAX
    362 };
    363 
    364 #define V4L2_CID_IS_FD_GET_FACE_COUNT			(V4L2_CID_FIMC_IS_BASE + 600)
    365 #define V4L2_CID_IS_FD_GET_FACE_FRAME_NUMBER		(V4L2_CID_FIMC_IS_BASE + 601)
    366 #define V4L2_CID_IS_FD_GET_FACE_CONFIDENCE		(V4L2_CID_FIMC_IS_BASE + 602)
    367 #define V4L2_CID_IS_FD_GET_FACE_SMILE_LEVEL		(V4L2_CID_FIMC_IS_BASE + 603)
    368 #define V4L2_CID_IS_FD_GET_FACE_BLINK_LEVEL		(V4L2_CID_FIMC_IS_BASE + 604)
    369 #define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_X		(V4L2_CID_FIMC_IS_BASE + 605)
    370 #define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_Y		(V4L2_CID_FIMC_IS_BASE + 606)
    371 #define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_X		(V4L2_CID_FIMC_IS_BASE + 607)
    372 #define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_Y		(V4L2_CID_FIMC_IS_BASE + 608)
    373 #define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_X		(V4L2_CID_FIMC_IS_BASE + 609)
    374 #define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_Y		(V4L2_CID_FIMC_IS_BASE + 610)
    375 #define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_X	(V4L2_CID_FIMC_IS_BASE + 611)
    376 #define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_Y	(V4L2_CID_FIMC_IS_BASE + 612)
    377 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_X		(V4L2_CID_FIMC_IS_BASE + 613)
    378 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_Y		(V4L2_CID_FIMC_IS_BASE + 614)
    379 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_X	(V4L2_CID_FIMC_IS_BASE + 615)
    380 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_Y	(V4L2_CID_FIMC_IS_BASE + 616)
    381 #define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_X		(V4L2_CID_FIMC_IS_BASE + 617)
    382 #define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_Y		(V4L2_CID_FIMC_IS_BASE + 618)
    383 #define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_X		(V4L2_CID_FIMC_IS_BASE + 619)
    384 #define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_Y		(V4L2_CID_FIMC_IS_BASE + 620)
    385 #define V4L2_CID_IS_FD_GET_ANGLE			(V4L2_CID_FIMC_IS_BASE + 621)
    386 #define V4L2_CID_IS_FD_GET_YAW_ANGLE			(V4L2_CID_FIMC_IS_BASE + 622)
    387 #define V4L2_CID_IS_FD_GET_NEXT				(V4L2_CID_FIMC_IS_BASE + 623)
    388 #define V4L2_CID_IS_FD_GET_DATA				(V4L2_CID_FIMC_IS_BASE + 624)
    389 
    390 #define V4L2_CID_IS_FD_SET_MAX_FACE_NUMBER		(V4L2_CID_FIMC_IS_BASE + 650)
    391 #define V4L2_CID_IS_FD_SET_ROLL_ANGLE			(V4L2_CID_FIMC_IS_BASE + 651)
    392 enum is_fd_roll_angle {
    393 	/* 0, 45, 0, -45 */
    394 	IS_FD_ROLL_ANGLE_BASIC		= 0,
    395 	/* 0, 30, 0, -30, 0, 45, 0, -45 */
    396 	IS_FD_ROLL_ANGLE_PRECISE_BASIC	= 1,
    397 	/* 0, 90, 0, -90 */
    398 	IS_FD_ROLL_ANGLE_SIDES		= 2,
    399 	/* 0, 90, 0, -90 0, 45, 0, -45 */
    400 	IS_FD_ROLL_ANGLE_PRECISE_SIDES	= 3,
    401 	/* 0, 90, 0, -90, 0, 180 */
    402 	IS_FD_ROLL_ANGLE_FULL		= 4,
    403 	/* 0, 90, 0, -90, 0, 180, 0, 135, 0, -135 */
    404 	IS_FD_ROLL_ANGLE_PRECISE_FULL	= 5,
    405 };
    406 
    407 #define V4L2_CID_IS_FD_SET_YAW_ANGLE			(V4L2_CID_FIMC_IS_BASE + 652)
    408 enum is_fd_yaw_angle {
    409 	IS_FD_YAW_ANGLE_0	= 0,
    410 	IS_FD_YAW_ANGLE_45	= 1,
    411 	IS_FD_YAW_ANGLE_90	= 2,
    412 	IS_FD_YAW_ANGLE_45_90	= 3,
    413 };
    414 
    415 #define V4L2_CID_IS_FD_SET_SMILE_MODE			(V4L2_CID_FIMC_IS_BASE + 653)
    416 enum is_fd_smile_mode {
    417 	IS_FD_SMILE_MODE_DISABLE	= 0,
    418 	IS_FD_SMILE_MODE_ENABLE		= 1,
    419 };
    420 
    421 #define V4L2_CID_IS_FD_SET_BLINK_MODE			(V4L2_CID_FIMC_IS_BASE + 654)
    422 enum is_fd_blink_mode {
    423 	IS_FD_BLINK_MODE_DISABLE	= 0,
    424 	IS_FD_BLINK_MODE_ENABLE		= 1,
    425 };
    426 
    427 #define V4L2_CID_IS_FD_SET_EYE_DETECT_MODE		(V4L2_CID_FIMC_IS_BASE + 655)
    428 enum is_fd_eye_detect_mode {
    429 	IS_FD_EYE_DETECT_DISABLE	= 0,
    430 	IS_FD_EYE_DETECT_ENABLE		= 1,
    431 };
    432 
    433 #define V4L2_CID_IS_FD_SET_MOUTH_DETECT_MODE		(V4L2_CID_FIMC_IS_BASE + 656)
    434 enum is_fd_mouth_detect_mode {
    435 	IS_FD_MOUTH_DETECT_DISABLE	= 0,
    436 	IS_FD_MOUTH_DETECT_ENABLE	= 1,
    437 };
    438 
    439 #define V4L2_CID_IS_FD_SET_ORIENTATION_MODE		(V4L2_CID_FIMC_IS_BASE + 657)
    440 enum is_fd_orientation_mode {
    441 	IS_FD_ORIENTATION_DISABLE	= 0,
    442 	IS_FD_ORIENTATION_ENABLE	= 1,
    443 };
    444 
    445 #define V4L2_CID_IS_FD_SET_ORIENTATION			(V4L2_CID_FIMC_IS_BASE + 658)
    446 #define V4L2_CID_IS_FD_SET_DATA_ADDRESS			(V4L2_CID_FIMC_IS_BASE + 659)
    447 
    448 #define V4L2_CID_IS_SET_ISP			(V4L2_CID_FIMC_IS_BASE + 440)
    449 enum is_isp_bypass_mode {
    450 	IS_ISP_BYPASS_DISABLE,
    451 	IS_ISP_BYPASS_ENABLE,
    452 	IS_ISP_BYPASS_MAX
    453 };
    454 
    455 #define V4L2_CID_IS_SET_DRC			(V4L2_CID_FIMC_IS_BASE + 441)
    456 enum is_drc_bypass_mode {
    457 	IS_DRC_BYPASS_DISABLE,
    458 	IS_DRC_BYPASS_ENABLE,
    459 	IS_DRC_BYPASS_MAX
    460 };
    461 
    462 #define V4L2_CID_IS_SET_FD			(V4L2_CID_FIMC_IS_BASE + 442)
    463 enum is_fd_bypass_mode {
    464 	IS_FD_BYPASS_DISABLE,
    465 	IS_FD_BYPASS_ENABLE,
    466 	IS_FD_BYPASS_MAX
    467 };
    468 
    469 #define V4L2_CID_IS_SET_ODC			(V4L2_CID_FIMC_IS_BASE + 443)
    470 enum is_odc_bypass_mode {
    471 	IS_ODC_BYPASS_DISABLE,
    472 	IS_ODC_BYPASS_ENABLE,
    473 	IS_ODC_BYPASS_MAX
    474 };
    475 
    476 #define V4L2_CID_IS_SET_DIS			(V4L2_CID_FIMC_IS_BASE + 444)
    477 enum is_dis_bypass_mode {
    478 	IS_DIS_BYPASS_DISABLE,
    479 	IS_DIS_BYPASS_ENABLE,
    480 	IS_DIS_BYPASS_MAX
    481 };
    482 
    483 #define V4L2_CID_IS_SET_3DNR			(V4L2_CID_FIMC_IS_BASE + 445)
    484 enum is_tdnr_bypass_mode {
    485 	IS_TDNR_BYPASS_DISABLE,
    486 	IS_TDNR_BYPASS_ENABLE,
    487 	IS_TDNR_BYPASS_MAX
    488 };
    489 
    490 #define V4L2_CID_IS_SET_SCALERC			(V4L2_CID_FIMC_IS_BASE + 446)
    491 enum is_scalerc_bypass_mode {
    492 	IS_SCALERC_BYPASS_DISABLE,
    493 	IS_SCALERC_BYPASS_ENABLE,
    494 	IS_SCALERC_BYPASS_MAX
    495 };
    496 
    497 #define V4L2_CID_IS_SET_SCALERP			(V4L2_CID_FIMC_IS_BASE + 446)
    498 enum is_scalerp_bypass_mode {
    499 	IS_SCALERP_BYPASS_DISABLE,
    500 	IS_SCALERP_BYPASS_ENABLE,
    501 	IS_SCALERP_BYPASS_MAX
    502 };
    503 
    504 #define V4L2_CID_IS_ROTATION_MODE		(V4L2_CID_FIMC_IS_BASE + 450)
    505 enum is_rotation_mode {
    506 	IS_ROTATION_0,
    507 	IS_ROTATION_90,
    508 	IS_ROTATION_180,
    509 	IS_ROTATION_270,
    510 	IS_ROTATION_MAX
    511 };
    512 
    513 #define V4L2_CID_IS_3DNR_1ST_FRAME_MODE		(V4L2_CID_FIMC_IS_BASE + 451)
    514 enum is_tdnr_1st_frame_mode {
    515 	IS_TDNR_1ST_FRAME_NOPROCESSING,
    516 	IS_TDNR_1ST_FRAME_2DNR,
    517 	IS_TDNR_MAX
    518 };
    519 
    520 #define V4L2_CID_IS_CAMERA_OBJECT_POSITION_X	(V4L2_CID_FIMC_IS_BASE + 452)
    521 #define V4L2_CID_IS_CAMERA_OBJECT_POSITION_Y	(V4L2_CID_FIMC_IS_BASE + 453)
    522 #define V4L2_CID_IS_CAMERA_WINDOW_SIZE_X	(V4L2_CID_FIMC_IS_BASE + 454)
    523 #define V4L2_CID_IS_CAMERA_WINDOW_SIZE_Y	(V4L2_CID_FIMC_IS_BASE + 455)
    524 
    525 #define V4L2_CID_IS_CAMERA_EXIF_EXPTIME		(V4L2_CID_FIMC_IS_BASE + 456)
    526 #define V4L2_CID_IS_CAMERA_EXIF_FLASH		(V4L2_CID_FIMC_IS_BASE + 457)
    527 #define V4L2_CID_IS_CAMERA_EXIF_ISO		(V4L2_CID_FIMC_IS_BASE + 458)
    528 #define V4L2_CID_IS_CAMERA_EXIF_SHUTTERSPEED	(V4L2_CID_FIMC_IS_BASE + 459)
    529 #define V4L2_CID_IS_CAMERA_EXIF_BRIGHTNESS	(V4L2_CID_FIMC_IS_BASE + 460)
    530 
    531 #define V4L2_CID_IS_CAMERA_ISP_SEL_INPUT	(V4L2_CID_FIMC_IS_BASE + 461)
    532 enum is_isp_sel_input {
    533 	IS_ISP_INPUT_OTF,
    534 	IS_ISP_INPUT_DMA1,
    535 	IS_ISP_INPUT_DMA2,
    536 	IS_ISP_INPUT_DMA12,
    537 	IS_ISP_INPUT_MAX
    538 };
    539 
    540 #define V4L2_CID_IS_CAMERA_ISP_SEL_OUTPUT	(V4L2_CID_FIMC_IS_BASE + 462)
    541 enum is_isp_sel_output {
    542 	IS_ISP_OUTPUT_OTF,
    543 	IS_ISP_OUTPUT_DMA1,
    544 	IS_ISP_OUTPUT_DMA2,
    545 	IS_ISP_OUTPUT_DMA12,
    546 	IS_ISP_OUTPUT_OTF_DMA1,
    547 	IS_ISP_OUTPUT_OTF_DMA2,
    548 	IS_ISP_OUTPUT_OTF_DMA12,
    549 	IS_ISP_OUTPUT_MAX
    550 };
    551 
    552 #define V4L2_CID_IS_CAMERA_DRC_SEL_INPUT	(V4L2_CID_FIMC_IS_BASE + 463)
    553 enum is_drc_sel_input {
    554 	IS_DRC_INPUT_OTF,
    555 	IS_DRC_INPUT_DMA,
    556 	IS_DRC_INPUT_MAX
    557 };
    558 
    559 #define V4L2_CID_IS_CAMERA_FD_SEL_INPUT		(V4L2_CID_FIMC_IS_BASE + 464)
    560 enum is_fd_sel_input {
    561 	IS_FD_INPUT_OTF,
    562 	IS_FD_INPUT_DMA,
    563 	IS_FD_INPUT_MAX
    564 };
    565 
    566 #define V4L2_CID_IS_CAMERA_INIT_WIDTH		(V4L2_CID_FIMC_IS_BASE + 465)
    567 #define V4L2_CID_IS_CAMERA_INIT_HEIGHT		(V4L2_CID_FIMC_IS_BASE + 466)
    568 
    569 #define V4L2_CID_IS_CMD_ISP			(V4L2_CID_FIMC_IS_BASE + 467)
    570 enum is_isp_cmd_mode {
    571 	IS_ISP_COMMAND_STOP,
    572 	IS_ISP_COMMAND_START,
    573 	IS_ISP_COMMAND_MAX
    574 };
    575 
    576 #define V4L2_CID_IS_CMD_DRC			(V4L2_CID_FIMC_IS_BASE + 468)
    577 enum is_drc_cmd_mode {
    578 	IS_DRC_COMMAND_STOP,
    579 	IS_DRC_COMMAND_START,
    580 	IS_DRC_COMMAND_MAX
    581 };
    582 
    583 #define V4L2_CID_IS_CMD_FD			(V4L2_CID_FIMC_IS_BASE + 469)
    584 enum is_fd_cmd_mode {
    585 	IS_FD_COMMAND_STOP,
    586 	IS_FD_COMMAND_START,
    587 	IS_FD_COMMAND_MAX
    588 };
    589 
    590 #define V4L2_CID_IS_CMD_ODC			(V4L2_CID_FIMC_IS_BASE + 470)
    591 enum is_odc_cmd_mode {
    592 	IS_ODC_COMMAND_STOP,
    593 	IS_ODC_COMMAND_START,
    594 	IS_ODC_COMMAND_MAX
    595 };
    596 
    597 #define V4L2_CID_IS_CMD_DIS			(V4L2_CID_FIMC_IS_BASE + 471)
    598 enum is_dis_cmd_mode {
    599 	IS_DIS_COMMAND_STOP,
    600 	IS_DIS_COMMAND_START,
    601 	IS_DIS_COMMAND_MAX
    602 };
    603 
    604 #define V4L2_CID_IS_CMD_TDNR			(V4L2_CID_FIMC_IS_BASE + 472)
    605 enum is_tdnr_cmd_mode {
    606 	IS_TDNR_COMMAND_STOP,
    607 	IS_TDNR_COMMAND_START,
    608 	IS_TDNR_COMMAND_MAX
    609 };
    610 
    611 #define V4L2_CID_IS_CMD_SCALERC			(V4L2_CID_FIMC_IS_BASE + 473)
    612 enum is_scalerc_cmd_mode {
    613 	IS_SCALERC_COMMAND_STOP,
    614 	IS_SCALERC_COMMAND_START,
    615 	IS_SCALERC_COMMAND_MAX
    616 };
    617 
    618 #define V4L2_CID_IS_CMD_SCALERP			(V4L2_CID_FIMC_IS_BASE + 474)
    619 enum is_scalerp_cmd_mode {
    620 	IS_SCALERP_COMMAND_STOP,
    621 	IS_SCALERP_COMMAND_START,
    622 	IS_SCALERP_COMMAND_MAX
    623 };
    624 
    625 #define V4L2_CID_IS_GET_SENSOR_OFFSET_X		(V4L2_CID_FIMC_IS_BASE + 480)
    626 #define V4L2_CID_IS_GET_SENSOR_OFFSET_Y		(V4L2_CID_FIMC_IS_BASE + 481)
    627 #define V4L2_CID_IS_GET_SENSOR_WIDTH		(V4L2_CID_FIMC_IS_BASE + 482)
    628 #define V4L2_CID_IS_GET_SENSOR_HEIGHT		(V4L2_CID_FIMC_IS_BASE + 483)
    629 
    630 #define V4L2_CID_IS_GET_FRAME_VALID		(V4L2_CID_FIMC_IS_BASE + 484)
    631 #define V4L2_CID_IS_SET_FRAME_VALID		(V4L2_CID_FIMC_IS_BASE + 485)
    632 #define V4L2_CID_IS_GET_FRAME_BADMARK		(V4L2_CID_FIMC_IS_BASE + 486)
    633 #define V4L2_CID_IS_SET_FRAME_BADMARK		(V4L2_CID_FIMC_IS_BASE + 487)
    634 #define V4L2_CID_IS_GET_FRAME_CAPTURED		(V4L2_CID_FIMC_IS_BASE + 488)
    635 #define V4L2_CID_IS_SET_FRAME_CAPTURED		(V4L2_CID_FIMC_IS_BASE + 489)
    636 #define V4L2_CID_IS_SET_FRAME_NUMBER		(V4L2_CID_FIMC_IS_BASE + 490)
    637 #define V4L2_CID_IS_GET_FRAME_NUMBER		(V4L2_CID_FIMC_IS_BASE + 491)
    638 #define V4L2_CID_IS_CLEAR_FRAME_NUMBER		(V4L2_CID_FIMC_IS_BASE + 492)
    639 #define V4L2_CID_IS_GET_LOSTED_FRAME_NUMBER	(V4L2_CID_FIMC_IS_BASE + 493)
    640 #define V4L2_CID_IS_ISP_DMA_BUFFER_NUM		(V4L2_CID_FIMC_IS_BASE + 494)
    641 #define V4L2_CID_IS_ISP_DMA_BUFFER_ADDRESS	(V4L2_CID_FIMC_IS_BASE + 495)
    642 
    643 #define V4L2_CID_IS_ZOOM_STATE			(V4L2_CID_FIMC_IS_BASE + 660)
    644 #define V4L2_CID_IS_ZOOM_MAX_LEVEL		(V4L2_CID_FIMC_IS_BASE + 661)
    645 #define V4L2_CID_IS_ZOOM			(V4L2_CID_FIMC_IS_BASE + 662)
    646 #define V4L2_CID_IS_FW_DEBUG_REGION_ADDR	(V4L2_CID_FIMC_IS_BASE + 663)
    647 
    648 #define V4L2_CID_IS_TUNE_SEL_ENTRY		(V4L2_CID_FIMC_IS_TUNE_BASE)
    649 #define V4L2_CID_IS_TUNE_SENSOR_EXPOSURE	(V4L2_CID_FIMC_IS_TUNE_BASE + 1)
    650 #define V4L2_CID_IS_TUNE_SENSOR_ANALOG_GAIN	(V4L2_CID_FIMC_IS_TUNE_BASE + 2)
    651 #define V4L2_CID_IS_TUNE_SENSOR_FRAME_RATE	(V4L2_CID_FIMC_IS_TUNE_BASE + 3)
    652 #define V4L2_CID_IS_TUNE_SENSOR_ACTUATOR_POS	(V4L2_CID_FIMC_IS_TUNE_BASE + 4)
    653 
    654 enum v4l2_blur {
    655 	BLUR_LEVEL_0 = 0,
    656 	BLUR_LEVEL_1,
    657 	BLUR_LEVEL_2,
    658 	BLUR_LEVEL_3,
    659 	BLUR_LEVEL_MAX,
    660 };
    661 
    662 #if 1
    663 #define V4L2_CID_CAMERA_SCENE_MODE		(V4L2_CID_PRIVATE_BASE+70)
    664 enum v4l2_scene_mode {
    665 	SCENE_MODE_BASE,
    666 	SCENE_MODE_NONE,
    667 	SCENE_MODE_PORTRAIT,
    668 	SCENE_MODE_NIGHTSHOT,
    669 	SCENE_MODE_BACK_LIGHT,
    670 	SCENE_MODE_LANDSCAPE,
    671 	SCENE_MODE_SPORTS,
    672 	SCENE_MODE_PARTY_INDOOR,
    673 	SCENE_MODE_BEACH_SNOW,
    674 	SCENE_MODE_SUNSET,
    675 	SCENE_MODE_DUSK_DAWN,
    676 	SCENE_MODE_FALL_COLOR,
    677 	SCENE_MODE_FIREWORKS,
    678 	SCENE_MODE_TEXT,
    679 	SCENE_MODE_CANDLE_LIGHT,
    680 	SCENE_MODE_MAX,
    681 };
    682 
    683 #define V4L2_CID_CAMERA_FLASH_MODE		(V4L2_CID_PRIVATE_BASE+71)
    684 enum v4l2_flash_mode {
    685 	FLASH_MODE_BASE,
    686 	FLASH_MODE_OFF,
    687 	FLASH_MODE_AUTO,
    688 	FLASH_MODE_ON,
    689 	FLASH_MODE_TORCH,
    690 	FLASH_MODE_MAX,
    691 };
    692 
    693 #define V4L2_CID_CAMERA_BRIGHTNESS		(V4L2_CID_PRIVATE_BASE+72)
    694 enum v4l2_ev_mode {
    695 	EV_MINUS_4	= -4,
    696 	EV_MINUS_3	= -3,
    697 	EV_MINUS_2	= -2,
    698 	EV_MINUS_1	= -1,
    699 	EV_DEFAULT	= 0,
    700 	EV_PLUS_1	= 1,
    701 	EV_PLUS_2	= 2,
    702 	EV_PLUS_3	= 3,
    703 	EV_PLUS_4	= 4,
    704 	EV_MAX,
    705 };
    706 
    707 #define V4L2_CID_CAMERA_WHITE_BALANCE	(V4L2_CID_PRIVATE_BASE+73)
    708 enum v4l2_wb_mode {
    709 	WHITE_BALANCE_BASE = 0,
    710 	WHITE_BALANCE_AUTO,
    711 	WHITE_BALANCE_SUNNY,
    712 	WHITE_BALANCE_CLOUDY,
    713 	WHITE_BALANCE_TUNGSTEN,
    714 	WHITE_BALANCE_FLUORESCENT,
    715 	WHITE_BALANCE_MAX,
    716 };
    717 
    718 #define V4L2_CID_CAMERA_EFFECT			(V4L2_CID_PRIVATE_BASE+74)
    719 enum v4l2_effect_mode {
    720 	IMAGE_EFFECT_BASE = 0,
    721 	IMAGE_EFFECT_NONE,
    722 	IMAGE_EFFECT_BNW,
    723 	IMAGE_EFFECT_SEPIA,
    724 	IMAGE_EFFECT_AQUA,
    725 	IMAGE_EFFECT_ANTIQUE,
    726 	IMAGE_EFFECT_NEGATIVE,
    727 	IMAGE_EFFECT_SHARPEN,
    728 	IMAGE_EFFECT_MAX,
    729 };
    730 
    731 #define V4L2_CID_CAMERA_ISO				(V4L2_CID_PRIVATE_BASE+75)
    732 enum v4l2_iso_mode {
    733 	ISO_AUTO = 0,
    734 	ISO_50,
    735 	ISO_100,
    736 	ISO_200,
    737 	ISO_400,
    738 	ISO_800,
    739 	ISO_1600,
    740 	ISO_SPORTS,
    741 	ISO_NIGHT,
    742 	ISO_MOVIE,
    743 	ISO_MAX,
    744 };
    745 
    746 #define V4L2_CID_CAMERA_METERING			(V4L2_CID_PRIVATE_BASE+76)
    747 enum v4l2_metering_mode {
    748 	METERING_BASE = 0,
    749 	METERING_MATRIX,
    750 	METERING_CENTER,
    751 	METERING_SPOT,
    752 	METERING_MAX,
    753 };
    754 
    755 #define V4L2_CID_CAMERA_CONTRAST			(V4L2_CID_PRIVATE_BASE+77)
    756 enum v4l2_contrast_mode {
    757 	CONTRAST_MINUS_2 = 0,
    758 	CONTRAST_MINUS_1,
    759 	CONTRAST_DEFAULT,
    760 	CONTRAST_PLUS_1,
    761 	CONTRAST_PLUS_2,
    762 	CONTRAST_MAX,
    763 };
    764 
    765 #define V4L2_CID_CAMERA_SATURATION		(V4L2_CID_PRIVATE_BASE+78)
    766 enum v4l2_saturation_mode {
    767 	SATURATION_MINUS_2 = 0,
    768 	SATURATION_MINUS_1,
    769 	SATURATION_DEFAULT,
    770 	SATURATION_PLUS_1,
    771 	SATURATION_PLUS_2,
    772 	SATURATION_MAX,
    773 };
    774 
    775 #define V4L2_CID_CAMERA_SHARPNESS		(V4L2_CID_PRIVATE_BASE+79)
    776 enum v4l2_sharpness_mode {
    777 	SHARPNESS_MINUS_2 = 0,
    778 	SHARPNESS_MINUS_1,
    779 	SHARPNESS_DEFAULT,
    780 	SHARPNESS_PLUS_1,
    781 	SHARPNESS_PLUS_2,
    782 	SHARPNESS_MAX,
    783 };
    784 
    785 #define V4L2_CID_CAMERA_WDR				(V4L2_CID_PRIVATE_BASE+80)
    786 enum v4l2_wdr_mode {
    787 	WDR_OFF,
    788 	WDR_ON,
    789 	WDR_MAX,
    790 };
    791 
    792 #define V4L2_CID_CAMERA_ANTI_SHAKE		(V4L2_CID_PRIVATE_BASE+81)
    793 enum v4l2_anti_shake_mode {
    794 	ANTI_SHAKE_OFF,
    795 	ANTI_SHAKE_STILL_ON,
    796 	ANTI_SHAKE_MOVIE_ON,
    797 	ANTI_SHAKE_MAX,
    798 };
    799 
    800 #define V4L2_CID_CAMERA_TOUCH_AF_START_STOP		(V4L2_CID_PRIVATE_BASE+82)
    801 enum v4l2_touch_af {
    802 	TOUCH_AF_STOP = 0,
    803 	TOUCH_AF_START,
    804 	TOUCH_AF_MAX,
    805 };
    806 
    807 #define V4L2_CID_CAMERA_SMART_AUTO		(V4L2_CID_PRIVATE_BASE+83)
    808 enum v4l2_smart_auto {
    809 	SMART_AUTO_OFF = 0,
    810 	SMART_AUTO_ON,
    811 	SMART_AUTO_MAX,
    812 };
    813 
    814 #define V4L2_CID_CAMERA_VINTAGE_MODE		(V4L2_CID_PRIVATE_BASE+84)
    815 enum v4l2_vintage_mode {
    816 	VINTAGE_MODE_BASE,
    817 	VINTAGE_MODE_OFF,
    818 	VINTAGE_MODE_NORMAL,
    819 	VINTAGE_MODE_WARM,
    820 	VINTAGE_MODE_COOL,
    821 	VINTAGE_MODE_BNW,
    822 	VINTAGE_MODE_MAX,
    823 };
    824 
    825 #define V4L2_CID_CAMERA_JPEG_QUALITY		(V4L2_CID_PRIVATE_BASE+85)
    826 /* (V4L2_CID_PRIVATE_BASE+86) */
    827 #define V4L2_CID_CAMERA_GPS_LATITUDE		(V4L2_CID_CAMERA_CLASS_BASE+30)
    828 /* (V4L2_CID_PRIVATE_BASE+87) */
    829 #define V4L2_CID_CAMERA_GPS_LONGITUDE	(V4L2_CID_CAMERA_CLASS_BASE + 31)
    830 /* (V4L2_CID_PRIVATE_BASE+88) */
    831 #define V4L2_CID_CAMERA_GPS_TIMESTAMP	(V4L2_CID_CAMERA_CLASS_BASE + 32)
    832 /* (V4L2_CID_PRIVATE_BASE+89)*/
    833 #define V4L2_CID_CAMERA_GPS_ALTITUDE	(V4L2_CID_CAMERA_CLASS_BASE + 33)
    834 #define V4L2_CID_CAMERA_EXIF_TIME_INFO	(V4L2_CID_CAMERA_CLASS_BASE + 34)
    835 #define V4L2_CID_CAMERA_GPS_PROCESSINGMETHOD			(V4L2_CID_CAMERA_CLASS_BASE+35)
    836 
    837 #define V4L2_CID_FOCUS_AUTO_MODE				(V4L2_CID_CAMERA_CLASS_BASE+36)
    838 enum v4l2_focus_mode_type {
    839 	V4L2_FOCUS_AUTO_NORMAL = 0,
    840 	V4L2_FOCUS_AUTO_MACRO,
    841 	V4L2_FOCUS_AUTO_CONTINUOUS,
    842 	V4L2_FOCUS_AUTO_FACE_DETECTION,
    843 	V4L2_FOCUS_AUTO_RECTANGLE,
    844 	V4L2_FOCUS_AUTO_MAX,
    845 };
    846 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_LEFT		(V4L2_CID_CAMERA_CLASS_BASE+37)
    847 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_TOP		(V4L2_CID_CAMERA_CLASS_BASE+38)
    848 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_WIDTH		(V4L2_CID_CAMERA_CLASS_BASE+39)
    849 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_HEIGHT		(V4L2_CID_CAMERA_CLASS_BASE+40)
    850 
    851 #define V4L2_CID_CAMERA_ZOOM				(V4L2_CID_PRIVATE_BASE+90)
    852 enum v4l2_zoom_level {
    853 	ZOOM_LEVEL_0 = 0,
    854 	ZOOM_LEVEL_1,
    855 	ZOOM_LEVEL_2,
    856 	ZOOM_LEVEL_3,
    857 	ZOOM_LEVEL_4,
    858 	ZOOM_LEVEL_5,
    859 	ZOOM_LEVEL_6,
    860 	ZOOM_LEVEL_7,
    861 	ZOOM_LEVEL_8,
    862 	ZOOM_LEVEL_9,
    863 	ZOOM_LEVEL_10,
    864 	ZOOM_LEVEL_11,
    865 	ZOOM_LEVEL_12,
    866 	ZOOM_LEVEL_MAX = 31,
    867 };
    868 
    869 #define V4L2_CID_CAMERA_FACE_DETECTION		(V4L2_CID_PRIVATE_BASE+91)
    870 enum v4l2_face_detection {
    871 	FACE_DETECTION_OFF = 0,
    872 	FACE_DETECTION_ON,
    873 	FACE_DETECTION_NOLINE,
    874 	FACE_DETECTION_ON_BEAUTY,
    875 	FACE_DETECTION_MAX,
    876 };
    877 
    878 #define V4L2_CID_CAMERA_SMART_AUTO_STATUS		(V4L2_CID_PRIVATE_BASE+92)
    879 enum v4l2_smart_auto_status {
    880 	SMART_AUTO_STATUS_AUTO = 0,
    881 	SMART_AUTO_STATUS_LANDSCAPE,
    882 	SMART_AUTO_STATUS_PORTRAIT,
    883 	SMART_AUTO_STATUS_MACRO,
    884 	SMART_AUTO_STATUS_NIGHT,
    885 	SMART_AUTO_STATUS_PORTRAIT_NIGHT,
    886 	SMART_AUTO_STATUS_BACKLIT,
    887 	SMART_AUTO_STATUS_PORTRAIT_BACKLIT,
    888 	SMART_AUTO_STATUS_ANTISHAKE,
    889 	SMART_AUTO_STATUS_PORTRAIT_ANTISHAKE,
    890 	SMART_AUTO_STATUS_MAX,
    891 };
    892 
    893 #define V4L2_CID_CAMERA_SET_AUTO_FOCUS		(V4L2_CID_PRIVATE_BASE+93)
    894 enum v4l2_auto_focus {
    895 	AUTO_FOCUS_OFF = 0,
    896 	AUTO_FOCUS_ON,
    897 	AUTO_FOCUS_MAX,
    898 };
    899 
    900 #define V4L2_CID_CAMERA_BEAUTY_SHOT		(V4L2_CID_PRIVATE_BASE+94)
    901 enum v4l2_beauty_shot {
    902 	BEAUTY_SHOT_OFF = 0,
    903 	BEAUTY_SHOT_ON,
    904 	BEAUTY_SHOT_MAX,
    905 };
    906 
    907 #define V4L2_CID_CAMERA_AEAWB_LOCK_UNLOCK		(V4L2_CID_PRIVATE_BASE+95)
    908 enum v4l2_ae_awb_lockunlock {
    909 	AE_UNLOCK_AWB_UNLOCK = 0,
    910 	AE_LOCK_AWB_UNLOCK,
    911 	AE_UNLOCK_AWB_LOCK,
    912 	AE_LOCK_AWB_LOCK,
    913 	AE_AWB_MAX
    914 };
    915 
    916 #define V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK	(V4L2_CID_PRIVATE_BASE+96)
    917 enum v4l2_face_lock {
    918 	FACE_LOCK_OFF = 0,
    919 	FACE_LOCK_ON,
    920 	FIRST_FACE_TRACKING,
    921 	FACE_LOCK_MAX,
    922 };
    923 
    924 #define V4L2_CID_CAMERA_OBJECT_POSITION_X	(V4L2_CID_PRIVATE_BASE+97)
    925 #define V4L2_CID_CAMERA_OBJECT_POSITION_Y	(V4L2_CID_PRIVATE_BASE+98)
    926 #define V4L2_CID_CAMERA_FOCUS_MODE		(V4L2_CID_PRIVATE_BASE+99)
    927 enum v4l2_focusmode {
    928 	FOCUS_MODE_AUTO = 0,
    929 	FOCUS_MODE_MACRO,
    930 	FOCUS_MODE_FACEDETECT,
    931 	FOCUS_MODE_AUTO_DEFAULT,
    932 	FOCUS_MODE_MACRO_DEFAULT,
    933 	FOCUS_MODE_FACEDETECT_DEFAULT,
    934 	FOCUS_MODE_INFINITY,
    935 	FOCUS_MODE_FIXED,
    936 	FOCUS_MODE_CONTINUOUS,
    937 	FOCUS_MODE_CONTINUOUS_PICTURE,
    938 	FOCUS_MODE_CONTINUOUS_PICTURE_MACRO,
    939 	FOCUS_MODE_CONTINUOUS_VIDEO,
    940 	FOCUS_MODE_TOUCH,
    941 	FOCUS_MODE_MAX,
    942 	FOCUS_MODE_DEFAULT = (1 << 8),
    943 };
    944 
    945 #define V4L2_CID_CAMERA_OBJ_TRACKING_STATUS	(V4L2_CID_PRIVATE_BASE+100)
    946 enum v4l2_obj_tracking_status {
    947 	OBJECT_TRACKING_STATUS_BASE,
    948 	OBJECT_TRACKING_STATUS_PROGRESSING,
    949 	OBJECT_TRACKING_STATUS_SUCCESS,
    950 	OBJECT_TRACKING_STATUS_FAIL,
    951 	OBJECT_TRACKING_STATUS_MISSING,
    952 	OBJECT_TRACKING_STATUS_MAX,
    953 };
    954 
    955 #define V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP	(V4L2_CID_PRIVATE_BASE+101)
    956 enum v4l2_ot_start_stop {
    957 	OT_STOP = 0,
    958 	OT_START,
    959 	OT_MAX,
    960 };
    961 
    962 #define V4L2_CID_CAMERA_CAF_START_STOP	(V4L2_CID_PRIVATE_BASE+102)
    963 enum v4l2_caf_start_stop {
    964 	CAF_STOP = 0,
    965 	CAF_START,
    966 	CAF_MAX,
    967 };
    968 
    969 #define V4L2_CID_CAMERA_AUTO_FOCUS_RESULT		(V4L2_CID_PRIVATE_BASE+103)
    970 enum v4l2_af_status {
    971 	CAMERA_AF_STATUS_IN_PROGRESS = 0,
    972 	CAMERA_AF_STATUS_SUCCESS,
    973 	CAMERA_AF_STATUS_FAIL,
    974 	CAMERA_AF_STATUS_1ST_SUCCESS,
    975 	CAMERA_AF_STATUS_MAX,
    976 };
    977 #define V4L2_CID_CAMERA_FRAME_RATE			(V4L2_CID_PRIVATE_BASE+104)
    978 enum v4l2_frame_rate {
    979 	FRAME_RATE_AUTO = 0,
    980 	FRAME_RATE_7 = 7,
    981 	FRAME_RATE_15 = 15,
    982 	FRAME_RATE_20 = 20,
    983 	FRAME_RATE_30 = 30,
    984 	FRAME_RATE_60 = 60,
    985 	FRAME_RATE_120 = 120,
    986 	FRAME_RATE_MAX
    987 };
    988 
    989 #define V4L2_CID_CAMERA_ANTI_BANDING					(V4L2_CID_PRIVATE_BASE+105)
    990 enum v4l2_anti_banding{
    991 	ANTI_BANDING_AUTO = 0,
    992 	ANTI_BANDING_50HZ = 1,
    993 	ANTI_BANDING_60HZ = 2,
    994 	ANTI_BANDING_OFF = 3,
    995 };
    996 
    997 #define V4L2_CID_CAMERA_SET_GAMMA	(V4L2_CID_PRIVATE_BASE+106)
    998 enum v4l2_gamma_mode{
    999 	GAMMA_OFF = 0,
   1000 	GAMMA_ON = 1,
   1001 	GAMMA_MAX,
   1002 };
   1003 
   1004 #define V4L2_CID_CAMERA_SET_SLOW_AE	(V4L2_CID_PRIVATE_BASE+107)
   1005 enum v4l2_slow_ae_mode{
   1006 	SLOW_AE_OFF,
   1007 	SLOW_AE_ON,
   1008 	SLOW_AE_MAX,
   1009 };
   1010 
   1011 #define V4L2_CID_CAMERA_BATCH_REFLECTION					(V4L2_CID_PRIVATE_BASE+108)
   1012 #define V4L2_CID_CAMERA_EXIF_ORIENTATION					(V4L2_CID_PRIVATE_BASE+109)
   1013 
   1014 /* s1_camera [ Defense process by ESD input ] */
   1015 #define V4L2_CID_CAMERA_RESET			(V4L2_CID_PRIVATE_BASE+111)
   1016 #define V4L2_CID_CAMERA_CHECK_DATALINE						(V4L2_CID_PRIVATE_BASE+112)
   1017 #define V4L2_CID_CAMERA_CHECK_DATALINE_STOP					(V4L2_CID_PRIVATE_BASE+113)
   1018 
   1019 #endif
   1020 
   1021 /* Modify NTTS1 */
   1022 #if defined(CONFIG_ARIES_NTT)
   1023 #define V4L2_CID_CAMERA_AE_AWB_DISABLE_LOCK					(V4L2_CID_PRIVATE_BASE+114)
   1024 #endif
   1025 #define V4L2_CID_CAMERA_THUMBNAIL_NULL                                  (V4L2_CID_PRIVATE_BASE+115)
   1026 #define V4L2_CID_CAMERA_SENSOR_MODE					(V4L2_CID_PRIVATE_BASE+116)
   1027 enum v4l2_sensor_mode {
   1028 	SENSOR_CAMERA,
   1029 	SENSOR_MOVIE,
   1030 };
   1031 
   1032 typedef enum {
   1033 	STREAM_MODE_CAM_OFF,
   1034 	STREAM_MODE_CAM_ON,
   1035 	STREAM_MODE_MOVIE_OFF,
   1036 	STREAM_MODE_MOVIE_ON,
   1037 } stream_mode_t;
   1038 
   1039 #define V4L2_CID_CAMERA_EXIF_EXPTIME				(V4L2_CID_PRIVATE_BASE+117)
   1040 #define V4L2_CID_CAMERA_EXIF_FLASH					(V4L2_CID_PRIVATE_BASE+118)
   1041 #define V4L2_CID_CAMERA_EXIF_ISO					(V4L2_CID_PRIVATE_BASE+119)
   1042 #define V4L2_CID_CAMERA_EXIF_TV						(V4L2_CID_PRIVATE_BASE+120)
   1043 #define V4L2_CID_CAMERA_EXIF_BV						(V4L2_CID_PRIVATE_BASE+121)
   1044 #define V4L2_CID_CAMERA_EXIF_EBV					(V4L2_CID_PRIVATE_BASE+122)
   1045 #define V4L2_CID_CAMERA_CHECK_ESD		(V4L2_CID_PRIVATE_BASE+123)
   1046 #define V4L2_CID_CAMERA_APP_CHECK		(V4L2_CID_PRIVATE_BASE+124)
   1047 #define V4L2_CID_CAMERA_BUSFREQ_LOCK		(V4L2_CID_PRIVATE_BASE+125)
   1048 #define V4L2_CID_CAMERA_BUSFREQ_UNLOCK		(V4L2_CID_PRIVATE_BASE+126)
   1049 
   1050 #define V4L2_CID_CAMERA_FACE_ZOOM  (V4L2_CID_PRIVATE_BASE + 132)
   1051 enum v4l2_face_zoom {
   1052 	FACE_ZOOM_STOP = 0,
   1053 	FACE_ZOOM_START
   1054 };
   1055 
   1056 /* control for post processing block in ISP */
   1057 #define V4L2_CID_CAMERA_SET_ODC				(V4L2_CID_PRIVATE_BASE+127)
   1058 enum set_odc_mode {
   1059 	CAMERA_ODC_ON,
   1060 	CAMERA_ODC_OFF
   1061 };
   1062 
   1063 #define V4L2_CID_CAMERA_SET_DIS				(V4L2_CID_PRIVATE_BASE+128)
   1064 enum set_dis_mode {
   1065 	CAMERA_DIS_ON,
   1066 	CAMERA_DIS_OFF
   1067 };
   1068 
   1069 #define V4L2_CID_CAMERA_SET_3DNR				(V4L2_CID_PRIVATE_BASE+129)
   1070 enum set_3dnr_mode {
   1071 	CAMERA_3DNR_ON,
   1072 	CAMERA_3DNR_OFF
   1073 };
   1074 
   1075 #define V4L2_CID_EMBEDDEDDATA_ENABLE				(V4L2_CID_PRIVATE_BASE+130)
   1076 
   1077 #define V4L2_CID_CAMERA_CHECK_SENSOR_STATUS			(V4L2_CID_PRIVATE_BASE+150)
   1078 #define V4L2_CID_CAMERA_DEFAULT_FOCUS_POSITION			(V4L2_CID_PRIVATE_BASE+151)
   1079 
   1080 /*      Pixel format FOURCC depth  Description  */
   1081 enum v4l2_pix_format_mode {
   1082 	V4L2_PIX_FMT_MODE_PREVIEW,
   1083 	V4L2_PIX_FMT_MODE_CAPTURE,
   1084 	V4L2_PIX_FMT_MODE_HDR,
   1085 	V4L2_PIX_FMT_MODE_VT_MIRROR,
   1086 	V4L2_PIX_FMT_MODE_VT_NONMIRROR,
   1087 };
   1088 
   1089 /* 12  Y/CbCr 4:2:0 64x32 macroblocks */
   1090 #define V4L2_PIX_FMT_NV12T    v4l2_fourcc('T', 'V', '1', '2')
   1091 #define V4L2_PIX_FMT_NV21T    v4l2_fourcc('T', 'V', '2', '1')
   1092 #define V4L2_PIX_FMT_INTERLEAVED    v4l2_fourcc('I', 'T', 'L', 'V')
   1093 
   1094 /*
   1095  *  * V4L2 extention for digital camera
   1096  *   */
   1097 /* Strobe flash light */
   1098 enum v4l2_strobe_control {
   1099 	/* turn off the flash light */
   1100 	V4L2_STROBE_CONTROL_OFF		= 0,
   1101 	/* turn on the flash light */
   1102 	V4L2_STROBE_CONTROL_ON		= 1,
   1103 	/* act guide light before splash */
   1104 	V4L2_STROBE_CONTROL_AFGUIDE	= 2,
   1105 	/* charge the flash light */
   1106 	V4L2_STROBE_CONTROL_CHARGE	= 3,
   1107 };
   1108 
   1109 enum v4l2_strobe_conf {
   1110 	V4L2_STROBE_OFF			= 0,	/* Always off */
   1111 	V4L2_STROBE_ON			= 1,	/* Always splashes */
   1112 	/* Auto control presets */
   1113 	V4L2_STROBE_AUTO		= 2,
   1114 	V4L2_STROBE_REDEYE_REDUCTION	= 3,
   1115 	V4L2_STROBE_SLOW_SYNC		= 4,
   1116 	V4L2_STROBE_FRONT_CURTAIN	= 5,
   1117 	V4L2_STROBE_REAR_CURTAIN	= 6,
   1118 	/* Extra manual control presets */
   1119 	/* keep turned on until turning off */
   1120 	V4L2_STROBE_PERMANENT		= 7,
   1121 	V4L2_STROBE_EXTERNAL		= 8,
   1122 };
   1123 
   1124 enum v4l2_strobe_status {
   1125 	V4L2_STROBE_STATUS_OFF		= 0,
   1126 	/* while processing configurations */
   1127 	V4L2_STROBE_STATUS_BUSY		= 1,
   1128 	V4L2_STROBE_STATUS_ERR		= 2,
   1129 	V4L2_STROBE_STATUS_CHARGING	= 3,
   1130 	V4L2_STROBE_STATUS_CHARGED	= 4,
   1131 };
   1132 
   1133 /* capabilities field */
   1134 /* No strobe supported */
   1135 #define V4L2_STROBE_CAP_NONE		0x0000
   1136 /* Always flash off mode */
   1137 #define V4L2_STROBE_CAP_OFF		0x0001
   1138 /* Always use flash light mode */
   1139 #define V4L2_STROBE_CAP_ON		0x0002
   1140 /* Flashlight works automatic */
   1141 #define V4L2_STROBE_CAP_AUTO		0x0004
   1142 /* Red-eye reduction */
   1143 #define V4L2_STROBE_CAP_REDEYE		0x0008
   1144 /* Slow sync */
   1145 #define V4L2_STROBE_CAP_SLOWSYNC	0x0010
   1146 /* Front curtain */
   1147 #define V4L2_STROBE_CAP_FRONT_CURTAIN	0x0020
   1148 /* Rear curtain */
   1149 #define V4L2_STROBE_CAP_REAR_CURTAIN	0x0040
   1150 /* keep turned on until turning off */
   1151 #define V4L2_STROBE_CAP_PERMANENT	0x0080
   1152 /* use external strobe */
   1153 #define V4L2_STROBE_CAP_EXTERNAL	0x0100
   1154 
   1155 /* Set mode and Get status */
   1156 struct v4l2_strobe {
   1157 	/* off/on/charge:0/1/2 */
   1158 	enum	v4l2_strobe_control control;
   1159 	/* supported strobe capabilities */
   1160 	__u32	capabilities;
   1161 	enum	v4l2_strobe_conf mode;
   1162 	enum 	v4l2_strobe_status status;	/* read only */
   1163 	/* default is 0 and range of value varies from each models */
   1164 	__u32	flash_ev;
   1165 	__u32	reserved[4];
   1166 };
   1167 
   1168 #define VIDIOC_S_STROBE     _IOWR('V', 83, struct v4l2_strobe)
   1169 #define VIDIOC_G_STROBE     _IOR('V', 84, struct v4l2_strobe)
   1170 
   1171 /* Object recognition and collateral actions */
   1172 enum v4l2_recog_mode {
   1173 	V4L2_RECOGNITION_MODE_OFF	= 0,
   1174 	V4L2_RECOGNITION_MODE_ON	= 1,
   1175 	V4L2_RECOGNITION_MODE_LOCK	= 2,
   1176 };
   1177 
   1178 enum v4l2_recog_action {
   1179 	V4L2_RECOGNITION_ACTION_NONE	= 0,	/* only recognition */
   1180 	V4L2_RECOGNITION_ACTION_BLINK	= 1,	/* Capture on blinking */
   1181 	V4L2_RECOGNITION_ACTION_SMILE	= 2,	/* Capture on smiling */
   1182 };
   1183 
   1184 enum v4l2_recog_pattern {
   1185 	V4L2_RECOG_PATTERN_FACE		= 0, /* Face */
   1186 	V4L2_RECOG_PATTERN_HUMAN	= 1, /* Human */
   1187 	V4L2_RECOG_PATTERN_CHAR		= 2, /* Character */
   1188 };
   1189 
   1190 struct v4l2_recog_rect {
   1191 	enum	v4l2_recog_pattern  p;	/* detected pattern */
   1192 	struct	v4l2_rect  o;	/* detected area */
   1193 	__u32	reserved[4];
   1194 };
   1195 
   1196 struct v4l2_recog_data {
   1197 	__u8	detect_cnt;		/* detected object counter */
   1198 	struct	v4l2_rect	o;	/* detected area */
   1199 	__u32	reserved[4];
   1200 };
   1201 
   1202 struct v4l2_recognition {
   1203 	enum v4l2_recog_mode	mode;
   1204 
   1205 	/* Which pattern to detect */
   1206 	enum v4l2_recog_pattern  pattern;
   1207 
   1208 	/* How many object to detect */
   1209 	__u8 	obj_num;
   1210 
   1211 	/* select detected object */
   1212 	__u32	detect_idx;
   1213 
   1214 	/* read only :Get object coordination */
   1215 	struct v4l2_recog_data	data;
   1216 
   1217 	enum v4l2_recog_action	action;
   1218 	__u32	reserved[4];
   1219 };
   1220 
   1221 #define VIDIOC_S_RECOGNITION	_IOWR('V', 85, struct v4l2_recognition)
   1222 #define VIDIOC_G_RECOGNITION	_IOR('V', 86, struct v4l2_recognition)
   1223 
   1224 #endif /* __LINUX_VIDEODEV2_EXYNOS_CAMERA_H */
   1225