summaryrefslogtreecommitdiff
authorHeming.Lv <Heming.Lv@amlogic.com>2011-08-31 12:14:35 (GMT)
committer Heming.Lv <Heming.Lv@amlogic.com>2011-08-31 12:14:35 (GMT)
commitc612b7606558c1906bbaa2d1e1a86556d4f5aaec (patch)
tree9685e49f8908c0e20bd5e627daf3e1d5e6157219
parent53f1479f17d71ab9e6c4f2e29f31ee9419606c66 (diff)
downloadcamera-c612b7606558c1906bbaa2d1e1a86556d4f5aaec.zip
camera-c612b7606558c1906bbaa2d1e1a86556d4f5aaec.tar.gz
camera-c612b7606558c1906bbaa2d1e1a86556d4f5aaec.tar.bz2
add for camera position
Diffstat
-rwxr-xr-xAndroid.mk8
-rwxr-xr-xV4L2/CameraSetting.cpp43
2 files changed, 49 insertions, 2 deletions
diff --git a/Android.mk b/Android.mk
index 77fb41b..c8623a4 100755
--- a/Android.mk
+++ b/Android.mk
@@ -13,8 +13,12 @@ LOCAL_SHARED_LIBRARIES := \
libjpeg \
libexif
-ifeq ($(BOARD_HAVE_MULTI_CAMERAS),true)
- LOCAL_CFLAGS += -DAMLOGIC_MULTI_CAMERA_SUPPORT
+ifeq ($(BOARD_HAVE_FRONT_CAM),true)
+ LOCAL_CFLAGS += -DAMLOGIC_FRONT_CAMERA_SUPPORT
+endif
+
+ifeq ($(BOARD_HAVE_BACK_CAM),true)
+ LOCAL_CFLAGS += -DAMLOGIC_BACK_CAMERA_SUPPORT
endif
ifeq ($(BOARD_USE_USB_CAMERA),true)
diff --git a/V4L2/CameraSetting.cpp b/V4L2/CameraSetting.cpp
index 3817a53..1bea70a 100755
--- a/V4L2/CameraSetting.cpp
+++ b/V4L2/CameraSetting.cpp
@@ -80,6 +80,13 @@ status_t CameraSetting::InitParameters(CameraParameters& pParameters,String8 Pre
pParameters.setPictureSize(1600, 1200);
else
pParameters.setPictureSize(640, 480);
+ pParameters.set(CameraParameters::KEY_JPEG_QUALITY,90);
+ pParameters.set(CameraParameters::KEY_JPEG_THUMBNAIL_QUALITY,90);
+
+ pParameters.set(CameraParameters::KEY_PREVIEW_FPS_RANGE,"10500,26623");
+ //pParameters.set(CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE,"(10500,26623),(12000,26623),(30000,30000)");
+ pParameters.set(CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE,"(10500,26623)");
+ pParameters.set(CameraParameters::KEY_FOCUS_DISTANCES,"0.95,1.9,Infinity");
return NO_ERROR;
}
@@ -100,6 +107,7 @@ status_t CameraSetting::SetParameters(CameraParameters& pParameters)
}
m_hParameter = pParameters;
+ int min_fps,max_fps;
const char *white_balance=NULL;
const char *exposure=NULL;
const char *effect=NULL;
@@ -126,6 +134,11 @@ status_t CameraSetting::SetParameters(CameraParameters& pParameters)
if(flashmode)
set_flash_mode(flashmode);
#endif
+ pParameters.getPreviewFpsRange(&min_fps, &max_fps);
+ if((min_fps<0)||(max_fps<0)||(max_fps<min_fps))
+ {
+ rtn = INVALID_OPERATION;
+ }
return rtn;
}
@@ -166,4 +179,34 @@ CameraSetting* getCameraSetting()
return new CameraSetting();
}
+static CameraInfo sCameraInfo[] = {
+#ifdef AMLOGIC_BACK_CAMERA_SUPPORT
+ {
+ CAMERA_FACING_BACK,
+ 90, /* orientation */
+ },
+#endif
+#ifdef AMLOGIC_FRONT_CAMERA_SUPPORT
+ {
+ CAMERA_FACING_FRONT,
+ 270, /* orientation */
+ },
+#endif
+#ifdef AMLOGIC_USB_CAMERA_SUPPORT
+ {
+ CAMERA_USB,
+ 90, /* orientation */
+ },
+#endif
+};
+
+extern "C" int HAL_getNumberOfCameras()
+{
+ return sizeof(sCameraInfo) / sizeof(sCameraInfo[0]);
+}
+
+extern "C" void HAL_getCameraInfo(int cameraId, struct CameraInfo* cameraInfo)
+{
+ memcpy(cameraInfo, &sCameraInfo[cameraId], sizeof(CameraInfo));
+}
}