summaryrefslogtreecommitdiff
path: root/src/3a/intel3a/Intel3AParameter.cpp
diff options
Diffstat (limited to 'src/3a/intel3a/Intel3AParameter.cpp')
-rw-r--r--src/3a/intel3a/Intel3AParameter.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/3a/intel3a/Intel3AParameter.cpp b/src/3a/intel3a/Intel3AParameter.cpp
index 7b57785..4803d15 100644
--- a/src/3a/intel3a/Intel3AParameter.cpp
+++ b/src/3a/intel3a/Intel3AParameter.cpp
@@ -645,11 +645,14 @@ void Intel3AParameter::updateAfParameter(const aiq_parameter_t& param) {
// Current only one AF metering window is supported, so use the latest one
camera_window_t window = param.afRegions.back();
if (window.right > window.left && window.bottom > window.top) {
- camera_coordinate_system_t frameCoord = {0, 0, param.resolution.width,
- param.resolution.height};
- window = AiqUtils::convertToIaWindow(frameCoord, window);
- mAfParams.focus_metering_mode = ia_aiq_af_metering_mode_touch;
- mAfParams.focus_rect = {window.left, window.top, window.right, window.bottom};
+ if ((window.right - window.left) != param.resolution.width &&
+ (window.bottom - window.top) != param.resolution.height) {
+ camera_coordinate_system_t frameCoord = {0, 0, param.resolution.width,
+ param.resolution.height};
+ window = AiqUtils::convertToIaWindow(frameCoord, window);
+ mAfParams.focus_metering_mode = ia_aiq_af_metering_mode_touch;
+ mAfParams.focus_rect = {window.left, window.top, window.right, window.bottom};
+ }
}
}