diff options
author | Sundar Raman <a0393242@ti.com> | 2012-06-28 12:02:01 -0500 |
---|---|---|
committer | Daniel Levin <dendy@ti.com> | 2012-07-25 08:56:44 -0500 |
commit | dbe882e2f8d75f60653114217f1a4ec1250e9b75 (patch) | |
tree | 7d68dde309ef4a2b4fda6467815eb5fac408b08f /camera | |
parent | cfc30f5231838fda97bc436df095e9f6dd620d65 (diff) | |
download | hardware_ti_omap4-dbe882e2f8d75f60653114217f1a4ec1250e9b75.zip hardware_ti_omap4-dbe882e2f8d75f60653114217f1a4ec1250e9b75.tar.gz hardware_ti_omap4-dbe882e2f8d75f60653114217f1a4ec1250e9b75.tar.bz2 |
Revert "Camera HAL: Second stereo camera added"
This reverts commit 67045e06e7b58e644a5089a2a253879abc28a5fd.
Conflicts:
camera/OMXCameraAdapter/OMXAlgo.cpp
Change-Id: Id22974e1822d06f574548afd86db398c76c05a9b
Diffstat (limited to 'camera')
-rw-r--r-- | camera/OMXCameraAdapter/OMXAlgo.cpp | 11 | ||||
-rw-r--r-- | camera/OMXCameraAdapter/OMXCameraAdapter.cpp | 110 | ||||
-rw-r--r-- | camera/inc/CameraProperties.h | 2 | ||||
-rw-r--r-- | camera/inc/OMXCameraAdapter/OMXCameraAdapter.h | 33 |
4 files changed, 49 insertions, 107 deletions
diff --git a/camera/OMXCameraAdapter/OMXAlgo.cpp b/camera/OMXCameraAdapter/OMXAlgo.cpp index 2dacb68..f24cee9 100644 --- a/camera/OMXCameraAdapter/OMXAlgo.cpp +++ b/camera/OMXCameraAdapter/OMXAlgo.cpp @@ -76,16 +76,15 @@ status_t OMXCameraAdapter::setParametersAlgo(const CameraParameters ¶ms, mCapabilitiesOpMode = MODE_HIGH_QUALITY; } - if (mIsStereo) { - mCapabilitiesOpMode = MODE_STEREO; + if ( mSensorIndex == 2 ) { + mCapabilitiesOpMode = MODE_STEREO; } - if ( mCapMode != capMode ) - { + if ( mCapMode != capMode ) { mCapMode = capMode; mOMXStateSwitch = true; mPendingPreviewSettings |= SetCapMode; - } + } CAMHAL_LOGDB("Capture Mode set %d", mCapMode); @@ -636,7 +635,7 @@ status_t OMXCameraAdapter::setCaptureMode(OMXCameraAdapter::CaptureMode mode) { OMX_INIT_STRUCT_PTR (&camMode, OMX_CONFIG_CAMOPERATINGMODETYPE); - if (mIsStereo) + if ( mSensorIndex == OMX_TI_StereoSensor ) { if ( OMXCameraAdapter::VIDEO_MODE == mode ) { CAMHAL_LOGDA("Camera mode: STEREO VIDEO"); diff --git a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp index 5562f9b..8b2fcc0 100644 --- a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp +++ b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp @@ -47,10 +47,6 @@ const char OMXCameraAdapter::DEFAULT_PROFILE_PATH[] = "/data/dbg/profile_data.bi #define FPS_PERIOD 30 Mutex gAdapterLock; -// android <-> omx camera indexes correlation container filled when -// omx camera capabilities are parsed -static Vector<OMXCameraAdapter::OMXCamera> OMXCameras; - /*--------------------Camera Adapter Class STARTS here-----------------------------*/ status_t OMXCameraAdapter::initialize(CameraProperties::Properties* caps) @@ -249,7 +245,7 @@ status_t OMXCameraAdapter::initialize(CameraProperties::Properties* caps) mEXIFData.mModelValid = false; mEXIFData.mMakeValid = false; - if (!mIsStereo) { + if (mSensorIndex != 2) { mCapabilities->setMode(MODE_HIGH_SPEED); } @@ -1165,7 +1161,7 @@ status_t OMXCameraAdapter::setFormat(OMX_U32 port, OMXCameraPortParameters &port CAMHAL_LOGEB("Unsupported port index (%lu)", port); } - if (mIsStereo && (OMX_CAMERA_PORT_VIDEO_OUT_VIDEO != port)) { + if (( mSensorIndex == OMX_TI_StereoSensor ) && (OMX_CAMERA_PORT_VIDEO_OUT_VIDEO != port)) { ret = setS3DFrameLayout(port); if ( NO_ERROR != ret ) { @@ -4056,24 +4052,13 @@ OMXCameraAdapter::CachedCaptureParameters* OMXCameraAdapter::cacheCaptureParamet return params; } -OMXCameraAdapter::OMXCameraAdapter(int sensor_index) +OMXCameraAdapter::OMXCameraAdapter(size_t sensor_index) { LOG_FUNCTION_NAME; - mSensorIndex = sensor_index; - mIsStereo = false; - - for (int i = 0; i < static_cast<int>(OMXCameras.size()); i++) { - const OMXCamera & omxCam = OMXCameras.itemAt(i); - if (omxCam.GetAndroidId() == sensor_index) { - mSensorIndex = omxCam.GetOmxId(); - mIsStereo = omxCam.IsStereo(); - break; - } - } - mOmxInitialized = false; mComponentState = OMX_StateInvalid; + mSensorIndex = sensor_index; mPictureRotation = 0; // Initial values mTimeSourceDelta = 0; @@ -4196,7 +4181,7 @@ extern "C" CameraAdapter* OMXCameraAdapter_Factory(size_t sensor_index) if ( adapter ) { CAMHAL_LOGDB("New OMX Camera adapter instance created for sensor %d",sensor_index); } else { - CAMHAL_LOGEB("OMX Camera adapter create failed for sensor index = %d!",sensor_index); + CAMHAL_LOGEA("OMX Camera adapter create failed for sensor index = %d!",sensor_index); } LOG_FUNCTION_NAME_EXIT; @@ -4376,8 +4361,7 @@ public: } status_t fetchCapabilitiesForSensor(int sensorId, - CameraProperties::Properties * properties, - bool stereo_mode) + CameraProperties::Properties * properties) { CAMHAL_LOGD("Disabling all ports..."); const status_t disableAllPortsError = disableAllPorts(); @@ -4405,7 +4389,7 @@ public: } status_t err = NO_ERROR; - if (stereo_mode) { + if ( sensorId == 2 ) { CAMHAL_LOGD("Camera mode: STEREO"); properties->setMode(MODE_STEREO); err = fetchCapabiltiesForMode(OMX_CaptureStereoImageCapture, @@ -4569,6 +4553,8 @@ extern "C" status_t OMXCameraAdapter_Capabilities( LOG_FUNCTION_NAME; supportedCameras = 0; + + int num_cameras_supported = 0; OMX_ERRORTYPE eError = OMX_ErrorNone; Mutex::Autolock lock(gAdapterLock); @@ -4585,60 +4571,44 @@ extern "C" status_t OMXCameraAdapter_Capabilities( return ErrorUtils::omxToAndroidError(eError); } - // clear container previous state - while (!OMXCameras.empty()) { - OMXCameras.erase(OMXCameras.end()); - } + // Continue selecting sensor and then querying OMX Camera for it's capabilities + // When sensor select returns an error, we know to break and stop + while (eError == OMX_ErrorNone && + (starting_camera + num_cameras_supported) < max_camera) { - // Parse first all sensors in mono mode then continue with stereo mode - for (bool stereo_mode = false; (starting_camera + supportedCameras) < max_camera; stereo_mode = true) { - bool stereo_mode_found = false; - // Go through all sensor indexes - for (int sensorId = 0; sensorId <= OMX_TI_StereoSensor && (starting_camera + supportedCameras) < max_camera; ) { - CapabilitiesHandler handler; - OMX_CALLBACKTYPE callbacks; - - callbacks.EventHandler = CapabilitiesHandler::eventCallback; - callbacks.EmptyBufferDone = 0; - callbacks.FillBufferDone = 0; - - eError = OMXCameraAdapter::OMXCameraGetHandle(&handler.componentRef(), &handler, callbacks); - if (eError != OMX_ErrorNone) { - CAMHAL_LOGEB("OMX_GetHandle -0x%x", eError); - goto EXIT; - } + CapabilitiesHandler handler; - CameraProperties::Properties * properties = properties_array + starting_camera + supportedCameras; - const status_t err = handler.fetchCapabilitiesForSensor(sensorId, properties, stereo_mode); + OMX_CALLBACKTYPE callbacks; + callbacks.EventHandler = CapabilitiesHandler::eventCallback; + callbacks.EmptyBufferDone = 0; + callbacks.FillBufferDone = 0; - // clean up - if (handler.component()) { - CAMHAL_LOGD("Freeing the component..."); - OMX_FreeHandle(handler.component()); - CAMHAL_LOGD("Freeing the component... DONE"); - handler.componentRef() = NULL; - } + eError = OMXCameraAdapter::OMXCameraGetHandle(&handler.componentRef(), &handler, callbacks); + if (eError != OMX_ErrorNone) { + CAMHAL_LOGEB("OMX_GetHandle -0x%x", eError); + goto EXIT; + } - if (err == NO_ERROR) { - OMXCameras.add(OMXCameraAdapter::OMXCamera( - starting_camera + supportedCameras, sensorId, stereo_mode)); - supportedCameras++; - if (stereo_mode) { - stereo_mode_found = true; - } - } - // if stereo sensor already found skip parsing OMX_TI_StereoSensor - if (++sensorId == OMX_TI_StereoSensor && (!stereo_mode || stereo_mode_found)) { - break; - } + const int sensorId = num_cameras_supported; + CameraProperties::Properties * properties = properties_array + starting_camera + sensorId; + const status_t err = handler.fetchCapabilitiesForSensor(sensorId, properties); + + // clean up + if(handler.component()) { + CAMHAL_LOGD("Freeing the component..."); + OMX_FreeHandle(handler.component()); + CAMHAL_LOGD("Freeing the component... DONE"); + handler.componentRef() = NULL; } - if (stereo_mode) { + + if ( err != NO_ERROR ) break; - } + + num_cameras_supported++; + CAMHAL_LOGDB("Number of OMX Cameras detected = %d \n",num_cameras_supported); } - CAMHAL_LOGDB("Number of OMX Cameras detected = %d \n", supportedCameras); -EXIT: + EXIT: CAMHAL_LOGD("Deinit..."); OMX_Deinit(); CAMHAL_LOGD("Deinit... DONE"); @@ -4650,6 +4620,8 @@ EXIT: return ErrorUtils::omxToAndroidError(eError); } + supportedCameras = num_cameras_supported; + LOG_FUNCTION_NAME_EXIT; return NO_ERROR; diff --git a/camera/inc/CameraProperties.h b/camera/inc/CameraProperties.h index 7dba09d..dcfc2c7 100644 --- a/camera/inc/CameraProperties.h +++ b/camera/inc/CameraProperties.h @@ -32,7 +32,7 @@ namespace android { -#define MAX_CAMERAS_SUPPORTED 4 +#define MAX_CAMERAS_SUPPORTED 3 #define MAX_SIMUL_CAMERAS_SUPPORTED 1 #define MAX_PROP_NAME_LENGTH 50 #define MAX_PROP_VALUE_LENGTH 2048 diff --git a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h index 188c3eb..912ea68 100644 --- a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h +++ b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h @@ -284,34 +284,6 @@ public: BracketingValueCompensationForced }; - class OMXCamera - { - public: - OMXCamera() : mAndroidId(-1), mOmxId(-1), mIsStereo(false) {} - OMXCamera(const int android_id, const int omx_id, const bool is_stereo) : - mAndroidId(android_id), mOmxId(omx_id), mIsStereo(is_stereo) {} - - int GetAndroidId() const - { - return mAndroidId; - } - - int GetOmxId() const - { - return mOmxId; - } - - bool IsStereo() const - { - return mIsStereo; - } - - private: - int mAndroidId; - int mOmxId; - bool mIsStereo; - }; - class GPSData { public: @@ -417,7 +389,7 @@ public: public: - OMXCameraAdapter(int sensor_index); + OMXCameraAdapter(size_t sensor_index); ~OMXCameraAdapter(); ///Initialzes the camera adapter creates any resources required @@ -1189,8 +1161,7 @@ private: Mutex mDoAFMutex; Condition mDoAFCond; - int mSensorIndex; - bool mIsStereo; + size_t mSensorIndex; CodingMode mCodingMode; // Time source delta of ducati & system time |