[RFC,v2,0/5] media: vsp1: Partition phased overlap support
mbox series

Message ID 20190301170848.6598-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • media: vsp1: Partition phased overlap support
Related show

Message

Kieran Bingham March 1, 2019, 5:08 p.m. UTC
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

The UDS and SRU (and SHP) require expanded partition windows to support
overlapping partition windows as a means of discarding discontinous pixel data,
due to repeated pixels in their input filters.

The first four patches are clean ups and helpers to facilitate the
implementation of an updated procedure for calculating the partition windows.

The entities are iterated first backwards through the pipeline allowing them to
request an expanded input window if needed to satisfy their required output.

Then, as only the WPF can support clipping on the left edge, (though the UDS
can clip on it's right edge) the partition window is then propagated forwards
through the entity list allowing them to update any offset which will mark left
pixels to be discarded by the WPF.

Any expanded pixels to the right edge will automatically be clipped by the WPF
as it's partition window will remain fixed.

TODO:

There is one component left in this patch which is still to be completed. The
UDS calculation for the left input pixel position requires the output position
to be a multiple of the mp prefilter multiplier.

Getting the right correction to pull back the left window for this is still a
work in progress, and may be posted separately.

This series is posted as an RFC to get some review coverage (I'm looking at you
Laurent of course) while I continue to investigate the pull-back factor.


Kieran Bingham (5):
  media: vsp1: Define partition algorithm helper
  media: vsp1: Initialise partition windows
  media: vsp1: Document partition algorithm in code header
  media: vsp1: Split out pre-filter multiplier
  media: vsp1: Provide partition overlap algorithm

 drivers/media/platform/vsp1/vsp1_entity.h |   2 +-
 drivers/media/platform/vsp1/vsp1_pipe.c   |  48 +++++-
 drivers/media/platform/vsp1/vsp1_pipe.h   |   7 +
 drivers/media/platform/vsp1/vsp1_rpf.c    |  10 +-
 drivers/media/platform/vsp1/vsp1_sru.c    |  37 ++++-
 drivers/media/platform/vsp1/vsp1_uds.c    | 173 ++++++++++++++++++++--
 drivers/media/platform/vsp1/vsp1_video.c  |  13 +-
 drivers/media/platform/vsp1/vsp1_wpf.c    |  16 +-
 8 files changed, 276 insertions(+), 30 deletions(-)