author | guosong.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) |
commit | 6b4dad0baf0e19f11433db175d418607a4a74a2e (patch) | |
tree | 2c46199807e57e6ba214de95a6a855e74c7e3bc2 | |
parent | a901ece63ffd7f6e235ac69d533dfc909e47f5e5 (diff) | |
download | camera-6b4dad0baf0e19f11433db175d418607a4a74a2e.zip camera-6b4dad0baf0e19f11433db175d418607a4a74a2e.tar.gz camera-6b4dad0baf0e19f11433db175d418607a4a74a2e.tar.bz2 |
resolve cts case for testNoiseReductionModeControl and testCapabilities
-rwxr-xr-x | v3/EmulatedFakeCamera3.cpp | 2 | ||||
-rwxr-xr-x | v3/EmulatedFakeCamera3Info.cpp | 23 | ||||
-rwxr-xr-x | v3/fake-pipeline2/Sensor.cpp | 18 |
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 { |