Jiyoung Shin | 564463a | 2012-04-02 16:18:25 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Video for Linux Two header file for samsung |
| 3 | * |
| 4 | * Copyright (C) 2009, Dongsoo Nathaniel Kim<dongsoo45.kim@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 | |
hyeonmyeong Choi | c0b6e17 | 2012-09-05 00:51:31 -0700 | [diff] [blame] | 195 | #define V4L2_CID_IS_G_COMPLETES (V4L2_CID_FIMC_IS_BASE + 18) |
| 196 | |
Jiyoung Shin | 564463a | 2012-04-02 16:18:25 -0700 | [diff] [blame] | 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, |
Jiyoung Shin | 48bac8e | 2012-06-01 16:08:20 -0700 | [diff] [blame] | 936 | FOCUS_MODE_CONTINUOUS, |
| 937 | FOCUS_MODE_CONTINUOUS_PICTURE, |
| 938 | FOCUS_MODE_CONTINUOUS_PICTURE_MACRO, |
| 939 | FOCUS_MODE_CONTINUOUS_VIDEO, |
Jiyoung Shin | 564463a | 2012-04-02 16:18:25 -0700 | [diff] [blame] | 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 | |
Jiyoung Shin | 48bac8e | 2012-06-01 16:08:20 -0700 | [diff] [blame] | 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 | |
Jiyoung Shin | 564463a | 2012-04-02 16:18:25 -0700 | [diff] [blame] | 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 */ |