am 1d7373eb: am 995bbd51: Merge "hardware: samsung_slsi: libcamera2: AE lock bug fix" into jb-mr1-dev
* commit '1d7373eb6c8bf044aae23916fc65879f79a0f53d':
hardware: samsung_slsi: libcamera2: AE lock bug fix
diff --git a/libcamera2/ExynosCameraHWInterface2.cpp b/libcamera2/ExynosCameraHWInterface2.cpp
index 84d8bdc..523a3fe 100644
--- a/libcamera2/ExynosCameraHWInterface2.cpp
+++ b/libcamera2/ExynosCameraHWInterface2.cpp
@@ -3480,6 +3480,7 @@
OnAfNotification(shot_ext->shot.dm.aa.afState);
OnPrecaptureMeteringNotificationISP();
} else {
+ memcpy(&shot_ext->shot.ctl, &m_camera_info.dummy_shot.shot.ctl, sizeof(struct camera2_ctl));
shot_ext->shot.ctl.request.frameCount = 0xfffffffe;
shot_ext->request_sensor = 1;
shot_ext->dis_bypass = 1;
@@ -3497,10 +3498,20 @@
}
shot_ext->shot.ctl.aa.aeflashMode = AA_FLASHMODE_OFF;
ALOGV("### isp QBUF start (bubble)");
+ ALOGV("bubble: queued aa(%d) aemode(%d) awb(%d) afmode(%d) trigger(%d)",
+ (int)(shot_ext->shot.ctl.aa.mode), (int)(shot_ext->shot.ctl.aa.aeMode),
+ (int)(shot_ext->shot.ctl.aa.awbMode), (int)(shot_ext->shot.ctl.aa.afMode),
+ (int)(shot_ext->shot.ctl.aa.afTrigger));
+
cam_int_qbuf(&(m_camera_info.isp), index);
ALOGV("### isp DQBUF start (bubble)");
index_isp = cam_int_dqbuf(&(m_camera_info.isp));
shot_ext = (struct camera2_shot_ext *)(m_camera_info.isp.buffer[index_isp].virt.extP[1]);
+ ALOGV("bubble: DM aa(%d) aemode(%d) awb(%d) afmode(%d)",
+ (int)(shot_ext->shot.dm.aa.mode), (int)(shot_ext->shot.dm.aa.aeMode),
+ (int)(shot_ext->shot.dm.aa.awbMode),
+ (int)(shot_ext->shot.dm.aa.afMode));
+
if (m_ctlInfo.flash.m_flashEnableFlg)
m_preCaptureListenerISP(shot_ext);
OnAfNotification(shot_ext->shot.dm.aa.afState);
diff --git a/libcamera2/MetadataConverter.cpp b/libcamera2/MetadataConverter.cpp
index def1c2f..29dc167 100644
--- a/libcamera2/MetadataConverter.cpp
+++ b/libcamera2/MetadataConverter.cpp
@@ -560,7 +560,7 @@
&byteData, 1))
return NO_MEMORY;
- intData = metadata->ctl.aa.aeExpCompensation;
+ intData = metadata->ctl.aa.aeExpCompensation - 5;
if (0 != add_camera_metadata_entry(dst, ANDROID_CONTROL_AE_EXP_COMPENSATION,
&intData, 1))
return NO_MEMORY;