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