hardware: exynos5: update include directory for camera
authorJiyoung Shin <idon.shin@samsung.com>
Mon, 2 Apr 2012 23:18:25 +0000 (16:18 -0700)
committerDima Zavin <dima@android.com>
Mon, 7 May 2012 18:26:48 +0000 (11:26 -0700)
updates following:
videodev2_exynos_camera.h, ExynosCamera.h

Change-Id: Iaea4149d9b969fc5f9d6025911af4c6bb73cf080
Signed-off-by: Jiyoung Shin <idon.shin@samsung.com>
include/ExynosCamera.h
include/videodev2_exynos_camera.h [new file with mode: 0644]

index 4318094c748235540c8d3f7f35c3b3e52fb86673..7b5c36beb279e0e04618f71a38e64e2a674b7526 100644 (file)
@@ -57,7 +57,7 @@
 #include <sys/types.h>
 
 #include <videodev2.h>
-#include <videodev2_samsung.h>
+#include <videodev2_exynos_camera.h>
 #include <linux/vt.h>
 
 #include <utils/RefBase.h>
@@ -71,7 +71,7 @@
 #include "ExynosExif.h"
 #include "exynos_v4l2.h"
 
-using namespace android;
+namespace android {
 
 #define GAIA_FW_BETA                        1
 
@@ -89,6 +89,8 @@ public:
     int  previewColorFormat;
     int  videoW;
     int  videoH;
+    int  prefVideoPreviewW;
+    int  prefVideoPreviewH;
     int  videoColorFormat;
     int  pictureW;
     int  pictureH;
@@ -127,6 +129,8 @@ public:
     int  fps;
     int  focalLengthNum;
     int  focalLengthDen;
+    bool supportVideoStabilization;
+    bool applyVideoStabilization;
     bool videoStabilization;
     int  maxNumMeteringAreas;
     int  maxNumDetectedFaces;
@@ -241,6 +245,7 @@ public:
         FOCUS_MODE_EDOF               = (1 << 4), //!< \n
         FOCUS_MODE_CONTINUOUS_VIDEO   = (1 << 5), //!< \n
         FOCUS_MODE_CONTINUOUS_PICTURE = (1 << 6), //!< \n
+        FOCUS_MODE_TOUCH              = (1 << 7), //!< \n
     };
 
     //! Scene mode
@@ -372,7 +377,7 @@ public:
     bool            putPictureBuf(ExynosBuffer *buf);
 
     //! Encode JPEG from YUV
-    bool            yuv2Jpeg(ExynosBuffer *yuvBuf, ExynosBuffer *jpegBuf);
+    bool            yuv2Jpeg(ExynosBuffer *yuvBuf, ExynosBuffer *jpegBuf, ExynosRect *rect);
 
     //! Starts camera auto-focus and registers a callback function to run when the camera is focused.
     bool            autoFocus(void);
@@ -527,6 +532,9 @@ public:
     //! Gets the supported video frame sizes that can be used by MediaRecorder.
     bool            getSupportedVideoSizes(int *w, int *h);
 
+    //! Gets the preferred Preview size for the video recording.
+    bool            getPreferredPreivewSizeForVideo(int *w, int *h);
+
     //! Gets the supported white balance.
     int             getSupportedWhiteBalance(void);
 
@@ -694,6 +702,7 @@ private:
     int             m_jpegThumbnailQuality;
 
     int             m_currentZoom;
+    bool            m_recordingHint;
 
     // v4l2 sub-dev file description
     devInfo         m_sensorDev;
@@ -716,6 +725,7 @@ private:
 
     char            m_cameraName[32];
     bool            m_internalISP;
+    bool            m_touchAFMode;
 
     // media controller variable
     struct media_device *m_media;
@@ -760,7 +770,7 @@ private:
                               int           zoom);
 
     void            m_setExifFixedAttribute(void);
-    void            m_setExifChangedAttribute(void);
+    void            m_setExifChangedAttribute(exif_attribute_t *exifInfo, ExynosRect *rect);
     void            m_secRect2SecRect2(ExynosRect *rect, ExynosRect2 *rect2);
     void            m_secRect22SecRect(ExynosRect2 *rect2, ExynosRect *rect);
     void            m_printFormat(int colorFormat, const char *arg);
@@ -903,4 +913,6 @@ public:
     bool            get3DNR(void);
 };
 
