diff options
author | Hashcode <hashcode0f@gmail.com> | 2015-02-16 11:34:42 -0800 |
---|---|---|
committer | Hashcode <hashcode0f@gmail.com> | 2015-02-16 11:38:12 -0800 |
commit | e65e8d6ab8242663999d3280e542cf8bcc26a80e (patch) | |
tree | f3a6131a109a0d673293e1e6f6119a26d1590b8e | |
parent | 82f941ef3496f21193e9fe7c21da1f34ed589c01 (diff) | |
download | hardware_ti_omap4-e65e8d6ab8242663999d3280e542cf8bcc26a80e.zip hardware_ti_omap4-e65e8d6ab8242663999d3280e542cf8bcc26a80e.tar.gz hardware_ti_omap4-e65e8d6ab8242663999d3280e542cf8bcc26a80e.tar.bz2 |
camera: fix capabilities framerates for Jem (KFire HD 8.9)
-rw-r--r-- | camera/OMXCameraAdapter/OMXCapabilities.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/camera/OMXCameraAdapter/OMXCapabilities.cpp b/camera/OMXCameraAdapter/OMXCapabilities.cpp index f62c9c8..b18bd8c 100644 --- a/camera/OMXCameraAdapter/OMXCapabilities.cpp +++ b/camera/OMXCameraAdapter/OMXCapabilities.cpp @@ -1017,10 +1017,17 @@ status_t OMXCameraAdapter::insertFramerates(CameraProperties::Properties* params { android::Vector<FpsRange> fpsRanges; - const int minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, - androidFromDucatiFrameRate(caps.xFramerateMin)); - const int maxFrameRate = min<int>(FPS_MAX * CameraHal::VFR_SCALE, - androidFromDucatiFrameRate(caps.xFramerateMax)); + // HASH: Fix JEM Amazon Ducati xFramerates which are [1 .. 30] vs [256 .. 7680] + int minFrameRate = -1; + if (caps.xFramerateMin >= 50) + minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMin)); + else + minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMin << 8)); + int maxFrameRate = -1; + if (caps.xFramerateMax >= 50) + maxFrameRate = min<int>(FPS_MAX * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMax)); + else + maxFrameRate = min<int>(FPS_MAX * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMax << 8)); if ( minFrameRate > maxFrameRate ) { CAMHAL_LOGE("Invalid frame rate range: [%d .. %d]", caps.xFramerateMin, caps.xFramerateMax); @@ -1081,10 +1088,17 @@ status_t OMXCameraAdapter::insertFramerates(CameraProperties::Properties* params { android::Vector<FpsRange> fpsRanges; - const int minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, - androidFromDucatiFrameRate(caps.xFramerateMin)); - const int maxFrameRate = min<int>(FPS_MAX_EXTENDED * CameraHal::VFR_SCALE, - androidFromDucatiFrameRate(caps.xFramerateMax)); + // HASH: Fix JEM Amazon Ducati xFramerates which are [1 .. 30] vs [256 .. 7680] + int minFrameRate = -1; + if (caps.xFramerateMin >= 50) + minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMin)); + else + minFrameRate = max<int>(FPS_MIN * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMin << 8)); + int maxFrameRate = -1; + if (caps.xFramerateMax >= 50) + maxFrameRate = min<int>(FPS_MAX_EXTENDED * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMax)); + else + maxFrameRate = min<int>(FPS_MAX_EXTENDED * CameraHal::VFR_SCALE, androidFromDucatiFrameRate(caps.xFramerateMax << 8)); encodeFrameRates(minFrameRate, maxFrameRate, caps, mFramerates, ARRAY_SIZE(mFramerates), fpsRanges); |