hardware: samsung_slsi:libcamera2: enable frame sync
To secure frame by frame operation, frame sync is enabled
It needs "USE_FRAME_SYNC" option in kernel
Change-Id: Ia20f32e540b426e3d6ea9175fab2e32ab643c1f5
Signed-off-by: Jiyoung Shin <idon.shin@samsung.com>
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
diff --git a/libcamera2/ExynosCameraHWInterface2.h b/libcamera2/ExynosCameraHWInterface2.h
index e13c589..128f381 100644
--- a/libcamera2/ExynosCameraHWInterface2.h
+++ b/libcamera2/ExynosCameraHWInterface2.h
@@ -57,8 +57,7 @@
namespace android {
//#define EXYNOS_CAMERA_LOG
-
-//#define ENABLE_FRAME_SYNC
+#define ENABLE_FRAME_SYNC
#define NODE_PREFIX "/dev/video"
#define NUM_MAX_STREAM_THREAD (5)
@@ -196,7 +195,8 @@
EMPTY,
REGISTERED,
REQUESTED,
- CAPTURED
+ CAPTURED,
+ METADONE
} request_entry_status_t;
typedef struct request_manager_entry {
@@ -204,7 +204,6 @@
camera_metadata_t *original_request;
struct camera2_shot_ext internal_shot;
int output_stream_count;
- bool dynamic_meta_vaild;
} request_manager_entry_t;
// structure related to a specific function of camera
@@ -238,6 +237,7 @@
public:
RequestManager(SignalDrivenThread* main_thread);
~RequestManager();
+ void ResetEntry();
int GetNumEntries();
bool IsRequestQueueFull();
@@ -246,7 +246,7 @@
bool PrepareFrame(size_t *num_entries, size_t *frame_size,
camera_metadata_t **prepared_frame, int afState);
int MarkProcessingRequest(ExynosBuffer * buf, int *afMode);
- void NotifyStreamOutput(int frameCnt, int stream_id);
+ void NotifyStreamOutput(int frameCnt);
void DumpInfoWithIndex(int index);
void ApplyDynamicMetadata(struct camera2_shot_ext *shot_ext);
void CheckCompleted(int index);