-#endif // EXYNOS_CAMERA_H__
\ No newline at end of file
+}; // namespace android
+
+#endif // EXYNOS_CAMERA_H__
diff --git a/include/videodev2_exynos_camera.h b/include/videodev2_exynos_camera.h
new file mode 100644 (file)
index 0000000..596407f
--- /dev/null
@@ -0,0 +1,1215 @@
+/*
+ * Video for Linux Two header file for samsung
+ *
+ * Copyright (C) 2009, Dongsoo Nathaniel Kim<dongsoo45.kim@samsung.com>
+ *
+ * This header file contains several v4l2 APIs to be proposed to v4l2
+ * community and until bein accepted, will be used restrictly in Samsung's
+ * camera interface driver FIMC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/*
+ * Copyright 2008, The Android Open Source Project
+ * Copyright 2010, Samsung Electronics Co. LTD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed toggle an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
+#define __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
+
+/* Values for 'capabilities' field */
+/* Object detection device */
+#define V4L2_CAP_OBJ_RECOGNITION       0x10000000
+/* strobe control */
+#define V4L2_CAP_STROBE                        0x20000000
+
+#define V4L2_CID_FOCUS_MODE            (V4L2_CID_CAMERA_CLASS_BASE+17)
+/* Focus Methods */
+enum v4l2_focus_mode {
+       V4L2_FOCUS_MODE_AUTO            = 0,
+       V4L2_FOCUS_MODE_MACRO           = 1,
+       V4L2_FOCUS_MODE_MANUAL          = 2,
+       V4L2_FOCUS_MODE_LASTP           = 2,
+};
+
+#define V4L2_CID_ZOOM_MODE             (V4L2_CID_CAMERA_CLASS_BASE+18)
+/* Zoom Methods */
+enum v4l2_zoom_mode {
+       V4L2_ZOOM_MODE_CONTINUOUS       = 0,
+       V4L2_ZOOM_MODE_OPTICAL          = 1,
+       V4L2_ZOOM_MODE_DIGITAL          = 2,
+       V4L2_ZOOM_MODE_LASTP            = 2,
+};
+
+/* Exposure Methods */
+#define V4L2_CID_PHOTOMETRY            (V4L2_CID_CAMERA_CLASS_BASE+19)
+enum v4l2_photometry_mode {
+       V4L2_PHOTOMETRY_MULTISEG        = 0, /*Multi Segment*/
+       V4L2_PHOTOMETRY_CWA             = 1, /*Centre Weighted Average*/
+       V4L2_PHOTOMETRY_SPOT            = 2,
+       V4L2_PHOTOMETRY_AFSPOT          = 3, /*Spot metering on focused point*/
+       V4L2_PHOTOMETRY_LASTP           = V4L2_PHOTOMETRY_AFSPOT,
+};
+
+/* Manual exposure control items menu type: iris, shutter, iso */
+#define V4L2_CID_CAM_APERTURE  (V4L2_CID_CAMERA_CLASS_BASE+20)
+#define V4L2_CID_CAM_SHUTTER   (V4L2_CID_CAMERA_CLASS_BASE+21)
+#define V4L2_CID_CAM_ISO       (V4L2_CID_CAMERA_CLASS_BASE+22)
+
+/* Following CIDs are menu type */
+#define V4L2_CID_SCENEMODE     (V4L2_CID_CAMERA_CLASS_BASE+23)
+#define V4L2_CID_CAM_STABILIZE (V4L2_CID_CAMERA_CLASS_BASE+24)
+#define V4L2_CID_CAM_MULTISHOT (V4L2_CID_CAMERA_CLASS_BASE+25)
+
+/* Control dynamic range */
+#define V4L2_CID_CAM_DR                (V4L2_CID_CAMERA_CLASS_BASE+26)
+
+/* White balance preset control */
+#define V4L2_CID_WHITE_BALANCE_PRESET  (V4L2_CID_CAMERA_CLASS_BASE+27)
+#define V4L2_CID_CAM_SENSOR_FW_VER             (V4L2_CID_CAMERA_CLASS_BASE + 28)
+#define V4L2_CID_CAM_PHONE_FW_VER              (V4L2_CID_CAMERA_CLASS_BASE + 29)
+
+/* CID extensions */
+#define V4L2_CID_ROTATION              (V4L2_CID_PRIVATE_BASE + 0)
+#define V4L2_CID_PADDR_Y               (V4L2_CID_PRIVATE_BASE + 1)
+#define V4L2_CID_PADDR_CB              (V4L2_CID_PRIVATE_BASE + 2)
+#define V4L2_CID_PADDR_CR              (V4L2_CID_PRIVATE_BASE + 3)
+#define V4L2_CID_PADDR_CBCR            (V4L2_CID_PRIVATE_BASE + 4)
+#define V4L2_CID_OVERLAY_AUTO          (V4L2_CID_PRIVATE_BASE + 5)
+#define V4L2_CID_OVERLAY_VADDR0                (V4L2_CID_PRIVATE_BASE + 6)
+#define V4L2_CID_OVERLAY_VADDR1                (V4L2_CID_PRIVATE_BASE + 7)
+#define V4L2_CID_OVERLAY_VADDR2                (V4L2_CID_PRIVATE_BASE + 8)
+#define V4L2_CID_OVLY_MODE             (V4L2_CID_PRIVATE_BASE + 9)
+#define V4L2_CID_DST_INFO              (V4L2_CID_PRIVATE_BASE + 10)
+/* UMP secure id control */
+#define V4L2_CID_GET_UMP_SECURE_ID     (V4L2_CID_PRIVATE_BASE + 11)
+#define V4L2_CID_GET_PHY_SRC_YADDR     (V4L2_CID_PRIVATE_BASE + 12)
+#define V4L2_CID_GET_PHY_SRC_CADDR     (V4L2_CID_PRIVATE_BASE + 13)
+#define V4L2_CID_IMAGE_EFFECT_FN       (V4L2_CID_PRIVATE_BASE + 16)
+#define V4L2_CID_IMAGE_EFFECT_APPLY    (V4L2_CID_PRIVATE_BASE + 17)
+#define V4L2_CID_IMAGE_EFFECT_CB       (V4L2_CID_PRIVATE_BASE + 18)
+#define V4L2_CID_IMAGE_EFFECT_CR       (V4L2_CID_PRIVATE_BASE + 19)
+#define V4L2_CID_RESERVED_MEM_BASE_ADDR        (V4L2_CID_PRIVATE_BASE + 20)
+#define V4L2_CID_FIMC_VERSION          (V4L2_CID_PRIVATE_BASE + 21)
+
+#define V4L2_CID_STREAM_PAUSE                  (V4L2_CID_PRIVATE_BASE + 53)
+#define V4L2_CID_CACHE_FLUSH                   (V4L2_CID_PRIVATE_BASE + 61)
+#define V4L2_CID_RESERVED_MEM_SIZE             (V4L2_CID_PRIVATE_BASE + 63)
+
+/* CID Extensions for camera sensor operations */
+#define V4L2_CID_CAM_PREVIEW_ONOFF             (V4L2_CID_PRIVATE_BASE + 64)
+#define V4L2_CID_CAM_CAPTURE                   (V4L2_CID_PRIVATE_BASE + 65)
+/* #define V4L2_CID_CAM_JPEG_MEMSIZE   (V4L2_CID_PRIVATE_BASE + 66) */
+
+#define V4L2_CID_CAM_DATE_INFO_YEAR            (V4L2_CID_PRIVATE_BASE + 14)
+#define V4L2_CID_CAM_DATE_INFO_MONTH                   (V4L2_CID_PRIVATE_BASE + 15)
+#define V4L2_CID_CAM_DATE_INFO_DATE            (V4L2_CID_PRIVATE_BASE + 22)
+#define V4L2_CID_CAM_SENSOR_VER                                (V4L2_CID_PRIVATE_BASE + 23)
+#define V4L2_CID_CAM_FW_MINOR_VER              (V4L2_CID_PRIVATE_BASE + 24)
+#define V4L2_CID_CAM_FW_MAJOR_VER              (V4L2_CID_PRIVATE_BASE + 25)
+#define V4L2_CID_CAM_PRM_MINOR_VER             (V4L2_CID_PRIVATE_BASE + 26)
+#define V4L2_CID_CAM_PRM_MAJOR_VER             (V4L2_CID_PRIVATE_BASE + 27)
+#define V4L2_CID_CAM_FW_VER                    (V4L2_CID_PRIVATE_BASE + 28)
+#define V4L2_CID_CAM_SET_FW_ADDR                (V4L2_CID_PRIVATE_BASE + 29)
+#define V4L2_CID_CAM_SET_FW_SIZE                (V4L2_CID_PRIVATE_BASE + 30)
+#define V4L2_CID_CAM_UPDATE_FW (V4L2_CID_PRIVATE_BASE + 31)
+enum v4l2_firmware_mode {
+       FW_MODE_UPDATE,
+       FW_MODE_VERSION,
+       FW_MODE_DUMP,
+};
+
+#define V4L2_CID_CAM_JPEG_MAIN_SIZE            (V4L2_CID_PRIVATE_BASE + 32)
+#define V4L2_CID_CAM_JPEG_MAIN_OFFSET          (V4L2_CID_PRIVATE_BASE + 33)
+#define V4L2_CID_CAM_JPEG_THUMB_SIZE           (V4L2_CID_PRIVATE_BASE + 34)
+#define V4L2_CID_CAM_JPEG_THUMB_OFFSET         (V4L2_CID_PRIVATE_BASE + 35)
+#define V4L2_CID_CAM_JPEG_POSTVIEW_OFFSET      (V4L2_CID_PRIVATE_BASE + 36)
+#define V4L2_CID_CAM_JPEG_QUALITY      (V4L2_CID_PRIVATE_BASE + 37)
+#define V4L2_CID_CAM_SENSOR_MAKER      (V4L2_CID_PRIVATE_BASE + 38)
+#define V4L2_CID_CAM_SENSOR_OPTICAL    (V4L2_CID_PRIVATE_BASE + 39)
+#define V4L2_CID_CAM_AF_VER_LOW                (V4L2_CID_PRIVATE_BASE + 40)
+#define V4L2_CID_CAM_AF_VER_HIGH       (V4L2_CID_PRIVATE_BASE + 41)
+#define V4L2_CID_CAM_GAMMA_RG_LOW      (V4L2_CID_PRIVATE_BASE + 42)
+#define V4L2_CID_CAM_GAMMA_RG_HIGH     (V4L2_CID_PRIVATE_BASE + 43)
+#define V4L2_CID_CAM_GAMMA_BG_LOW      (V4L2_CID_PRIVATE_BASE + 44)
+#define V4L2_CID_CAM_GAMMA_BG_HIGH     (V4L2_CID_PRIVATE_BASE + 45)
+#define V4L2_CID_CAM_DUMP_FW           (V4L2_CID_PRIVATE_BASE + 46)
+#define V4L2_CID_CAM_GET_DUMP_SIZE  (V4L2_CID_PRIVATE_BASE + 47)
+#define V4L2_CID_CAMERA_VT_MODE                        (V4L2_CID_PRIVATE_BASE + 48)
+#define V4L2_CID_CAMERA_VGA_BLUR       (V4L2_CID_PRIVATE_BASE + 49)
+#define V4L2_CID_CAMERA_CAPTURE        (V4L2_CID_PRIVATE_BASE + 50)
+#define V4L2_CID_CAMERA_HDR            (V4L2_CID_PRIVATE_BASE + 51)
+
+#define V4L2_CID_MAIN_SW_DATE_INFO_YEAR                (V4L2_CID_PRIVATE_BASE + 54)
+#define V4L2_CID_MAIN_SW_DATE_INFO_MONTH       (V4L2_CID_PRIVATE_BASE + 55)
+#define V4L2_CID_MAIN_SW_DATE_INFO_DATE                (V4L2_CID_PRIVATE_BASE + 56)
+#define V4L2_CID_MAIN_SW_FW_MINOR_VER          (V4L2_CID_PRIVATE_BASE + 57)
+#define V4L2_CID_MAIN_SW_FW_MAJOR_VER          (V4L2_CID_PRIVATE_BASE + 58)
+#define V4L2_CID_MAIN_SW_PRM_MINOR_VER         (V4L2_CID_PRIVATE_BASE + 59)
+#define V4L2_CID_MAIN_SW_PRM_MAJOR_VER         (V4L2_CID_PRIVATE_BASE + 60)
+
+#define V4L2_CID_FIMC_IS_BASE                  (V4L2_CTRL_CLASS_CAMERA | 0x1000)
+#define V4L2_CID_FIMC_IS_TUNE_BASE             (V4L2_CTRL_CLASS_CAMERA | 0x2000)
+
+#define V4L2_CID_IS_LOAD_FW                    (V4L2_CID_FIMC_IS_BASE + 10)
+#define V4L2_CID_IS_INIT_PARAM                 (V4L2_CID_FIMC_IS_BASE + 11)
+#define V4L2_CID_IS_RESET                      (V4L2_CID_FIMC_IS_BASE + 12)
+#define V4L2_CID_IS_S_POWER                    (V4L2_CID_FIMC_IS_BASE + 13)
+enum is_set_power {
+       IS_POWER_OFF,
+       IS_POWER_ON
+};
+
+#define V4L2_CID_IS_S_STREAM                   (V4L2_CID_FIMC_IS_BASE + 14)
+enum is_set_stream {
+       IS_DISABLE_STREAM,
+       IS_ENABLE_STREAM
+};
+
+#define V4L2_CID_IS_S_SCENARIO_MODE            (V4L2_CID_FIMC_IS_BASE + 15)
+#define V4L2_CID_IS_S_FORMAT_SCENARIO          (V4L2_CID_FIMC_IS_BASE + 16)
+enum scenario_mode {
+       IS_MODE_PREVIEW_STILL,
+       IS_MODE_PREVIEW_VIDEO,
+       IS_MODE_CAPTURE_STILL,
+       IS_MODE_CAPTURE_VIDEO,
+       IS_MODE_MAX
+};
+
+/* global */
+#define V4L2_CID_IS_CAMERA_SHOT_MODE_NORMAL    (V4L2_CID_FIMC_IS_BASE + 101)
+/* value : 1 : single shot , >=2 : continuous shot */
+
+#define V4L2_CID_IS_CAMERA_SENSOR_NUM          (V4L2_CID_FIMC_IS_BASE + 201)
+
+#define V4L2_CID_IS_CAMERA_FOCUS_MODE          (V4L2_CID_FIMC_IS_BASE + 401)
+enum is_focus_mode {
+       IS_FOCUS_MODE_AUTO,
+       IS_FOCUS_MODE_MACRO,
+       IS_FOCUS_MODE_INFINITY,
+       IS_FOCUS_MODE_CONTINUOUS,
+       IS_FOCUS_MODE_TOUCH,
+       IS_FOCUS_MODE_FACEDETECT,
+       IS_FOCUS_MODE_IDLE,
+       IS_FOCUS_MODE_MAX,
+};
+
+#define V4L2_CID_IS_CAMERA_FLASH_MODE          (V4L2_CID_FIMC_IS_BASE + 402)
+enum is_flash_mode {
+       IS_FLASH_MODE_OFF,
+       IS_FLASH_MODE_AUTO,
+       IS_FLASH_MODE_AUTO_REDEYE,
+       IS_FLASH_MODE_ON,
+       IS_FLASH_MODE_TORCH,
+       IS_FLASH_MODE_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_AWB_MODE            (V4L2_CID_FIMC_IS_BASE + 403)
+enum is_awb_mode {
+       IS_AWB_AUTO,
+       IS_AWB_DAYLIGHT,
+       IS_AWB_CLOUDY,
+       IS_AWB_TUNGSTEN,
+       IS_AWB_FLUORESCENT,
+       IS_AWB_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_IMAGE_EFFECT                (V4L2_CID_FIMC_IS_BASE + 404)
+enum is_image_effect {
+       IS_IMAGE_EFFECT_DISABLE,
+       IS_IMAGE_EFFECT_MONOCHROME,
+       IS_IMAGE_EFFECT_NEGATIVE_MONO,
+       IS_IMAGE_EFFECT_NEGATIVE_COLOR,
+       IS_IMAGE_EFFECT_SEPIA,
+       IS_IMAGE_EFFECT_SEPIA_CB,
+       IS_IMAGE_EFFECT_SEPIA_CR,
+       IS_IMAGE_EFFECT_NEGATIVE,
+       IS_IMAGE_EFFECT_ARTFREEZE,
+       IS_IMAGE_EFFECT_EMBOSSING,
+       IS_IMAGE_EFFECT_SILHOUETTE,
+       IS_IMAGE_EFFECT_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_ISO                 (V4L2_CID_FIMC_IS_BASE + 405)
+enum is_iso {
+       IS_ISO_AUTO,
+       IS_ISO_50,
+       IS_ISO_100,
+       IS_ISO_200,
+       IS_ISO_400,
+       IS_ISO_800,
+       IS_ISO_1600,
+       IS_ISO_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_CONTRAST            (V4L2_CID_FIMC_IS_BASE + 406)
+enum is_contrast {
+       IS_CONTRAST_AUTO,
+       IS_CONTRAST_MINUS_2,
+       IS_CONTRAST_MINUS_1,
+       IS_CONTRAST_DEFAULT,
+       IS_CONTRAST_PLUS_1,
+       IS_CONTRAST_PLUS_2,
+       IS_CONTRAST_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_SATURATION          (V4L2_CID_FIMC_IS_BASE + 407)
+enum is_saturation {
+       IS_SATURATION_MINUS_2,
+       IS_SATURATION_MINUS_1,
+       IS_SATURATION_DEFAULT,
+       IS_SATURATION_PLUS_1,
+       IS_SATURATION_PLUS_2,
+       IS_SATURATION_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_SHARPNESS           (V4L2_CID_FIMC_IS_BASE + 408)
+enum is_sharpness {
+       IS_SHARPNESS_MINUS_2,
+       IS_SHARPNESS_MINUS_1,
+       IS_SHARPNESS_DEFAULT,
+       IS_SHARPNESS_PLUS_1,
+       IS_SHARPNESS_PLUS_2,
+       IS_SHARPNESS_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_EXPOSURE            (V4L2_CID_FIMC_IS_BASE + 409)
+enum is_exposure {
+       IS_EXPOSURE_MINUS_4,
+       IS_EXPOSURE_MINUS_3,
+       IS_EXPOSURE_MINUS_2,
+       IS_EXPOSURE_MINUS_1,
+       IS_EXPOSURE_DEFAULT,
+       IS_EXPOSURE_PLUS_1,
+       IS_EXPOSURE_PLUS_2,
+       IS_EXPOSURE_PLUS_3,
+       IS_EXPOSURE_PLUS_4,
+       IS_EXPOSURE_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_BRIGHTNESS          (V4L2_CID_FIMC_IS_BASE + 410)
+enum is_brightness {
+       IS_BRIGHTNESS_MINUS_2,
+       IS_BRIGHTNESS_MINUS_1,
+       IS_BRIGHTNESS_DEFAULT,
+       IS_BRIGHTNESS_PLUS_1,
+       IS_BRIGHTNESS_PLUS_2,
+       IS_BRIGHTNESS_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_HUE                 (V4L2_CID_FIMC_IS_BASE + 411)
+enum is_hue {
+       IS_HUE_MINUS_2,
+       IS_HUE_MINUS_1,
+       IS_HUE_DEFAULT,
+       IS_HUE_PLUS_1,
+       IS_HUE_PLUS_2,
+       IS_HUE_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_METERING            (V4L2_CID_FIMC_IS_BASE + 412)
+enum is_metering {
+       IS_METERING_AVERAGE,
+       IS_METERING_SPOT,
+       IS_METERING_MATRIX,
+       IS_METERING_CENTER,
+       IS_METERING_MAX
+};
+#define V4L2_CID_IS_CAMERA_METERING_POSITION_X (V4L2_CID_FIMC_IS_BASE + 500)
+#define V4L2_CID_IS_CAMERA_METERING_POSITION_Y (V4L2_CID_FIMC_IS_BASE + 501)
+#define V4L2_CID_IS_CAMERA_METERING_WINDOW_X   (V4L2_CID_FIMC_IS_BASE + 502)
+#define V4L2_CID_IS_CAMERA_METERING_WINDOW_Y   (V4L2_CID_FIMC_IS_BASE + 503)
+
+#define V4L2_CID_IS_CAMERA_AFC_MODE            (V4L2_CID_FIMC_IS_BASE + 413)
+enum is_afc_mode {
+       IS_AFC_DISABLE,
+       IS_AFC_AUTO,
+       IS_AFC_MANUAL_50HZ,
+       IS_AFC_MANUAL_60HZ,
+       IS_AFC_MAX
+};
+
+#define V4L2_CID_IS_AWB_LOCK_UNLOCK            (V4L2_CID_FIMC_IS_BASE + 496)
+enum is_awb_lock_unlock {
+       IS_AWB_LOCK,
+       IS_AWB_UNLOCK,
+       IS_AWB_LOCK_UNLOCK_MAX
+};
+
+#define V4L2_CID_IS_AE_LOCK_UNLOCK             (V4L2_CID_FIMC_IS_BASE + 497)
+enum is_ae_lock_unlock {
+       IS_AE_LOCK,
+       IS_AE_UNLOCK,
+       IS_AE_LOCK_UNLOCK_MAX
+};
+
+#define V4L2_CID_IS_FD_GET_FACE_COUNT                  (V4L2_CID_FIMC_IS_BASE + 600)
+#define V4L2_CID_IS_FD_GET_FACE_FRAME_NUMBER           (V4L2_CID_FIMC_IS_BASE + 601)
+#define V4L2_CID_IS_FD_GET_FACE_CONFIDENCE             (V4L2_CID_FIMC_IS_BASE + 602)
+#define V4L2_CID_IS_FD_GET_FACE_SMILE_LEVEL            (V4L2_CID_FIMC_IS_BASE + 603)
+#define V4L2_CID_IS_FD_GET_FACE_BLINK_LEVEL            (V4L2_CID_FIMC_IS_BASE + 604)
+#define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_X              (V4L2_CID_FIMC_IS_BASE + 605)
+#define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_Y              (V4L2_CID_FIMC_IS_BASE + 606)
+#define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_X          (V4L2_CID_FIMC_IS_BASE + 607)
+#define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_Y          (V4L2_CID_FIMC_IS_BASE + 608)
+#define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_X          (V4L2_CID_FIMC_IS_BASE + 609)
+#define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_Y          (V4L2_CID_FIMC_IS_BASE + 610)
+#define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_X      (V4L2_CID_FIMC_IS_BASE + 611)
+#define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_Y      (V4L2_CID_FIMC_IS_BASE + 612)
+#define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_X         (V4L2_CID_FIMC_IS_BASE + 613)
+#define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_Y         (V4L2_CID_FIMC_IS_BASE + 614)
+#define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_X     (V4L2_CID_FIMC_IS_BASE + 615)
+#define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_Y     (V4L2_CID_FIMC_IS_BASE + 616)
+#define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_X             (V4L2_CID_FIMC_IS_BASE + 617)
+#define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_Y             (V4L2_CID_FIMC_IS_BASE + 618)
+#define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_X         (V4L2_CID_FIMC_IS_BASE + 619)
+#define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_Y         (V4L2_CID_FIMC_IS_BASE + 620)
+#define V4L2_CID_IS_FD_GET_ANGLE                       (V4L2_CID_FIMC_IS_BASE + 621)
+#define V4L2_CID_IS_FD_GET_YAW_ANGLE                   (V4L2_CID_FIMC_IS_BASE + 622)
+#define V4L2_CID_IS_FD_GET_NEXT                                (V4L2_CID_FIMC_IS_BASE + 623)
+#define V4L2_CID_IS_FD_GET_DATA                                (V4L2_CID_FIMC_IS_BASE + 624)
+
+#define V4L2_CID_IS_FD_SET_MAX_FACE_NUMBER             (V4L2_CID_FIMC_IS_BASE + 650)
+#define V4L2_CID_IS_FD_SET_ROLL_ANGLE                  (V4L2_CID_FIMC_IS_BASE + 651)
+enum is_fd_roll_angle {
+       /* 0, 45, 0, -45 */
+       IS_FD_ROLL_ANGLE_BASIC          = 0,
+       /* 0, 30, 0, -30, 0, 45, 0, -45 */
+       IS_FD_ROLL_ANGLE_PRECISE_BASIC  = 1,
+       /* 0, 90, 0, -90 */
+       IS_FD_ROLL_ANGLE_SIDES          = 2,
+       /* 0, 90, 0, -90 0, 45, 0, -45 */
+       IS_FD_ROLL_ANGLE_PRECISE_SIDES  = 3,
+       /* 0, 90, 0, -90, 0, 180 */
+       IS_FD_ROLL_ANGLE_FULL           = 4,
+       /* 0, 90, 0, -90, 0, 180, 0, 135, 0, -135 */
+       IS_FD_ROLL_ANGLE_PRECISE_FULL   = 5,
+};
+
+#define V4L2_CID_IS_FD_SET_YAW_ANGLE                   (V4L2_CID_FIMC_IS_BASE + 652)
+enum is_fd_yaw_angle {
+       IS_FD_YAW_ANGLE_0       = 0,
+       IS_FD_YAW_ANGLE_45      = 1,
+       IS_FD_YAW_ANGLE_90      = 2,
+       IS_FD_YAW_ANGLE_45_90   = 3,
+};
+
+#define V4L2_CID_IS_FD_SET_SMILE_MODE                  (V4L2_CID_FIMC_IS_BASE + 653)
+enum is_fd_smile_mode {
+       IS_FD_SMILE_MODE_DISABLE        = 0,
+       IS_FD_SMILE_MODE_ENABLE         = 1,
+};
+
+#define V4L2_CID_IS_FD_SET_BLINK_MODE                  (V4L2_CID_FIMC_IS_BASE + 654)
+enum is_fd_blink_mode {
+       IS_FD_BLINK_MODE_DISABLE        = 0,
+       IS_FD_BLINK_MODE_ENABLE         = 1,
+};
+
+#define V4L2_CID_IS_FD_SET_EYE_DETECT_MODE             (V4L2_CID_FIMC_IS_BASE + 655)
+enum is_fd_eye_detect_mode {
+       IS_FD_EYE_DETECT_DISABLE        = 0,
+       IS_FD_EYE_DETECT_ENABLE         = 1,
+};
+
+#define V4L2_CID_IS_FD_SET_MOUTH_DETECT_MODE           (V4L2_CID_FIMC_IS_BASE + 656)
+enum is_fd_mouth_detect_mode {
+       IS_FD_MOUTH_DETECT_DISABLE      = 0,
+       IS_FD_MOUTH_DETECT_ENABLE       = 1,
+};
+
+#define V4L2_CID_IS_FD_SET_ORIENTATION_MODE            (V4L2_CID_FIMC_IS_BASE + 657)
+enum is_fd_orientation_mode {
+       IS_FD_ORIENTATION_DISABLE       = 0,
+       IS_FD_ORIENTATION_ENABLE        = 1,
+};
+
+#define V4L2_CID_IS_FD_SET_ORIENTATION                 (V4L2_CID_FIMC_IS_BASE + 658)
+#define V4L2_CID_IS_FD_SET_DATA_ADDRESS                        (V4L2_CID_FIMC_IS_BASE + 659)
+
+#define V4L2_CID_IS_SET_ISP                    (V4L2_CID_FIMC_IS_BASE + 440)
+enum is_isp_bypass_mode {
+       IS_ISP_BYPASS_DISABLE,
+       IS_ISP_BYPASS_ENABLE,
+       IS_ISP_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_DRC                    (V4L2_CID_FIMC_IS_BASE + 441)
+enum is_drc_bypass_mode {
+       IS_DRC_BYPASS_DISABLE,
+       IS_DRC_BYPASS_ENABLE,
+       IS_DRC_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_FD                     (V4L2_CID_FIMC_IS_BASE + 442)
+enum is_fd_bypass_mode {
+       IS_FD_BYPASS_DISABLE,
+       IS_FD_BYPASS_ENABLE,
+       IS_FD_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_ODC                    (V4L2_CID_FIMC_IS_BASE + 443)
+enum is_odc_bypass_mode {
+       IS_ODC_BYPASS_DISABLE,
+       IS_ODC_BYPASS_ENABLE,
+       IS_ODC_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_DIS                    (V4L2_CID_FIMC_IS_BASE + 444)
+enum is_dis_bypass_mode {
+       IS_DIS_BYPASS_DISABLE,
+       IS_DIS_BYPASS_ENABLE,
+       IS_DIS_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_3DNR                   (V4L2_CID_FIMC_IS_BASE + 445)
+enum is_tdnr_bypass_mode {
+       IS_TDNR_BYPASS_DISABLE,
+       IS_TDNR_BYPASS_ENABLE,
+       IS_TDNR_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_SCALERC                        (V4L2_CID_FIMC_IS_BASE + 446)
+enum is_scalerc_bypass_mode {
+       IS_SCALERC_BYPASS_DISABLE,
+       IS_SCALERC_BYPASS_ENABLE,
+       IS_SCALERC_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_SET_SCALERP                        (V4L2_CID_FIMC_IS_BASE + 446)
+enum is_scalerp_bypass_mode {
+       IS_SCALERP_BYPASS_DISABLE,
+       IS_SCALERP_BYPASS_ENABLE,
+       IS_SCALERP_BYPASS_MAX
+};
+
+#define V4L2_CID_IS_ROTATION_MODE              (V4L2_CID_FIMC_IS_BASE + 450)
+enum is_rotation_mode {
+       IS_ROTATION_0,
+       IS_ROTATION_90,
+       IS_ROTATION_180,
+       IS_ROTATION_270,
+       IS_ROTATION_MAX
+};
+
+#define V4L2_CID_IS_3DNR_1ST_FRAME_MODE                (V4L2_CID_FIMC_IS_BASE + 451)
+enum is_tdnr_1st_frame_mode {
+       IS_TDNR_1ST_FRAME_NOPROCESSING,
+       IS_TDNR_1ST_FRAME_2DNR,
+       IS_TDNR_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_OBJECT_POSITION_X   (V4L2_CID_FIMC_IS_BASE + 452)
+#define V4L2_CID_IS_CAMERA_OBJECT_POSITION_Y   (V4L2_CID_FIMC_IS_BASE + 453)
+#define V4L2_CID_IS_CAMERA_WINDOW_SIZE_X       (V4L2_CID_FIMC_IS_BASE + 454)
+#define V4L2_CID_IS_CAMERA_WINDOW_SIZE_Y       (V4L2_CID_FIMC_IS_BASE + 455)
+
+#define V4L2_CID_IS_CAMERA_EXIF_EXPTIME                (V4L2_CID_FIMC_IS_BASE + 456)
+#define V4L2_CID_IS_CAMERA_EXIF_FLASH          (V4L2_CID_FIMC_IS_BASE + 457)
+#define V4L2_CID_IS_CAMERA_EXIF_ISO            (V4L2_CID_FIMC_IS_BASE + 458)
+#define V4L2_CID_IS_CAMERA_EXIF_SHUTTERSPEED   (V4L2_CID_FIMC_IS_BASE + 459)
+#define V4L2_CID_IS_CAMERA_EXIF_BRIGHTNESS     (V4L2_CID_FIMC_IS_BASE + 460)
+
+#define V4L2_CID_IS_CAMERA_ISP_SEL_INPUT       (V4L2_CID_FIMC_IS_BASE + 461)
+enum is_isp_sel_input {
+       IS_ISP_INPUT_OTF,
+       IS_ISP_INPUT_DMA1,
+       IS_ISP_INPUT_DMA2,
+       IS_ISP_INPUT_DMA12,
+       IS_ISP_INPUT_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_ISP_SEL_OUTPUT      (V4L2_CID_FIMC_IS_BASE + 462)
+enum is_isp_sel_output {
+       IS_ISP_OUTPUT_OTF,
+       IS_ISP_OUTPUT_DMA1,
+       IS_ISP_OUTPUT_DMA2,
+       IS_ISP_OUTPUT_DMA12,
+       IS_ISP_OUTPUT_OTF_DMA1,
+       IS_ISP_OUTPUT_OTF_DMA2,
+       IS_ISP_OUTPUT_OTF_DMA12,
+       IS_ISP_OUTPUT_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_DRC_SEL_INPUT       (V4L2_CID_FIMC_IS_BASE + 463)
+enum is_drc_sel_input {
+       IS_DRC_INPUT_OTF,
+       IS_DRC_INPUT_DMA,
+       IS_DRC_INPUT_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_FD_SEL_INPUT                (V4L2_CID_FIMC_IS_BASE + 464)
+enum is_fd_sel_input {
+       IS_FD_INPUT_OTF,
+       IS_FD_INPUT_DMA,
+       IS_FD_INPUT_MAX
+};
+
+#define V4L2_CID_IS_CAMERA_INIT_WIDTH          (V4L2_CID_FIMC_IS_BASE + 465)
+#define V4L2_CID_IS_CAMERA_INIT_HEIGHT         (V4L2_CID_FIMC_IS_BASE + 466)
+
+#define V4L2_CID_IS_CMD_ISP                    (V4L2_CID_FIMC_IS_BASE + 467)
+enum is_isp_cmd_mode {
+       IS_ISP_COMMAND_STOP,
+       IS_ISP_COMMAND_START,
+       IS_ISP_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_DRC                    (V4L2_CID_FIMC_IS_BASE + 468)
+enum is_drc_cmd_mode {
+       IS_DRC_COMMAND_STOP,
+       IS_DRC_COMMAND_START,
+       IS_DRC_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_FD                     (V4L2_CID_FIMC_IS_BASE + 469)
+enum is_fd_cmd_mode {
+       IS_FD_COMMAND_STOP,
+       IS_FD_COMMAND_START,
+       IS_FD_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_ODC                    (V4L2_CID_FIMC_IS_BASE + 470)
+enum is_odc_cmd_mode {
+       IS_ODC_COMMAND_STOP,
+       IS_ODC_COMMAND_START,
+       IS_ODC_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_DIS                    (V4L2_CID_FIMC_IS_BASE + 471)
+enum is_dis_cmd_mode {
+       IS_DIS_COMMAND_STOP,
+       IS_DIS_COMMAND_START,
+       IS_DIS_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_TDNR                   (V4L2_CID_FIMC_IS_BASE + 472)
+enum is_tdnr_cmd_mode {
+       IS_TDNR_COMMAND_STOP,
+       IS_TDNR_COMMAND_START,
+       IS_TDNR_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_SCALERC                        (V4L2_CID_FIMC_IS_BASE + 473)
+enum is_scalerc_cmd_mode {
+       IS_SCALERC_COMMAND_STOP,
+       IS_SCALERC_COMMAND_START,
+       IS_SCALERC_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_CMD_SCALERP                        (V4L2_CID_FIMC_IS_BASE + 474)
+enum is_scalerp_cmd_mode {
+       IS_SCALERP_COMMAND_STOP,
+       IS_SCALERP_COMMAND_START,
+       IS_SCALERP_COMMAND_MAX
+};
+
+#define V4L2_CID_IS_GET_SENSOR_OFFSET_X                (V4L2_CID_FIMC_IS_BASE + 480)
+#define V4L2_CID_IS_GET_SENSOR_OFFSET_Y                (V4L2_CID_FIMC_IS_BASE + 481)
+#define V4L2_CID_IS_GET_SENSOR_WIDTH           (V4L2_CID_FIMC_IS_BASE + 482)
+#define V4L2_CID_IS_GET_SENSOR_HEIGHT          (V4L2_CID_FIMC_IS_BASE + 483)
+
+#define V4L2_CID_IS_GET_FRAME_VALID            (V4L2_CID_FIMC_IS_BASE + 484)
+#define V4L2_CID_IS_SET_FRAME_VALID            (V4L2_CID_FIMC_IS_BASE + 485)
+#define V4L2_CID_IS_GET_FRAME_BADMARK          (V4L2_CID_FIMC_IS_BASE + 486)
+#define V4L2_CID_IS_SET_FRAME_BADMARK          (V4L2_CID_FIMC_IS_BASE + 487)
+#define V4L2_CID_IS_GET_FRAME_CAPTURED         (V4L2_CID_FIMC_IS_BASE + 488)
+#define V4L2_CID_IS_SET_FRAME_CAPTURED         (V4L2_CID_FIMC_IS_BASE + 489)
+#define V4L2_CID_IS_SET_FRAME_NUMBER           (V4L2_CID_FIMC_IS_BASE + 490)
+#define V4L2_CID_IS_GET_FRAME_NUMBER           (V4L2_CID_FIMC_IS_BASE + 491)
+#define V4L2_CID_IS_CLEAR_FRAME_NUMBER         (V4L2_CID_FIMC_IS_BASE + 492)
+#define V4L2_CID_IS_GET_LOSTED_FRAME_NUMBER    (V4L2_CID_FIMC_IS_BASE + 493)
+#define V4L2_CID_IS_ISP_DMA_BUFFER_NUM         (V4L2_CID_FIMC_IS_BASE + 494)
+#define V4L2_CID_IS_ISP_DMA_BUFFER_ADDRESS     (V4L2_CID_FIMC_IS_BASE + 495)
+
+#define V4L2_CID_IS_ZOOM_STATE                 (V4L2_CID_FIMC_IS_BASE + 660)
+#define V4L2_CID_IS_ZOOM_MAX_LEVEL             (V4L2_CID_FIMC_IS_BASE + 661)
+#define V4L2_CID_IS_ZOOM                       (V4L2_CID_FIMC_IS_BASE + 662)
+#define V4L2_CID_IS_FW_DEBUG_REGION_ADDR       (V4L2_CID_FIMC_IS_BASE + 663)
+
+#define V4L2_CID_IS_TUNE_SEL_ENTRY             (V4L2_CID_FIMC_IS_TUNE_BASE)
+#define V4L2_CID_IS_TUNE_SENSOR_EXPOSURE       (V4L2_CID_FIMC_IS_TUNE_BASE + 1)
+#define V4L2_CID_IS_TUNE_SENSOR_ANALOG_GAIN    (V4L2_CID_FIMC_IS_TUNE_BASE + 2)
+#define V4L2_CID_IS_TUNE_SENSOR_FRAME_RATE     (V4L2_CID_FIMC_IS_TUNE_BASE + 3)
+#define V4L2_CID_IS_TUNE_SENSOR_ACTUATOR_POS   (V4L2_CID_FIMC_IS_TUNE_BASE + 4)
+
+enum v4l2_blur {
+       BLUR_LEVEL_0 = 0,
+       BLUR_LEVEL_1,
+       BLUR_LEVEL_2,
+       BLUR_LEVEL_3,
+       BLUR_LEVEL_MAX,
+};
+
+#if 1
+#define V4L2_CID_CAMERA_SCENE_MODE             (V4L2_CID_PRIVATE_BASE+70)
+enum v4l2_scene_mode {
+       SCENE_MODE_BASE,
+       SCENE_MODE_NONE,
+       SCENE_MODE_PORTRAIT,
+       SCENE_MODE_NIGHTSHOT,
+       SCENE_MODE_BACK_LIGHT,
+       SCENE_MODE_LANDSCAPE,
+       SCENE_MODE_SPORTS,
+       SCENE_MODE_PARTY_INDOOR,
+       SCENE_MODE_BEACH_SNOW,
+       SCENE_MODE_SUNSET,
+       SCENE_MODE_DUSK_DAWN,
+       SCENE_MODE_FALL_COLOR,
+       SCENE_MODE_FIREWORKS,
+       SCENE_MODE_TEXT,
+       SCENE_MODE_CANDLE_LIGHT,
+       SCENE_MODE_MAX,
+};
+
+#define V4L2_CID_CAMERA_FLASH_MODE             (V4L2_CID_PRIVATE_BASE+71)
+enum v4l2_flash_mode {
+       FLASH_MODE_BASE,
+       FLASH_MODE_OFF,
+       FLASH_MODE_AUTO,
+       FLASH_MODE_ON,
+       FLASH_MODE_TORCH,
+       FLASH_MODE_MAX,
+};
+
+#define V4L2_CID_CAMERA_BRIGHTNESS             (V4L2_CID_PRIVATE_BASE+72)
+enum v4l2_ev_mode {
+       EV_MINUS_4      = -4,
+       EV_MINUS_3      = -3,
+       EV_MINUS_2      = -2,
+       EV_MINUS_1      = -1,
+       EV_DEFAULT      = 0,
+       EV_PLUS_1       = 1,
+       EV_PLUS_2       = 2,
+       EV_PLUS_3       = 3,
+       EV_PLUS_4       = 4,
+       EV_MAX,
+};
+
+#define V4L2_CID_CAMERA_WHITE_BALANCE  (V4L2_CID_PRIVATE_BASE+73)
+enum v4l2_wb_mode {
+       WHITE_BALANCE_BASE = 0,
+       WHITE_BALANCE_AUTO,
+       WHITE_BALANCE_SUNNY,
+       WHITE_BALANCE_CLOUDY,
+       WHITE_BALANCE_TUNGSTEN,
+       WHITE_BALANCE_FLUORESCENT,
+       WHITE_BALANCE_MAX,
+};
+
+#define V4L2_CID_CAMERA_EFFECT                 (V4L2_CID_PRIVATE_BASE+74)
+enum v4l2_effect_mode {
+       IMAGE_EFFECT_BASE = 0,
+       IMAGE_EFFECT_NONE,
+       IMAGE_EFFECT_BNW,
+       IMAGE_EFFECT_SEPIA,
+       IMAGE_EFFECT_AQUA,
+       IMAGE_EFFECT_ANTIQUE,
+       IMAGE_EFFECT_NEGATIVE,
+       IMAGE_EFFECT_SHARPEN,
+       IMAGE_EFFECT_MAX,
+};
+
+#define V4L2_CID_CAMERA_ISO                            (V4L2_CID_PRIVATE_BASE+75)
+enum v4l2_iso_mode {
+       ISO_AUTO = 0,
+       ISO_50,
+       ISO_100,
+       ISO_200,
+       ISO_400,
+       ISO_800,
+       ISO_1600,
+       ISO_SPORTS,
+       ISO_NIGHT,
+       ISO_MOVIE,
+       ISO_MAX,
+};
+
+#define V4L2_CID_CAMERA_METERING                       (V4L2_CID_PRIVATE_BASE+76)
+enum v4l2_metering_mode {
+       METERING_BASE = 0,
+       METERING_MATRIX,
+       METERING_CENTER,
+       METERING_SPOT,
+       METERING_MAX,
+};
+
+#define V4L2_CID_CAMERA_CONTRAST                       (V4L2_CID_PRIVATE_BASE+77)
+enum v4l2_contrast_mode {
+       CONTRAST_MINUS_2 = 0,
+       CONTRAST_MINUS_1,
+       CONTRAST_DEFAULT,
+       CONTRAST_PLUS_1,
+       CONTRAST_PLUS_2,
+       CONTRAST_MAX,
+};
+
+#define V4L2_CID_CAMERA_SATURATION             (V4L2_CID_PRIVATE_BASE+78)
+enum v4l2_saturation_mode {
+       SATURATION_MINUS_2 = 0,
+       SATURATION_MINUS_1,
+       SATURATION_DEFAULT,
+       SATURATION_PLUS_1,
+       SATURATION_PLUS_2,
+       SATURATION_MAX,
+};
+
+#define V4L2_CID_CAMERA_SHARPNESS              (V4L2_CID_PRIVATE_BASE+79)
+enum v4l2_sharpness_mode {
+       SHARPNESS_MINUS_2 = 0,
+       SHARPNESS_MINUS_1,
+       SHARPNESS_DEFAULT,
+       SHARPNESS_PLUS_1,
+       SHARPNESS_PLUS_2,
+       SHARPNESS_MAX,
+};
+
+#define V4L2_CID_CAMERA_WDR                            (V4L2_CID_PRIVATE_BASE+80)
+enum v4l2_wdr_mode {
+       WDR_OFF,
+       WDR_ON,
+       WDR_MAX,
+};
+
+#define V4L2_CID_CAMERA_ANTI_SHAKE             (V4L2_CID_PRIVATE_BASE+81)
+enum v4l2_anti_shake_mode {
+       ANTI_SHAKE_OFF,
+       ANTI_SHAKE_STILL_ON,
+       ANTI_SHAKE_MOVIE_ON,
+       ANTI_SHAKE_MAX,
+};
+
+#define V4L2_CID_CAMERA_TOUCH_AF_START_STOP            (V4L2_CID_PRIVATE_BASE+82)
+enum v4l2_touch_af {
+       TOUCH_AF_STOP = 0,
+       TOUCH_AF_START,
+       TOUCH_AF_MAX,
+};
+
+#define V4L2_CID_CAMERA_SMART_AUTO             (V4L2_CID_PRIVATE_BASE+83)
+enum v4l2_smart_auto {
+       SMART_AUTO_OFF = 0,
+       SMART_AUTO_ON,
+       SMART_AUTO_MAX,
+};
+
+#define V4L2_CID_CAMERA_VINTAGE_MODE           (V4L2_CID_PRIVATE_BASE+84)
+enum v4l2_vintage_mode {
+       VINTAGE_MODE_BASE,
+       VINTAGE_MODE_OFF,
+       VINTAGE_MODE_NORMAL,
+       VINTAGE_MODE_WARM,
+       VINTAGE_MODE_COOL,
+       VINTAGE_MODE_BNW,
+       VINTAGE_MODE_MAX,
+};
+
+#define V4L2_CID_CAMERA_JPEG_QUALITY           (V4L2_CID_PRIVATE_BASE+85)
+/* (V4L2_CID_PRIVATE_BASE+86) */
+#define V4L2_CID_CAMERA_GPS_LATITUDE           (V4L2_CID_CAMERA_CLASS_BASE+30)
+/* (V4L2_CID_PRIVATE_BASE+87) */
+#define V4L2_CID_CAMERA_GPS_LONGITUDE  (V4L2_CID_CAMERA_CLASS_BASE + 31)
+/* (V4L2_CID_PRIVATE_BASE+88) */
+#define V4L2_CID_CAMERA_GPS_TIMESTAMP  (V4L2_CID_CAMERA_CLASS_BASE + 32)
+/* (V4L2_CID_PRIVATE_BASE+89)*/
+#define V4L2_CID_CAMERA_GPS_ALTITUDE   (V4L2_CID_CAMERA_CLASS_BASE + 33)
+#define V4L2_CID_CAMERA_EXIF_TIME_INFO (V4L2_CID_CAMERA_CLASS_BASE + 34)
+#define V4L2_CID_CAMERA_GPS_PROCESSINGMETHOD                   (V4L2_CID_CAMERA_CLASS_BASE+35)
+
+#define V4L2_CID_FOCUS_AUTO_MODE                               (V4L2_CID_CAMERA_CLASS_BASE+36)
+enum v4l2_focus_mode_type {
+       V4L2_FOCUS_AUTO_NORMAL = 0,
+       V4L2_FOCUS_AUTO_MACRO,
+       V4L2_FOCUS_AUTO_CONTINUOUS,
+       V4L2_FOCUS_AUTO_FACE_DETECTION,
+       V4L2_FOCUS_AUTO_RECTANGLE,
+       V4L2_FOCUS_AUTO_MAX,
+};
+#define V4L2_CID_FOCUS_AUTO_RECTANGLE_LEFT             (V4L2_CID_CAMERA_CLASS_BASE+37)
+#define V4L2_CID_FOCUS_AUTO_RECTANGLE_TOP              (V4L2_CID_CAMERA_CLASS_BASE+38)
+#define V4L2_CID_FOCUS_AUTO_RECTANGLE_WIDTH            (V4L2_CID_CAMERA_CLASS_BASE+39)
+#define V4L2_CID_FOCUS_AUTO_RECTANGLE_HEIGHT           (V4L2_CID_CAMERA_CLASS_BASE+40)
+
+#define V4L2_CID_CAMERA_ZOOM                           (V4L2_CID_PRIVATE_BASE+90)
+enum v4l2_zoom_level {
+       ZOOM_LEVEL_0 = 0,
+       ZOOM_LEVEL_1,
+       ZOOM_LEVEL_2,
+       ZOOM_LEVEL_3,
+       ZOOM_LEVEL_4,
+       ZOOM_LEVEL_5,
+       ZOOM_LEVEL_6,
+       ZOOM_LEVEL_7,
+       ZOOM_LEVEL_8,
+       ZOOM_LEVEL_9,
+       ZOOM_LEVEL_10,
+       ZOOM_LEVEL_11,
+       ZOOM_LEVEL_12,
+       ZOOM_LEVEL_MAX = 31,
+};
+
+#define V4L2_CID_CAMERA_FACE_DETECTION         (V4L2_CID_PRIVATE_BASE+91)
+enum v4l2_face_detection {
+       FACE_DETECTION_OFF = 0,
+       FACE_DETECTION_ON,
+       FACE_DETECTION_NOLINE,
+       FACE_DETECTION_ON_BEAUTY,
+       FACE_DETECTION_MAX,
+};
+
+#define V4L2_CID_CAMERA_SMART_AUTO_STATUS              (V4L2_CID_PRIVATE_BASE+92)
+enum v4l2_smart_auto_status {
+       SMART_AUTO_STATUS_AUTO = 0,
+       SMART_AUTO_STATUS_LANDSCAPE,
+       SMART_AUTO_STATUS_PORTRAIT,
+       SMART_AUTO_STATUS_MACRO,
+       SMART_AUTO_STATUS_NIGHT,
+       SMART_AUTO_STATUS_PORTRAIT_NIGHT,
+       SMART_AUTO_STATUS_BACKLIT,
+       SMART_AUTO_STATUS_PORTRAIT_BACKLIT,
+       SMART_AUTO_STATUS_ANTISHAKE,
+       SMART_AUTO_STATUS_PORTRAIT_ANTISHAKE,
+       SMART_AUTO_STATUS_MAX,
+};
+
+#define V4L2_CID_CAMERA_SET_AUTO_FOCUS         (V4L2_CID_PRIVATE_BASE+93)
+enum v4l2_auto_focus {
+       AUTO_FOCUS_OFF = 0,
+       AUTO_FOCUS_ON,
+       AUTO_FOCUS_MAX,
+};
+
+#define V4L2_CID_CAMERA_BEAUTY_SHOT            (V4L2_CID_PRIVATE_BASE+94)
+enum v4l2_beauty_shot {
+       BEAUTY_SHOT_OFF = 0,
+       BEAUTY_SHOT_ON,
+       BEAUTY_SHOT_MAX,
+};
+
+#define V4L2_CID_CAMERA_AEAWB_LOCK_UNLOCK              (V4L2_CID_PRIVATE_BASE+95)
+enum v4l2_ae_awb_lockunlock {
+       AE_UNLOCK_AWB_UNLOCK = 0,
+       AE_LOCK_AWB_UNLOCK,
+       AE_UNLOCK_AWB_LOCK,
+       AE_LOCK_AWB_LOCK,
+       AE_AWB_MAX
+};
+
+#define V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK  (V4L2_CID_PRIVATE_BASE+96)
+enum v4l2_face_lock {
+       FACE_LOCK_OFF = 0,
+       FACE_LOCK_ON,
+       FIRST_FACE_TRACKING,
+       FACE_LOCK_MAX,
+};
+
+#define V4L2_CID_CAMERA_OBJECT_POSITION_X      (V4L2_CID_PRIVATE_BASE+97)
+#define V4L2_CID_CAMERA_OBJECT_POSITION_Y      (V4L2_CID_PRIVATE_BASE+98)
+#define V4L2_CID_CAMERA_FOCUS_MODE             (V4L2_CID_PRIVATE_BASE+99)
+enum v4l2_focusmode {
+       FOCUS_MODE_AUTO = 0,
+       FOCUS_MODE_MACRO,
+       FOCUS_MODE_FACEDETECT,
+       FOCUS_MODE_AUTO_DEFAULT,
+       FOCUS_MODE_MACRO_DEFAULT,
+       FOCUS_MODE_FACEDETECT_DEFAULT,
+       FOCUS_MODE_INFINITY,
+       FOCUS_MODE_FIXED,
+       FOCUS_MODE_CONTINOUS,
+       FOCUS_MODE_CONTINOUS_PICTURE,
+       FOCUS_MODE_CONTINOUS_VIDEO,
+       FOCUS_MODE_TOUCH,
+       FOCUS_MODE_MAX,
+       FOCUS_MODE_DEFAULT = (1 << 8),
+};
+
+#define V4L2_CID_CAMERA_OBJ_TRACKING_STATUS    (V4L2_CID_PRIVATE_BASE+100)
+enum v4l2_obj_tracking_status {
+       OBJECT_TRACKING_STATUS_BASE,
+       OBJECT_TRACKING_STATUS_PROGRESSING,
+       OBJECT_TRACKING_STATUS_SUCCESS,
+       OBJECT_TRACKING_STATUS_FAIL,
+       OBJECT_TRACKING_STATUS_MISSING,
+       OBJECT_TRACKING_STATUS_MAX,
+};
+
+#define V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP        (V4L2_CID_PRIVATE_BASE+101)
+enum v4l2_ot_start_stop {
+       OT_STOP = 0,
+       OT_START,
+       OT_MAX,
+};
+
+#define V4L2_CID_CAMERA_CAF_START_STOP (V4L2_CID_PRIVATE_BASE+102)
+enum v4l2_caf_start_stop {
+       CAF_STOP = 0,
+       CAF_START,
+       CAF_MAX,
+};
+
+#define V4L2_CID_CAMERA_AUTO_FOCUS_RESULT              (V4L2_CID_PRIVATE_BASE+103)
+enum v4l2_af_status {
+       CAMERA_AF_STATUS_IN_PROGRESS = 0,
+       CAMERA_AF_STATUS_SUCCESS,
+       CAMERA_AF_STATUS_FAIL,
+       CAMERA_AF_STATUS_1ST_SUCCESS,
+       CAMERA_AF_STATUS_MAX,
+};
+#define V4L2_CID_CAMERA_FRAME_RATE                     (V4L2_CID_PRIVATE_BASE+104)
+enum v4l2_frame_rate {
+       FRAME_RATE_AUTO = 0,
+       FRAME_RATE_7 = 7,
+       FRAME_RATE_15 = 15,
+       FRAME_RATE_20 = 20,
+       FRAME_RATE_30 = 30,
+       FRAME_RATE_60 = 60,
+       FRAME_RATE_120 = 120,
+       FRAME_RATE_MAX
+};
+
+#define V4L2_CID_CAMERA_ANTI_BANDING                                   (V4L2_CID_PRIVATE_BASE+105)
+enum v4l2_anti_banding{
+       ANTI_BANDING_AUTO = 0,
+       ANTI_BANDING_50HZ = 1,
+       ANTI_BANDING_60HZ = 2,
+       ANTI_BANDING_OFF = 3,
+};
+
+#define V4L2_CID_CAMERA_SET_GAMMA      (V4L2_CID_PRIVATE_BASE+106)
+enum v4l2_gamma_mode{
+       GAMMA_OFF = 0,
+       GAMMA_ON = 1,
+       GAMMA_MAX,
+};
+
+#define V4L2_CID_CAMERA_SET_SLOW_AE    (V4L2_CID_PRIVATE_BASE+107)
+enum v4l2_slow_ae_mode{
+       SLOW_AE_OFF,
+       SLOW_AE_ON,
+       SLOW_AE_MAX,
+};
+
+#define V4L2_CID_CAMERA_BATCH_REFLECTION                                       (V4L2_CID_PRIVATE_BASE+108)
+#define V4L2_CID_CAMERA_EXIF_ORIENTATION                                       (V4L2_CID_PRIVATE_BASE+109)
+
+/* s1_camera [ Defense process by ESD input ] */
+#define V4L2_CID_CAMERA_RESET                  (V4L2_CID_PRIVATE_BASE+111)
+#define V4L2_CID_CAMERA_CHECK_DATALINE                                         (V4L2_CID_PRIVATE_BASE+112)
+#define V4L2_CID_CAMERA_CHECK_DATALINE_STOP                                    (V4L2_CID_PRIVATE_BASE+113)
+
+#endif
+
+/* Modify NTTS1 */
+#if defined(CONFIG_ARIES_NTT)
+#define V4L2_CID_CAMERA_AE_AWB_DISABLE_LOCK                                    (V4L2_CID_PRIVATE_BASE+114)
+#endif
+#define V4L2_CID_CAMERA_THUMBNAIL_NULL                                  (V4L2_CID_PRIVATE_BASE+115)
+#define V4L2_CID_CAMERA_SENSOR_MODE                                    (V4L2_CID_PRIVATE_BASE+116)
+enum v4l2_sensor_mode {
+       SENSOR_CAMERA,
+       SENSOR_MOVIE,
+};
+
+typedef enum {
+       STREAM_MODE_CAM_OFF,
+       STREAM_MODE_CAM_ON,
+       STREAM_MODE_MOVIE_OFF,
+       STREAM_MODE_MOVIE_ON,
+} stream_mode_t;
+
+#define V4L2_CID_CAMERA_EXIF_EXPTIME                           (V4L2_CID_PRIVATE_BASE+117)
+#define V4L2_CID_CAMERA_EXIF_FLASH                                     (V4L2_CID_PRIVATE_BASE+118)
+#define V4L2_CID_CAMERA_EXIF_ISO                                       (V4L2_CID_PRIVATE_BASE+119)
+#define V4L2_CID_CAMERA_EXIF_TV                                                (V4L2_CID_PRIVATE_BASE+120)
+#define V4L2_CID_CAMERA_EXIF_BV                                                (V4L2_CID_PRIVATE_BASE+121)
+#define V4L2_CID_CAMERA_EXIF_EBV                                       (V4L2_CID_PRIVATE_BASE+122)
+#define V4L2_CID_CAMERA_CHECK_ESD              (V4L2_CID_PRIVATE_BASE+123)
+#define V4L2_CID_CAMERA_APP_CHECK              (V4L2_CID_PRIVATE_BASE+124)
+#define V4L2_CID_CAMERA_BUSFREQ_LOCK           (V4L2_CID_PRIVATE_BASE+125)
+#define V4L2_CID_CAMERA_BUSFREQ_UNLOCK         (V4L2_CID_PRIVATE_BASE+126)
+
+/* control for post processing block in ISP */
+#define V4L2_CID_CAMERA_SET_ODC                                (V4L2_CID_PRIVATE_BASE+127)
+enum set_odc_mode {
+       CAMERA_ODC_ON,
+       CAMERA_ODC_OFF
+};
+
+#define V4L2_CID_CAMERA_SET_DIS                                (V4L2_CID_PRIVATE_BASE+128)
+enum set_dis_mode {
+       CAMERA_DIS_ON,
+       CAMERA_DIS_OFF
+};
+
+#define V4L2_CID_CAMERA_SET_3DNR                               (V4L2_CID_PRIVATE_BASE+129)
+enum set_3dnr_mode {
+       CAMERA_3DNR_ON,
+       CAMERA_3DNR_OFF
+};
+
+#define V4L2_CID_EMBEDDEDDATA_ENABLE                           (V4L2_CID_PRIVATE_BASE+130)
+
+#define V4L2_CID_CAMERA_CHECK_SENSOR_STATUS                    (V4L2_CID_PRIVATE_BASE+150)
+#define V4L2_CID_CAMERA_DEFAULT_FOCUS_POSITION                 (V4L2_CID_PRIVATE_BASE+151)
+
+/*      Pixel format FOURCC depth  Description  */
+enum v4l2_pix_format_mode {
+       V4L2_PIX_FMT_MODE_PREVIEW,
+       V4L2_PIX_FMT_MODE_CAPTURE,
+       V4L2_PIX_FMT_MODE_HDR,
+       V4L2_PIX_FMT_MODE_VT_MIRROR,
+       V4L2_PIX_FMT_MODE_VT_NONMIRROR,
+};
+
+/* 12  Y/CbCr 4:2:0 64x32 macroblocks */
+#define V4L2_PIX_FMT_NV12T    v4l2_fourcc('T', 'V', '1', '2')
+#define V4L2_PIX_FMT_NV21T    v4l2_fourcc('T', 'V', '2', '1')
+#define V4L2_PIX_FMT_INTERLEAVED    v4l2_fourcc('I', 'T', 'L', 'V')
+
+/*
+ *  * V4L2 extention for digital camera
+ *   */
+/* Strobe flash light */
+enum v4l2_strobe_control {
+       /* turn off the flash light */
+       V4L2_STROBE_CONTROL_OFF         = 0,
+       /* turn on the flash light */
+       V4L2_STROBE_CONTROL_ON          = 1,
+       /* act guide light before splash */
+       V4L2_STROBE_CONTROL_AFGUIDE     = 2,
+       /* charge the flash light */
+       V4L2_STROBE_CONTROL_CHARGE      = 3,
+};
+
+enum v4l2_strobe_conf {
+       V4L2_STROBE_OFF                 = 0,    /* Always off */
+       V4L2_STROBE_ON                  = 1,    /* Always splashes */
+       /* Auto control presets */
+       V4L2_STROBE_AUTO                = 2,
+       V4L2_STROBE_REDEYE_REDUCTION    = 3,
+       V4L2_STROBE_SLOW_SYNC           = 4,
+       V4L2_STROBE_FRONT_CURTAIN       = 5,
+       V4L2_STROBE_REAR_CURTAIN        = 6,
+       /* Extra manual control presets */
+       /* keep turned on until turning off */
+       V4L2_STROBE_PERMANENT           = 7,
+       V4L2_STROBE_EXTERNAL            = 8,
+};
+
+enum v4l2_strobe_status {
+       V4L2_STROBE_STATUS_OFF          = 0,
+       /* while processing configurations */
+       V4L2_STROBE_STATUS_BUSY         = 1,
+       V4L2_STROBE_STATUS_ERR          = 2,
+       V4L2_STROBE_STATUS_CHARGING     = 3,
+       V4L2_STROBE_STATUS_CHARGED      = 4,
+};
+
+/* capabilities field */
+/* No strobe supported */
+#define V4L2_STROBE_CAP_NONE           0x0000
+/* Always flash off mode */
+#define V4L2_STROBE_CAP_OFF            0x0001
+/* Always use flash light mode */
+#define V4L2_STROBE_CAP_ON             0x0002
+/* Flashlight works automatic */
+#define V4L2_STROBE_CAP_AUTO           0x0004
+/* Red-eye reduction */
+#define V4L2_STROBE_CAP_REDEYE         0x0008
+/* Slow sync */
+#define V4L2_STROBE_CAP_SLOWSYNC       0x0010
+/* Front curtain */
+#define V4L2_STROBE_CAP_FRONT_CURTAIN  0x0020
+/* Rear curtain */
+#define V4L2_STROBE_CAP_REAR_CURTAIN   0x0040
+/* keep turned on until turning off */
+#define V4L2_STROBE_CAP_PERMANENT      0x0080
+/* use external strobe */
+#define V4L2_STROBE_CAP_EXTERNAL       0x0100
+
+/* Set mode and Get status */
+struct v4l2_strobe {
+       /* off/on/charge:0/1/2 */
+       enum    v4l2_strobe_control control;
+       /* supported strobe capabilities */
+       __u32   capabilities;
+       enum    v4l2_strobe_conf mode;
+       enum    v4l2_strobe_status status;      /* read only */
+       /* default is 0 and range of value varies from each models */
+       __u32   flash_ev;
+       __u32   reserved[4];
+};
+
+#define VIDIOC_S_STROBE     _IOWR('V', 83, struct v4l2_strobe)
+#define VIDIOC_G_STROBE     _IOR('V', 84, struct v4l2_strobe)
+
+/* Object recognition and collateral actions */
+enum v4l2_recog_mode {
+       V4L2_RECOGNITION_MODE_OFF       = 0,
+       V4L2_RECOGNITION_MODE_ON        = 1,
+       V4L2_RECOGNITION_MODE_LOCK      = 2,
+};
+
+enum v4l2_recog_action {
+       V4L2_RECOGNITION_ACTION_NONE    = 0,    /* only recognition */
+       V4L2_RECOGNITION_ACTION_BLINK   = 1,    /* Capture on blinking */
+       V4L2_RECOGNITION_ACTION_SMILE   = 2,    /* Capture on smiling */
+};
+
+enum v4l2_recog_pattern {
+       V4L2_RECOG_PATTERN_FACE         = 0, /* Face */
+       V4L2_RECOG_PATTERN_HUMAN        = 1, /* Human */
+       V4L2_RECOG_PATTERN_CHAR         = 2, /* Character */
+};
+
+struct v4l2_recog_rect {
+       enum    v4l2_recog_pattern  p;  /* detected pattern */
+       struct  v4l2_rect  o;   /* detected area */
+       __u32   reserved[4];
+};
+
+struct v4l2_recog_data {
+       __u8    detect_cnt;             /* detected object counter */
+       struct  v4l2_rect       o;      /* detected area */
+       __u32   reserved[4];
+};
+
+struct v4l2_recognition {
+       enum v4l2_recog_mode    mode;
+
+       /* Which pattern to detect */
+       enum v4l2_recog_pattern  pattern;
+
+       /* How many object to detect */
+       __u8    obj_num;
+
+       /* select detected object */
+       __u32   detect_idx;
+
+       /* read only :Get object coordination */
+       struct v4l2_recog_data  data;
+
+       enum v4l2_recog_action  action;
+       __u32   reserved[4];
+};
+
+#define VIDIOC_S_RECOGNITION   _IOWR('V', 85, struct v4l2_recognition)
+#define VIDIOC_G_RECOGNITION   _IOR('V', 86, struct v4l2_recognition)
+
+#endif /* __LINUX_VIDEODEV2_EXYNOS_CAMERA_H */