summaryrefslogtreecommitdiffstats
path: root/camera/OMXCameraAdapter
diff options
context:
space:
mode:
authorKyle Repinski <repinski23@gmail.com>2015-01-07 17:12:43 -0600
committerZiyan <jaraidaniel@gmail.com>2015-04-11 20:24:52 +0200
commit0ebe625decc5a52c5534bedc5ed31da332f42f80 (patch)
treefcc961a8fb7015cc1f606b9d9c7c062931e457cc /camera/OMXCameraAdapter
parentc9ee5c0371fb6ca892f80f1725100ad03c8a2a2c (diff)
downloaddevice_samsung_tuna-0ebe625decc5a52c5534bedc5ed31da332f42f80.zip
device_samsung_tuna-0ebe625decc5a52c5534bedc5ed31da332f42f80.tar.gz
device_samsung_tuna-0ebe625decc5a52c5534bedc5ed31da332f42f80.tar.bz2
camera: Fix more tuna issues, spruce up debugging.
- Move very verbose logs under new CAMERAHAL_SUPERVERBOSE and co. - Add back 'default focal length', as tuna just reports '.' when trying to auto-fetch it. - Hardcode camera facing values in insertFacing (sensor ID 305 is rear, the other (306) is front). - ifdef out more things that will cause tuna to... lose its gills. - 'Fix' preview resolutions not being inserted. - Enable a few built-in workarounds that were under the 'CAMERAHAL_TUNA' define. At this point, a few intelligent camera apps can handle the camera 'OK'. AF is very spotty. Signed-off-by: Kyle Repinski <repinski23@gmail.com>
Diffstat (limited to 'camera/OMXCameraAdapter')
-rw-r--r--camera/OMXCameraAdapter/OMX3A.cpp2
-rw-r--r--camera/OMXCameraAdapter/OMXCameraAdapter.cpp8
-rw-r--r--camera/OMXCameraAdapter/OMXCapabilities.cpp26
-rw-r--r--camera/OMXCameraAdapter/OMXDefaults.cpp12
-rw-r--r--camera/OMXCameraAdapter/OMXFocus.cpp2
5 files changed, 42 insertions, 8 deletions
diff --git a/camera/OMXCameraAdapter/OMX3A.cpp b/camera/OMXCameraAdapter/OMX3A.cpp
index e7171f6..fbef828 100644
--- a/camera/OMXCameraAdapter/OMX3A.cpp
+++ b/camera/OMXCameraAdapter/OMX3A.cpp
@@ -388,6 +388,7 @@ status_t OMXCameraAdapter::setParameters3A(const android::CameraParameters &para
}
// TI extensions for enable/disable algos
+#ifndef OMAP_TUNA
declareParameter3ABool(params, TICameraParameters::KEY_ALGO_FIXED_GAMMA,
mParameters3A.AlgoFixedGamma, SetAlgoFixedGamma, "Fixed Gamma");
declareParameter3ABool(params, TICameraParameters::KEY_ALGO_NSF1,
@@ -399,6 +400,7 @@ status_t OMXCameraAdapter::setParameters3A(const android::CameraParameters &para
declareParameter3ABool(params, TICameraParameters::KEY_ALGO_THREELINCOLORMAP,
mParameters3A.AlgoThreeLinColorMap, SetAlgoThreeLinColorMap, "ThreeLinColorMap");
declareParameter3ABool(params, TICameraParameters::KEY_ALGO_GIC, mParameters3A.AlgoGIC, SetAlgoGIC, "GIC");
+#endif
LOG_FUNCTION_NAME_EXIT;
diff --git a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp
index ac5ec47..c97ce61 100644
--- a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp
+++ b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp
@@ -2990,7 +2990,7 @@ void OMXCameraAdapter::onOrientationEvent(uint32_t orientation, uint32_t tilt)
// restart face detection with new rotation
setFaceDetectionOrientation(mDeviceOrientation);
}
- CAMHAL_LOGVB("orientation = %d tilt = %d device_orientation = %d", orientation, tilt, mDeviceOrientation);
+ CAMHAL_LOGSVB("orientation = %d tilt = %d device_orientation = %d", orientation, tilt, mDeviceOrientation);
LOG_FUNCTION_NAME_EXIT;
}
@@ -3546,7 +3546,7 @@ OMX_ERRORTYPE OMXCameraAdapter::OMXCameraAdapterFillBufferDone(OMX_IN OMX_HANDLE
if(mBuffersWithDucati.indexOfKey((uint32_t)pBuffHeader->pBuffer)<0)
{
CAMHAL_LOGE("Buffer was never with Ducati!! %p", pBuffHeader->pBuffer);
- for(unsigned int i=0;i<mBuffersWithDucati.size();i++) CAMHAL_LOGE("0x%x", mBuffersWithDucati.keyAt(i));
+ for(unsigned int i=0;i<mBuffersWithDucati.size();i++) CAMHAL_LOGSV("0x%x", mBuffersWithDucati.keyAt(i));
}
mBuffersWithDucati.removeItem((int)pBuffHeader->pBuffer);
#endif
@@ -3884,7 +3884,7 @@ status_t OMXCameraAdapter::sendCallBacks(CameraFrame frame, OMX_IN OMX_BUFFERHEA
ret = sendFrameToSubscribers(&frame);
}
- CAMHAL_LOGVB("B 0x%x T %llu", frame.mBuffer, pBuffHeader->nTimeStamp);
+ CAMHAL_LOGSVB("B 0x%x T %llu", frame.mBuffer, pBuffHeader->nTimeStamp);
LOG_FUNCTION_NAME_EXIT;
@@ -4042,7 +4042,7 @@ status_t OMXCameraAdapter::setExtraData(bool enable, OMX_U32 nPortIndex, OMX_EXT
extraDataControl.nPortIndex = nPortIndex;
extraDataControl.eExtraDataType = eType;
-#ifdef CAMERAHAL_TUNA
+#ifdef OMAP_TUNA
extraDataControl.eCameraView = OMX_2D;
#endif
diff --git a/camera/OMXCameraAdapter/OMXCapabilities.cpp b/camera/OMXCameraAdapter/OMXCapabilities.cpp
index 79b90b3..a21cc20 100644
--- a/camera/OMXCameraAdapter/OMXCapabilities.cpp
+++ b/camera/OMXCameraAdapter/OMXCapabilities.cpp
@@ -337,7 +337,10 @@ const LUTtype OMXCameraAdapter::mBracketingModesLUT = {
// values for supported camera facing direction
const CapU32 OMXCameraAdapter::mFacing [] = {
-#ifndef OMAP_TUNA
+#ifdef OMAP_TUNA
+ { 1, TICameraParameters::FACING_BACK },
+ { 0, TICameraParameters::FACING_FRONT},
+#else
{ OMX_TI_SENFACING_BACK , TICameraParameters::FACING_BACK },
{ OMX_TI_SENFACING_FRONT, TICameraParameters::FACING_FRONT},
#endif
@@ -762,13 +765,13 @@ status_t OMXCameraAdapter::insertPreviewSizes(CameraProperties::Properties* para
ARRAY_SIZE(mPreviewPortraitRes),
supported,
MAX_PROP_VALUE_LENGTH);
+#endif
if ( NO_ERROR != ret ) {
CAMHAL_LOGEB("Error inserting supported Potrait preview sizes 0x%x", ret);
} else {
params->set(CameraProperties::SUPPORTED_PREVIEW_SIZES, supported);
}
-#endif
}
else // 3d mode
{
@@ -1623,7 +1626,13 @@ status_t OMXCameraAdapter::insertFacing(CameraProperties::Properties* params, OM
memset(supported, '\0', sizeof(supported));
-#ifndef OMAP_TUNA
+#ifdef OMAP_TUNA
+ if(caps.tSenMounting.nSenId == 305) {
+ i = 0;
+ } else {
+ i = 1;
+ }
+#else
for (i = 0; i < ARRAY_SIZE(mFacing); i++) {
if((OMX_TI_SENFACING_TYPE)mFacing[i].num == caps.tSenMounting.eFacing) {
break;
@@ -1643,6 +1652,7 @@ status_t OMXCameraAdapter::insertFacing(CameraProperties::Properties* params, OM
return ret;
}
+#ifndef OMAP_TUNA
status_t OMXCameraAdapter::insertFocalLength(CameraProperties::Properties* params, OMX_TI_CAPTYPE &caps)
{
status_t ret = NO_ERROR;
@@ -1666,6 +1676,7 @@ status_t OMXCameraAdapter::insertFocalLength(CameraProperties::Properties* param
return ret;
}
+#endif
status_t OMXCameraAdapter::insertAutoConvergenceModes(CameraProperties::Properties* params, OMX_TI_CAPTYPE &caps)
{
@@ -2039,6 +2050,13 @@ status_t OMXCameraAdapter::insertDefaults(CameraProperties::Properties* params,
params->set(CameraProperties::MAX_FD_SW_FACES, DEFAULT_MAX_FD_SW_FACES);
params->set(CameraProperties::AUTO_EXPOSURE_LOCK, DEFAULT_AE_LOCK);
params->set(CameraProperties::AUTO_WHITEBALANCE_LOCK, DEFAULT_AWB_LOCK);
+#ifdef OMAP_TUNA
+ if(caps.tSenMounting.nSenId == 305) {
+ params->set(CameraProperties::FOCAL_LENGTH, DEFAULT_FOCAL_LENGTH_PRIMARY);
+ } else {
+ params->set(CameraProperties::FOCAL_LENGTH, DEFAULT_FOCAL_LENGTH_SECONDARY);
+ }
+#endif
params->set(CameraProperties::HOR_ANGLE, DEFAULT_HOR_ANGLE);
params->set(CameraProperties::VER_ANGLE, DEFAULT_VER_ANGLE);
params->set(CameraProperties::VIDEO_SIZE, DEFAULT_VIDEO_SIZE);
@@ -2158,9 +2176,11 @@ status_t OMXCameraAdapter::insertCapabilities(CameraProperties::Properties* para
ret = insertFacing(params, caps);
}
+#ifndef OMAP_TUNA
if ( NO_ERROR == ret) {
ret = insertFocalLength(params, caps);
}
+#endif
if ( NO_ERROR == ret) {
ret = insertAutoConvergenceModes(params, caps);
diff --git a/camera/OMXCameraAdapter/OMXDefaults.cpp b/camera/OMXCameraAdapter/OMXDefaults.cpp
index 2928573..b05d5ad 100644
--- a/camera/OMXCameraAdapter/OMXDefaults.cpp
+++ b/camera/OMXCameraAdapter/OMXDefaults.cpp
@@ -47,7 +47,11 @@ const char OMXCameraAdapter::DEFAULT_THUMBNAIL_QUALITY[] = "60";
const char OMXCameraAdapter::DEFAULT_THUMBNAIL_SIZE[] = "160x120";
const char OMXCameraAdapter::DEFAULT_PICTURE_FORMAT[] = "jpeg";
const char OMXCameraAdapter::DEFAULT_S3D_PICTURE_LAYOUT[] = "tb-full";
+#ifdef OMAP_TUNA
+const char OMXCameraAdapter::DEFAULT_PICTURE_SIZE[] = "2592x1944";
+#else
const char OMXCameraAdapter::DEFAULT_PICTURE_SIZE[] = "320x240";
+#endif
const char OMXCameraAdapter::DEFAULT_PICTURE_SS_SIZE[] = "640x240";
const char OMXCameraAdapter::DEFAULT_PICTURE_TB_SIZE[] = "320x480";
const char OMXCameraAdapter::DEFAULT_PREVIEW_FORMAT[] = "yuv420sp";
@@ -67,6 +71,10 @@ const char OMXCameraAdapter::DEFAULT_WB[] = "auto";
const char OMXCameraAdapter::DEFAULT_ZOOM[] = "0";
const char OMXCameraAdapter::DEFAULT_MAX_FD_HW_FACES[] = __STRINGIFY(MAX_NUM_FACES_SUPPORTED);
const char OMXCameraAdapter::DEFAULT_MAX_FD_SW_FACES[] = "0";
+#ifdef OMAP_TUNA
+const char OMXCameraAdapter::DEFAULT_FOCAL_LENGTH_PRIMARY[] = "3.43";
+const char OMXCameraAdapter::DEFAULT_FOCAL_LENGTH_SECONDARY[] = "1.95";
+#endif
const char OMXCameraAdapter::DEFAULT_HOR_ANGLE[] = "54.8";
const char OMXCameraAdapter::DEFAULT_VER_ANGLE[] = "42.5";
const char * OMXCameraAdapter::DEFAULT_AE_LOCK = android::CameraParameters::FALSE;
@@ -75,7 +83,11 @@ const char OMXCameraAdapter::DEFAULT_VIDEO_SIZE[] = "1920x1080";
const char OMXCameraAdapter::DEFAULT_SENSOR_ORIENTATION[] = "0";
const char OMXCameraAdapter::DEFAULT_AUTOCONVERGENCE_MODE[] = "frame";
const char OMXCameraAdapter::DEFAULT_MANUAL_CONVERGENCE[] = "0";
+#ifdef OMAP_TUNA
+const char * OMXCameraAdapter::DEFAULT_MECHANICAL_MISALIGNMENT_CORRECTION_MODE = android::CameraParameters::FALSE;
+#else
const char * OMXCameraAdapter::DEFAULT_MECHANICAL_MISALIGNMENT_CORRECTION_MODE = android::CameraParameters::TRUE;
+#endif
const char OMXCameraAdapter::DEFAULT_EXIF_MAKE[] = "default_make";
const char OMXCameraAdapter::DEFAULT_EXIF_MODEL[] = "default_model";
diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp
index 65577a5..db03f7d 100644
--- a/camera/OMXCameraAdapter/OMXFocus.cpp
+++ b/camera/OMXCameraAdapter/OMXFocus.cpp
@@ -266,7 +266,7 @@ status_t OMXCameraAdapter::stopAutoFocus()
CAMHAL_LOGEB("Error while stopping focus 0x%x", eError);
return Utils::ErrorUtils::omxToAndroidError(eError);
}
-#ifdef CAMERAHAL_TUNA
+#ifdef OMAP_TUNA
else {
// This is a WA. Usually the OMX Camera component should
// generate AF status change OMX event fairly quickly