msm: camera: support exposure metering and HDR snapshots
With this change we achieve multiple things related
to correct HDR functionality. First, we do not
always configure ping and pong to be the same buffer in
case of the snapshot mode. This would help support taking
mulitple snapshots. Second, we support for logic to skip
frames in case of snapshot, a necessity for the exposure
metering feature. Third, we support post processing
divert of both snapshot and thumbnail buffers to be
taken from either mctl queue or video queue, to be
determined at runtime.
Change-Id: Ibcf2bbfc171b2686ca44e6366feadf435368fa5f
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
diff --git a/include/media/msm_camera.h b/include/media/msm_camera.h
index 8d2852b..87fbbd2 100644
--- a/include/media/msm_camera.h
+++ b/include/media/msm_camera.h
@@ -217,7 +217,8 @@
#define PP_SNAP 0x01
#define PP_RAW_SNAP ((0x01)<<1)
#define PP_PREV ((0x01)<<2)
-#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV)
+#define PP_THUMB ((0x01)<<3)
+#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
#define MSM_CAM_CTRL_CMD_DONE 0
#define MSM_CAM_SENSOR_VFE_CMD 1
@@ -295,6 +296,7 @@
struct msm_pp_frame_sp sp;
struct msm_pp_frame_mp mp[MAX_PLANES];
};
+ int node_type;
};
struct msm_cam_evt_divert_frame {
@@ -509,6 +511,9 @@
uint32_t window_height_lastline;
};
+#define VIDEO_NODE 0
+#define MCTL_NODE 1
+
#define OUTPUT_1 0
#define OUTPUT_2 1
#define OUTPUT_1_AND_2 2 /* snapshot only */