am 87a2bf81: am ca31bf21: hardware: samsung_slsi: libcamera2: Supports AE region
* commit '87a2bf81315d18dfc897b49cba4398dbfe5aef6d':
hardware: samsung_slsi: libcamera2: Supports AE region
diff --git a/libcamera2/ExynosCameraHWInterface2.cpp b/libcamera2/ExynosCameraHWInterface2.cpp
index 72a3746..1328ee3 100644
--- a/libcamera2/ExynosCameraHWInterface2.cpp
+++ b/libcamera2/ExynosCameraHWInterface2.cpp
@@ -3007,10 +3007,10 @@
} else {
// clear region infos in case of CAF mode
if (m_afMode == AA_AFMODE_CONTINUOUS_VIDEO || m_afMode == AA_AFMODE_CONTINUOUS_PICTURE) {
- shot_ext->shot.ctl.aa.afRegions[0] = lastAfRegion[0] = 0;
- shot_ext->shot.ctl.aa.afRegions[1] = lastAfRegion[1] = 0;
- shot_ext->shot.ctl.aa.afRegions[2] = lastAfRegion[2] = 0;
- shot_ext->shot.ctl.aa.afRegions[3] = lastAfRegion[3] = 0;
+ shot_ext->shot.ctl.aa.afRegions[0] = shot_ext->shot.ctl.aa.aeRegions[0] = lastAfRegion[0] = 0;
+ shot_ext->shot.ctl.aa.afRegions[1] = shot_ext->shot.ctl.aa.aeRegions[1] = lastAfRegion[1] = 0;
+ shot_ext->shot.ctl.aa.afRegions[2] = shot_ext->shot.ctl.aa.aeRegions[2] = lastAfRegion[2] = 0;
+ shot_ext->shot.ctl.aa.afRegions[3] = shot_ext->shot.ctl.aa.aeRegions[3] = lastAfRegion[3] = 0;
} else if (!(lastAfRegion[0] == shot_ext->shot.ctl.aa.afRegions[0] && lastAfRegion[1] == shot_ext->shot.ctl.aa.afRegions[1]
&& lastAfRegion[2] == shot_ext->shot.ctl.aa.afRegions[2] && lastAfRegion[3] == shot_ext->shot.ctl.aa.afRegions[3])) {
ALOGD("(%s): AF region changed : triggering (%d)", __FUNCTION__, m_afMode);
diff --git a/libcamera2/MetadataConverter.cpp b/libcamera2/MetadataConverter.cpp
index c2e181a..07e08bf 100644
--- a/libcamera2/MetadataConverter.cpp
+++ b/libcamera2/MetadataConverter.cpp
@@ -288,13 +288,6 @@
dst_ext->awb_lock = (enum awb_lockmode)(curr_entry.data.u8[0]);
break;
- case ANDROID_CONTROL_AWB_REGIONS:
- if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_INT32, 5))
- break;
- for (i=0 ; i<curr_entry.count ; i++)
- dst->ctl.aa.awbRegions[i] = curr_entry.data.i32[i];
- break;
-
case ANDROID_CONTROL_AF_MODE:
if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
break;
@@ -310,6 +303,12 @@
dst->ctl.aa.afRegions[i] = curr_entry.data.i32[i];
break;
+ case ANDROID_CONTROL_AE_REGIONS:
+ if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_INT32, 5))
+ break;
+ for (i=0 ; i<curr_entry.count ; i++)
+ dst->ctl.aa.aeRegions[i] = curr_entry.data.i32[i];
+ break;
case ANDROID_REQUEST_ID: