From 2d2ead4530771de0c5f2f7f0a7924deb045c4cce Mon Sep 17 00:00:00 2001 From: Steve Longerbeam Date: Wed, 17 Aug 2016 17:50:16 -0700 Subject: gpu: ipu-v3: Add Video Deinterlacer unit Adds the Video Deinterlacer (VDIC) unit. Signed-off-by: Steve Longerbeam Signed-off-by: Philipp Zabel --- include/video/imx-ipu-v3.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'include/video/imx-ipu-v3.h') diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h index c3de7406474b..335d42e250a9 100644 --- a/include/video/imx-ipu-v3.h +++ b/include/video/imx-ipu-v3.h @@ -80,6 +80,16 @@ enum ipu_color_space { IPUV3_COLORSPACE_UNKNOWN, }; +/* + * Enumeration of VDI MOTION select + */ +enum ipu_motion_sel { + MOTION_NONE = 0, + LOW_MOTION, + MED_MOTION, + HIGH_MOTION, +}; + struct ipuv3_channel; enum ipu_channel_irq { @@ -334,6 +344,19 @@ struct ipu_ic *ipu_ic_get(struct ipu_soc *ipu, enum ipu_ic_task task); void ipu_ic_put(struct ipu_ic *ic); void ipu_ic_dump(struct ipu_ic *ic); +/* + * IPU Video De-Interlacer (vdi) functions + */ +struct ipu_vdi; +void ipu_vdi_set_field_order(struct ipu_vdi *vdi, v4l2_std_id std, u32 field); +void ipu_vdi_set_motion(struct ipu_vdi *vdi, enum ipu_motion_sel motion_sel); +void ipu_vdi_setup(struct ipu_vdi *vdi, u32 code, int xres, int yres); +void ipu_vdi_unsetup(struct ipu_vdi *vdi); +int ipu_vdi_enable(struct ipu_vdi *vdi); +int ipu_vdi_disable(struct ipu_vdi *vdi); +struct ipu_vdi *ipu_vdi_get(struct ipu_soc *ipu); +void ipu_vdi_put(struct ipu_vdi *vdi); + /* * IPU Sensor Multiple FIFO Controller (SMFC) functions */ -- cgit v1.2.3-59-g8ed1b