hardware: samsung_slsi: include: update camera header file
authorJiyoung Shin <idon.shin@samsung.com>
Fri, 1 Jun 2012 23:08:20 +0000 (16:08 -0700)
committerAlex Ray <aray@google.com>
Tue, 10 Jul 2012 23:48:41 +0000 (16:48 -0700)
for stabilization, update header file

Change-Id: I9e2accb97292dd68e49c465b781c8f010926437d
Signed-off-by: Jiyoung Shin <idon.shin@samsung.com>
include/ExynosCamera.h
include/videodev2_exynos_camera.h

index 7b5c36beb279e0e04618f71a38e64e2a674b7526..0d280211ca54e503ff0c1849e70a1f1cc4728cae 100644 (file)
 #include "ExynosExif.h"
 #include "exynos_v4l2.h"
 
+#define ALIGN(x,  a)       (((x) + (a) - 1) & ~((a) - 1))
 namespace android {
 
 #define GAIA_FW_BETA                        1
+/* FIXME: This is for test. We remove this after test */
+#define USE_DIGITAL_ZOOM
 
 //! struct for Camera sensor information
 /*!
@@ -89,8 +92,6 @@ public:
     int  previewColorFormat;
     int  videoW;
     int  videoH;
-    int  prefVideoPreviewW;
-    int  prefVideoPreviewH;
     int  videoColorFormat;
     int  pictureW;
     int  pictureH;
@@ -189,6 +190,12 @@ public:
     ExynosCameraInfoS5K4E5();
 };
 
+struct ExynosCameraInfoS5K3H7 : public ExynosCameraInfo
+{
+public:
+    ExynosCameraInfoS5K3H7();
+};
+
 //! ExynosCamera
 /*!
  * \ingroup Exynos
@@ -236,7 +243,7 @@ public:
         FLASH_MODE_TORCH   = (1 << 4), //!< \n
     };
 
-    //! Flash mode
+    //! Focus mode
     enum {
         FOCUS_MODE_AUTO               = (1 << 0), //!< \n
         FOCUS_MODE_INFINITY           = (1 << 1), //!< \n
@@ -532,9 +539,6 @@ 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);
 
@@ -637,6 +641,9 @@ public:
     //! Sets metering areas.(Using ExynosRect2)
     bool            setMeteringAreas(int num, ExynosRect2 *rect2s, int *weights);
 
+    //! Cancel metering areas.
+    bool            cancelMeteringAreas();
+
     //! Sets the image format for pictures.
     bool            setPictureFormat(int colorFormat);
 
@@ -712,6 +719,11 @@ private:
     devInfo         m_gscVideoDev;
     devInfo         m_gscPictureDev;
 
+#ifdef USE_DIGITAL_ZOOM
+    devInfo         m_gscBayerDev;
+    devInfo        *m_bayerDev;
+#endif
+
     devInfo        *m_previewDev;
     devInfo        *m_videoDev;
     devInfo        *m_pictureDev;
@@ -726,6 +738,9 @@ private:
     char            m_cameraName[32];
     bool            m_internalISP;
     bool            m_touchAFMode;
+    bool            m_isTouchMetering;
+
+    bool            m_focusIdle;
 
     // media controller variable
     struct media_device *m_media;
@@ -738,6 +753,7 @@ private:
     struct media_entity *m_ispSensorEntity;
     struct media_entity *m_ispFrontEntity;
     struct media_entity *m_ispBackEntity;
+    struct media_entity *m_ispBayerEntity;
     struct media_entity *m_ispScalercEntity;
     struct media_entity *m_ispScalerpEntity;
     struct media_entity *m_isp3dnrEntity;
@@ -779,6 +795,11 @@ private:
 // Additional API.
 ///////////////////////////////////////////////////
 public:
+    //! Focus mode
+    enum {
+        FOCUS_MODE_CONTINUOUS_PICTURE_MACRO = (1 << 8), //!< \n
+    };
+
     //! Metering
     enum {
         METERING_MODE_AVERAGE = (1 << 0), //!< \n
index 596407f07cc838dd89bd4c61a8e5ee3e4dfd60e2..c4558108bfd882f113fd4ffd2cef4a84fe91696e 100644 (file)
@@ -931,9 +931,10 @@ enum v4l2_focusmode {
        FOCUS_MODE_FACEDETECT_DEFAULT,
        FOCUS_MODE_INFINITY,
        FOCUS_MODE_FIXED,
-       FOCUS_MODE_CONTINOUS,
-       FOCUS_MODE_CONTINOUS_PICTURE,
-       FOCUS_MODE_CONTINOUS_VIDEO,
+       FOCUS_MODE_CONTINUOUS,
+       FOCUS_MODE_CONTINUOUS_PICTURE,
+       FOCUS_MODE_CONTINUOUS_PICTURE_MACRO,
+       FOCUS_MODE_CONTINUOUS_VIDEO,
        FOCUS_MODE_TOUCH,
        FOCUS_MODE_MAX,
        FOCUS_MODE_DEFAULT = (1 << 8),
@@ -1044,6 +1045,12 @@ typedef enum {
 #define V4L2_CID_CAMERA_BUSFREQ_LOCK           (V4L2_CID_PRIVATE_BASE+125)
 #define V4L2_CID_CAMERA_BUSFREQ_UNLOCK         (V4L2_CID_PRIVATE_BASE+126)
 
+#define V4L2_CID_CAMERA_FACE_ZOOM  (V4L2_CID_PRIVATE_BASE + 132)
+enum v4l2_face_zoom {
+       FACE_ZOOM_STOP = 0,
+       FACE_ZOOM_START
+};
+
 /* control for post processing block in ISP */
 #define V4L2_CID_CAMERA_SET_ODC                                (V4L2_CID_PRIVATE_BASE+127)
 enum set_odc_mode {