summaryrefslogtreecommitdiff
authorguosong.zhou <guosong.zhou@amlogic.com>2014-11-19 02:26:58 (GMT)
committer guosong.zhou <guosong.zhou@amlogic.com>2014-11-19 02:26:58 (GMT)
commit6b4dad0baf0e19f11433db175d418607a4a74a2e (patch)
tree2c46199807e57e6ba214de95a6a855e74c7e3bc2
parenta901ece63ffd7f6e235ac69d533dfc909e47f5e5 (diff)
downloadcamera-6b4dad0baf0e19f11433db175d418607a4a74a2e.zip
camera-6b4dad0baf0e19f11433db175d418607a4a74a2e.tar.gz
camera-6b4dad0baf0e19f11433db175d418607a4a74a2e.tar.bz2
resolve cts case for testNoiseReductionModeControl and testCapabilities
Diffstat
-rwxr-xr-xv3/EmulatedFakeCamera3.cpp2
-rwxr-xr-xv3/EmulatedFakeCamera3Info.cpp23
-rwxr-xr-xv3/fake-pipeline2/Sensor.cpp18
3 files changed, 35 insertions, 8 deletions
diff --git a/v3/EmulatedFakeCamera3.cpp b/v3/EmulatedFakeCamera3.cpp
index 8419275..e6890df 100755
--- a/v3/EmulatedFakeCamera3.cpp
+++ b/v3/EmulatedFakeCamera3.cpp
@@ -643,7 +643,7 @@ const camera_metadata_t* EmulatedFakeCamera3::constructDefaultRequestSettings(
static const int64_t exposureTime = 10 * MSEC;
settings.update(ANDROID_SENSOR_EXPOSURE_TIME, &exposureTime, 1);
- static const int64_t frameDuration = 16333333L; // 1/15 s
+ static const int64_t frameDuration = 66666666L; // 1/15 s
settings.update(ANDROID_SENSOR_FRAME_DURATION, &frameDuration, 1);
static const int32_t sensitivity = 100;
diff --git a/v3/EmulatedFakeCamera3Info.cpp b/v3/EmulatedFakeCamera3Info.cpp
index 403be4e..47d7f1c 100755
--- a/v3/EmulatedFakeCamera3Info.cpp
+++ b/v3/EmulatedFakeCamera3Info.cpp
@@ -170,14 +170,15 @@ int EmulatedFakeCamera3::getAvailableChKeys(CameraMetadata *info, uint8_t level)
//actualHwLevel: legacy:0, limited:1, full:2
enum hardware_level_e actualHwLevel;
uint8_t availCapMask = NONE;
- int size, sizeofbckComp;
+ int size, sizeReq ,sizeofbckComp;
int availCount = 0;
camera_metadata_entry e;
const struct KeyInfo_s *keyInfo = &EmulatedFakeCamera3::sKeyInfo[0];
size = sizeof(sKeyInfo)/sizeof(struct KeyInfo_s);
- sizeofbckComp = sizeof(sKeyInfoReq)/sizeof(sKeyInfoReq[0]);
- int32_t available_keys[size+sizeofbckComp];
+ sizeReq = sizeof(sKeyInfoReq)/sizeof(sKeyInfoReq[0]);
+ sizeofbckComp = sizeof(sKeyBackwardCompat)/sizeof(sKeyBackwardCompat[0]);
+ int32_t available_keys[size+sizeReq+sizeofbckComp];
e = info->find(ANDROID_REQUEST_AVAILABLE_CAPABILITIES);
if (e.count <= 0) {
@@ -229,6 +230,22 @@ int EmulatedFakeCamera3::getAvailableChKeys(CameraMetadata *info, uint8_t level)
CAMHAL_LOGVB("availableKeySize=%d\n", availCount);
keyInfo = &EmulatedFakeCamera3::sKeyInfoReq[0];
+ for (int i = 0; i < sizeReq; i ++) {
+ if (actualHwLevel >= keyInfo->level) {
+ available_keys[availCount] = keyInfo->key;
+ availCount ++;
+ } else if ( availCapMask & keyInfo->capmask) {
+ available_keys[availCount] = keyInfo->key;
+ availCount ++;
+#if 0
+ } else if ((actualHwLevel != LEGACY) || (keyInfo->level == OPT)) {
+ available_keys[availCount] = keyInfo->key;
+ availCount ++;
+#endif
+ }
+ keyInfo ++;
+ }
+ keyInfo = &EmulatedFakeCamera3::sKeyBackwardCompat[0];
for (int i = 0; i < sizeofbckComp; i ++){
if (actualHwLevel >= keyInfo->level) {
diff --git a/v3/fake-pipeline2/Sensor.cpp b/v3/fake-pipeline2/Sensor.cpp
index 76d3f0b..64c95af 100755
--- a/v3/fake-pipeline2/Sensor.cpp
+++ b/v3/fake-pipeline2/Sensor.cpp
@@ -1268,7 +1268,7 @@ int Sensor::getStreamConfigurationDurations(uint32_t picSizes[], int64_t duratio
duration[count+0] = (int64_t)(picSizes[size-4]);
duration[count+1] = (int64_t)(picSizes[size-3]);
duration[count+2] = (int64_t)(picSizes[size-2]);
- duration[count+3] = (int64_t)16333333L;//(int64_t)(framerate), here we can get frame interval from camera driver
+ duration[count+3] = (int64_t)66666666L;//(int64_t)(framerate), here we can get frame interval from camera driver
j++;
} else if (fival.type == V4L2_FRMIVAL_TYPE_CONTINUOUS){
temp_rate = fival.discrete.denominator/fival.discrete.numerator;
@@ -1277,7 +1277,7 @@ int Sensor::getStreamConfigurationDurations(uint32_t picSizes[], int64_t duratio
duration[count+0] = (int64_t)picSizes[size-4];
duration[count+1] = (int64_t)picSizes[size-3];
duration[count+2] = (int64_t)picSizes[size-2];
- duration[count+3] = (int64_t)16333333L;//(int64_t)(framerate), here we can get frame interval from camera driver
+ duration[count+3] = (int64_t)66666666L;//(int64_t)(framerate), here we can get frame interval from camera driver
j++;
} else if (fival.type == V4L2_FRMIVAL_TYPE_STEPWISE){
temp_rate = fival.discrete.denominator/fival.discrete.numerator;
@@ -1286,7 +1286,7 @@ int Sensor::getStreamConfigurationDurations(uint32_t picSizes[], int64_t duratio
duration[count+0] = (int64_t)picSizes[size-4];
duration[count+1] = (int64_t)picSizes[size-3];
duration[count+2] = (int64_t)picSizes[size-2];
- duration[count+3] = (int64_t)16333333L;//(int64_t)(framerate), here we can get frame interval from camera driver
+ duration[count+3] = (int64_t)66666666L;//(int64_t)(framerate), here we can get frame interval from camera driver
j++;
}
} else {
@@ -1294,7 +1294,17 @@ int Sensor::getStreamConfigurationDurations(uint32_t picSizes[], int64_t duratio
duration[count+0] = (int64_t)(picSizes[size-4]);
duration[count+1] = (int64_t)(picSizes[size-3]);
duration[count+2] = (int64_t)(picSizes[size-2]);
- duration[count+3] = (int64_t)16333333L;//(int64_t)(framerate), here we can get frame interval from camera driver
+ if (framerate == 5) {
+ duration[count+3] = (int64_t)200000000L;
+ } else if (framerate == 10) {
+ duration[count+3] = (int64_t)100000000L;
+ } else if (framerate == 15) {
+ duration[count+3] = (int64_t)66666666L;
+ } else if (framerate == 30) {
+ duration[count+3] = (int64_t)33333333L;
+ } else {
+ duration[count+3] = (int64_t)66666666L;
+ }
count += 4;
break;
} else {