diff options
Diffstat (limited to 'src/3a/intel3a/Intel3AParameter.cpp')
| -rw-r--r-- | src/3a/intel3a/Intel3AParameter.cpp | 13 |
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}; + } } } |
