AnsweredAssumed Answered

IPU deinterlacing of UYVY image

Question asked by Thomas Soehus on Sep 11, 2015
Latest reply on Sep 16, 2015 by Joan Xie



I have implemented a driver for the TVP5150AM1 TVIN controller. It outputs interlaced PAL, and the output looks good. The output from the camera driver is interlaced video at 720x576 UYVY. So far so good. I am using the 3.14.28 linux kernel, and from what I can gather de-interlacing is not supported in capture part of IPU. There seems to be a patch (for an older kernel) regarding IPU VDI but I did not try to integrate that.


Instead I used the mxc_ipu device (/dev/mxc_ipu) and followed some examples for how to de-interlace an image. I am however struggling to get it to work. I can flip the images and scale using the same IPU_QUEUE_TASK, but when it comes to de-interlacing nothing happens. The examples provided by imx-test all do de-interlacing on NV12 images which is quite different from an UYVY format, so I am curious if this is supported at all?

Anyone that have been able to de-interlace an UYVY image using the mxc_ipu driver?


My deinterlace parameters in ipu_task is set as follows:


t->input.deinterlace.motion = HIGH_MOTION (2)

t->input.deinterlace.enable = 1


From what I can see in the kernel source for ipuv3 it should be supported. When I try to do the de-interlacing I get no errors, and the image is being processed by the IPU because the output image is slightly different from the input. But the output is still interlaced.


Thanks for you help,