This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TMS320DM8168: Artifacts on DEI Video DM8168

Part Number: TMS320DM8168

Tool/software: Linux

Hi all

We are working on deinterlacing of NTSC/PAL video using gstremer. We are using ti-ezsdk-05.05.02.00 and omx_camera for video capture.

We are successfully able to deinterlace PAL input video(NTSC not tested). We are getting progressive NV12 (720X576 25fps)video as output
The deinterlaced video is giving good video with normal surroundings objects.

But when tested on a pattern chart we are observing some artifacts on top of some patterns(White glitters especially on the vertically lined patterns). This is observing at some high-intensity light.

We understand omx camera is not supporting by your end but we have made the fix for that.

We compared it with the direct video out and not finding such an issue occurring in it. Snapshot of the issue we are observing is attached.

Direct video out:

Dei out:

Please find the drop box link for the video here: https://www.dropbox.com/s/qrdwkoohsnza01h/Dei_artifacts.mp4?dl=0

The pipeline we are using is:

gst-launch -e -vvv omx_camera input-interface="VIP2_PORTB" input-mode="8_BIT" scan-type="interlaced" ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576, framerate=50/1, buffer-count-requested=4, interlaced=(boolean)true" ! omx_hdeiscaler framerate-divisor=4 name=d d.src_01 ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576" ! gstperf ! filesink location=capture.yuv

We captured video before and after hdeiscalar element. This issue is observing only after the hdei element. Now why hdei plugin is performs like this. Any variables are there to configure from dei library.

Can anybody help?

Thanks in advance

  • Hello,

    I would recommend you to connect the both DEI's outputs. Src_00 could be connect to fakesink.  The dei-scaler element(s), by default outputs at twice the framerate for interlaced content so the framerate-divisor should be 2.

    Do you observe the same issue when omx_mdeiscaler is used?

    You could try also with omx_scaler.

    user4922635 said:
    Any variables are there to configure from dei library.

    If you have the overlay package you could check in omx_vfpc_dei_if.c file,  function vpsVfpcDeiDualInitDefaultDeiHqParams(). This function sets the default Hq DEI configuration which is required on driver creation.

    Hope this helps.

    BR
    Margarita

  • Hi Margarita,

    Thanks for the response. 

    We tried by connecting src_00 to fakesink. The video quality was same for both the cases.
    When we tried making frame-rate divisor by 2 we are getting 50fps video and observing a shake in the video. When we tried the same pattern test we are observing the same artifacts on this video too.

     We tried using mdiesclar element, but lots of grains were observing in the video. That is why we moved to hdeiscalar.

    We checked the omx_vfpc_dei_if.c file mentioned and tunned some default dei parameters. But still, occurrence of the issue is similar for each parameter.

    Any clue what can be the reason behind the issue?

    Thanks

    Akhil

  • Hi Margaritha,

    What could be the reason that mdiscalar and hdiscalar elements behaving differently?

    One thing I observed that while using mdiscalar element 2 out of 3 frames capturd are full of grains as shown in the snapshot below

    yuv file : (convert .txt to .yuv)

    mdi_scal.txt

    Pipeline used to capture this video is:

    gst-launch -e -vvv omx_camera input-interface="VIP2_PORTB" input-mode="8_BIT" scan-type="interlaced" ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576, framerate=50/1, buffer-count-requested=4, interlaced=(boolean)true" ! omx_mdeiscaler framerate-divisor=4 name=d d.src_01 ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576" ! gstperf ! filesink location=mdi_scal.yuv

    While we are getting good frames when capturing with hdisclar element expect the artifacts issue mentioned above

    yuv file: (convert .txt to .yuv)

    hdi_scal.txt

    Pipeline used:

    gst-launch -e -vvv omx_camera input-interface="VIP2_PORTB" input-mode="8_BIT" scan-type="interlaced" ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576, framerate=50/1, buffer-count-requested=4, interlaced=(boolean)true" ! omx_hdeiscaler framerate-divisor=4 name=d d.src_01 ! "video/x-raw-yuv, format=(fourcc)NV12, width=720, height=576" ! gstperf ! filesink location=hdi_scal.yuv

    Is this giving any idea about the root cause of the issue. Are we missing anything. Please help.

    Thanks