summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHashcode <hashcode0f@gmail.com>2015-02-16 11:34:42 -0800
committerHashcode <hashcode0f@gmail.com>2015-02-16 11:38:12 -0800
commite65e8d6ab8242663999d3280e542cf8bcc26a80e (patch)
treef3a6131a109a0d673293e1e6f6119a26d1590b8e
parent82f941ef3496f21193e9fe7c21da1f34ed589c01 (diff)
downloadhardware_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.cpp30
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);