1. 08 Nov, 2019 3 commits
  2. 05 Nov, 2019 36 commits
  3. 24 Oct, 2019 1 commit
    • Jernej Skrabec's avatar
      media: sun4i: Add H3 deinterlace driver · a4260ea4
      Jernej Skrabec authored
      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: default avatarMaxime Ripard <mripard@kernel.org>
      Signed-off-by: default avatarJernej Skrabec <jernej.skrabec@siol.net>
      [hverkuil-cisco@xs4all.nl: add static to deinterlace_ioctl_ops]
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      a4260ea4