AnsweredAssumed Answered

i.MX6 enable CSI->VDIC->MEM support

Question asked by Yair Podemsky on May 16, 2018
Latest reply on May 17, 2018 by Yair Podemsky

Hi all,

We are facing an issue with the i.MX6 Dual where the streaming frame rate is very low (no higher than 12.5 FPS).

In our investigations we have discovered that this issue is completely solved if the incoming video is progressive (de-interlacing done in an external ADV).

Unfortunately, we cannot use the ADV de-interlacing in the final product, and must instead do it on the i.MX itself.


An investigation has found that while the i.MX IPU has a direct (CSI) camera to Video De-Interlacer (VDI) data path (CSI->VDIC->MEM), the freescale driver does not support it.

This is supposed to be the best way to preform the de-interlacing, and I have inferred that the low frame rate is due to the use of a less efficient method.


I have found an old patch to add support for the CSI->VDIC->MEM path to the driver, but it is meant for linux version 3.14. See https://community.nxp.com/docs/DOC-339509.

I tried to migrate it to our current version 4.9 (see 0006-IPU-VDIC-support.patch file attached), however the new paths haven't managed to stream at all.


Our basic pipeline is:

gst-launch-1.0 imxv4l2videosrc device=/dev/video0 do-timestamp=true ! imxipuvideotransform deinterlace=true ! imxvideoconvert_ipu ! imxvpuenc_h264 ! mpegtsmux ! rtpmp2tpay ! udpsink host=<host> port=<port>

but we have also tried removing the network with:

gst-launch-1.0 imxv4l2videosrc device=/dev/video0 do-timestamp=true ! imxipuvideotransform deinterlace=true ! imxvideoconvert_ipu ! imxvpuenc_h264 ! mpegtsmux ! multifilesink


Any assistance will be greatly appreciated.
Regards,
Yair

Outcomes