summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorAbhishek Kondaveeti <akondave@codeaurora.org>2016-05-13 09:51:04 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2016-11-17 03:09:12 -0800
commit90c3f2dedc684f19002199425f57989eb76f7322 (patch)
treea55da8ad9fae719c3ad37c6069e4eb2507f80788 /include/uapi
parent0579bfa116255d2069bfa093d803ad50840062c3 (diff)
msm: isp: Add support to multipass offline ISP
Process the input image in multiple passes using single ISP. Change-Id: I2b004c149b90ad03acf41d73e825976507a9a274 Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/media/msmb_isp.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/uapi/media/msmb_isp.h b/include/uapi/media/msmb_isp.h
index cdb85170919a..e4d41d4072c5 100644
--- a/include/uapi/media/msmb_isp.h
+++ b/include/uapi/media/msmb_isp.h
@@ -261,6 +261,26 @@ struct msm_vfe_fetch_eng_start {
uint32_t frame_id;
};
+enum msm_vfe_fetch_eng_pass {
+ OFFLINE_FIRST_PASS,
+ OFFLINE_SECOND_PASS,
+ OFFLINE_MAX_PASS,
+};
+
+struct msm_vfe_fetch_eng_multi_pass_start {
+ uint32_t session_id;
+ uint32_t stream_id;
+ uint32_t buf_idx;
+ uint8_t offline_mode;
+ uint32_t fd;
+ uint32_t buf_addr;
+ uint32_t frame_id;
+ uint32_t output_buf_idx;
+ uint32_t input_buf_offset;
+ enum msm_vfe_fetch_eng_pass offline_pass;
+ uint32_t output_stream_id;
+};
+
struct msm_vfe_axi_plane_cfg {
uint32_t output_width; /*Include padding*/
uint32_t output_height;
@@ -328,6 +348,7 @@ enum msm_vfe_axi_stream_update_type {
UPDATE_STREAM_REMOVE_BUFQ,
UPDATE_STREAM_SW_FRAME_DROP,
UPDATE_STREAM_REQUEST_FRAMES_VER2,
+ UPDATE_STREAM_OFFLINE_AXI_CONFIG,
};
#define UPDATE_STREAM_REQUEST_FRAMES_VER2 UPDATE_STREAM_REQUEST_FRAMES_VER2
@@ -853,6 +874,8 @@ enum msm_isp_ioctl_cmd_code {
MSM_ISP_SET_DUAL_HW_MASTER_SLAVE,
MSM_ISP_MAP_BUF_START_FE,
MSM_ISP_UNMAP_BUF,
+ MSM_ISP_FETCH_ENG_MULTI_PASS_START,
+ MSM_ISP_MAP_BUF_START_MULTI_PASS_FE,
};
#define VIDIOC_MSM_VFE_REG_CFG \
@@ -958,4 +981,11 @@ enum msm_isp_ioctl_cmd_code {
#define VIDIOC_MSM_ISP_AHB_CLK_CFG \
_IOWR('V', BASE_VIDIOC_PRIVATE+25, struct msm_isp_ahb_clk_cfg)
+#define VIDIOC_MSM_ISP_FETCH_ENG_MULTI_PASS_START \
+ _IOWR('V', MSM_ISP_FETCH_ENG_MULTI_PASS_START, \
+ struct msm_vfe_fetch_eng_multi_pass_start)
+
+#define VIDIOC_MSM_ISP_MAP_BUF_START_MULTI_PASS_FE \
+ _IOWR('V', MSM_ISP_MAP_BUF_START_MULTI_PASS_FE, \
+ struct msm_vfe_fetch_eng_multi_pass_start)
#endif /* __MSMB_ISP__ */