linux/drivers/media/platform/sunxi
Jernej Skrabec a4260ea495 media: sun4i: Add H3 deinterlace driver
Allwinner H3 SoC contains deinterlace unit, which has several modes of
operation - bypass, weave, bob and mixed (advanced) mode. I don't know
how mixed mode works, but according to Allwinner it gives best results,
so they use it exclusively. Currently this mode is also hardcoded here.

For each interleaved frame queued, this driver produces 2 deinterlaced
frames. Deinterlaced frames are based on 2 consequtive output buffers,
except for the first 2, where same output buffer is given to peripheral
as current and previous.

There is no documentation for this core, so register layout and fixed
values were taken from BSP driver.

I'm not sure if maximum size of the image unit is capable to process is
governed by size of "flag" buffers, frequency or it really is some HW
limitation. Currently driver can process full HD image in ~15ms (7.5ms
for each capture buffer), which allows to process 1920x1080@60i video
smoothly in real time.

Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
[hverkuil-cisco@xs4all.nl: add static to deinterlace_ioctl_ops]
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-10-24 19:07:59 -03:00
..
sun4i-csi media: sun4i: Make sun4i_csi_formats static 2019-08-30 14:44:17 -03:00
sun6i-csi media: Remove dev_err() usage after platform_get_irq() 2019-08-07 17:08:33 -03:00
sun8i-di media: sun4i: Add H3 deinterlace driver 2019-10-24 19:07:59 -03:00
Kconfig media: sunxi: Add A10 CSI driver 2019-08-23 07:31:35 -03:00
Makefile media: sun4i: Add H3 deinterlace driver 2019-10-24 19:07:59 -03:00