Re: [PATCH] media: imx: Skip every second frame in VDIC DIRECT mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 09/17/2018 03:27 AM, Hans Verkuil wrote:
On 05/07/2018 11:54 AM, Hans Verkuil wrote:
On 07/04/18 15:04, Marek Vasut wrote:
In VDIC direct mode, the VDIC applies combing filter during and
doubles the framerate, that is, after the first two half-frames
are received and the first frame is emitted by the VDIC, every
subsequent half-frame is patched into the result and a full frame
is produced. The half-frame order in the full frames is as follows
12 32 34 54 etc.

Drop every second frame to trim the framerate back to the original
one of the signal and skip the odd patched frames.

Signed-off-by: Marek Vasut <marex@xxxxxxx>
Cc: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx>
Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Steve, Philipp,

I saw there was a discussion about this patch, but no clear answer whether
or not this patch is OK. If it is, then please Ack this patch.
Marking this patch as Obsoleted since I have no seen any activity for a long time.

Hi Hans, yes that's fine.

This needs to be re-worked to allow configuration of input/output frame-rates
from the VDIC via [gs]_frame_interval.

Steve



---
  drivers/staging/media/imx/imx-media-vdic.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c
index 482250d47e7c..b538bbebedc5 100644
--- a/drivers/staging/media/imx/imx-media-vdic.c
+++ b/drivers/staging/media/imx/imx-media-vdic.c
@@ -289,6 +289,7 @@ static int vdic_setup_direct(struct vdic_priv *priv)
  	/* set VDIC to receive from CSI for direct path */
  	ipu_fsu_link(priv->ipu, IPUV3_CHANNEL_CSI_DIRECT,
  		     IPUV3_CHANNEL_CSI_VDI_PREV);
+	ipu_set_vdi_skip(priv->ipu, 0x2);
return 0;
  }
@@ -313,6 +314,8 @@ static int vdic_setup_indirect(struct vdic_priv *priv)
  	const struct imx_media_pixfmt *incc;
  	int in_size, ret;
+ ipu_set_vdi_skip(priv->ipu, 0x0);
+
  	infmt = &priv->format_mbus[VDIC_SINK_PAD_IDMAC];
  	incc = priv->cc[VDIC_SINK_PAD_IDMAC];





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux