hardware: samsung_slsi: libcamera2: support wb exif info
This patch is to fix a bug that whitebalance info of EXIF
is not proper. Handling AE and AWB lock are changed due to
these parameter were separated from AE and AWB mode
Change-Id: Id5c906fb80e714813531de78238196e3e97bfee9
Signed-off-by: Younghwan Joo <yhwan.joo@samsung.com>
diff --git a/libcamera2/ExynosCameraHWInterface2.h b/libcamera2/ExynosCameraHWInterface2.h
index b5ee602..aff6097 100644
--- a/libcamera2/ExynosCameraHWInterface2.h
+++ b/libcamera2/ExynosCameraHWInterface2.h
@@ -185,6 +185,13 @@
IS_FLASH_AF_MAX
};
+enum is_set_command_state {
+ IS_COMMAND_NONE = 0,
+ IS_COMMAND_EXECUTION,
+ IS_COMMAND_CLEAR,
+ IS_COMMAND_MAX
+};
+
typedef struct node_info {
int fd;
int width;
@@ -249,9 +256,21 @@
bool m_flashTorchMode;
} ctl_flash_info_t;
+typedef struct awb_control_info {
+ // UI awb mode indicator
+ enum aa_awbmode i_awbMode;
+ enum is_set_command_state m_awbCnt;
+} ctl_awb_info_t;
+
+typedef struct ae_control_info {
+ // ae mode indicator
+ enum is_set_command_state m_aeCnt;
+} ctl_ae_info_t;
+
typedef struct request_control_info {
ctl_flash_info_t flash;
-
+ ctl_awb_info_t awb;
+ ctl_ae_info_t ae;
} ctl_request_info_t;
class RequestManager {
@@ -270,7 +289,7 @@
void NotifyStreamOutput(int frameCnt);
void ApplyDynamicMetadata(struct camera2_shot_ext *shot_ext);
void CheckCompleted(int index);
- void UpdateIspParameters(struct camera2_shot_ext *shot_ext, int frameCnt);
+ void UpdateIspParameters(struct camera2_shot_ext *shot_ext, int frameCnt, ctl_request_info_t *ctl_info);
void RegisterTimestamp(int frameCnt, nsecs_t *frameTime);
nsecs_t GetTimestampByFrameCnt(int frameCnt);
nsecs_t GetTimestamp(int index);