AnsweredAssumed Answered

mfw_deinterlacer failed to work on MX6Q/Linux

Question asked by Robbie Jiang on Apr 21, 2015
Latest reply on Apr 21, 2015 by Yuri Muhin

I'm using the following gstreamer pipeline to stream video from MX6/Linux platform.

 

gst-launch -v gstrtpbin name=rtpbin \

    tvsrc device=/dev/video0 ! 'video/x-raw-yuv,format=(fourcc)UYVY,width=720,height=576,framerate=25/1' ! mfw_ipucsc ! 'video/x-raw-yuv,format=(fourcc)I420, width=720,height=576,framerate=25/1'! mfw_deinterlacer ! vpuenc codec=avc gopsize=5 ! video/x-h264,width=720,height=576 ! rtph264pay mtu=1024 ! rtpbin.send_rtp_sink_0 \

    rtpbin.send_rtp_src_0 ! udpsink host=192.168.0.68 port=5004 sync=false \

    rtpbin.send_rtcp_src_0 ! udpsink host=192.168.0.68 port=5005 sync=false async=false \

    udpsrc port=5008 ! rtpbin.recv_rtcp_sink_0

 

The camera input is 720x576@25fps, in interlaced UYVY frame format.

'mfw_ipucsc' is used to convert UYVY format to I420 format, since 'vpuenc' can only accept I420 format.

As the camera input is interlaced video frame, I tried 'mfw_deinterlacer' to de-interlace and produce a progressive input to 'vpuenc'.

Sometimes this pipeline worked fine,

however, sometimes it produced video frames of bad quality and output following ERROR message:

 

.....

 

0:06:03.556805377  2964 0x2c736bf0 ERROR                default mfw_gst_deinterlace.c:435:mfw_deinterlace: Push data failed.

0:06:03.557066043  2964 0x2c736bf0 ERROR                default mfw_gst_deinterlace.c:983:mfw_gst_deinterlace_chain: Try to deinterlace failed.

0:06:03.557454043  2964 0x2c736bf0 ERROR                default mfw_gst_deinterlace.c:825:mfw_gst_deinterlace_sink_event: Error in pushing the event, result is 0

 

......

 

 

BTW, I built 'mfw_deinterlacer' from gst-fsl-plugins-3.0.7.

 

What's the correct way of using 'mfw_deinterlacer' element?

 

Any idea?

 

Thanks.

Outcomes