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.

DM8148 Resizer hang

Hi folks,

I am currently building an application using a EZSDK 5.05 on a DM8148 platform.  The application uses Gstreamer/OMX.  It creates 4 omx_mdeiscaler components and each instance of the omx_mdeiscaler performs a cropping function on a 1920x1080 image.

Everything seems to function fine and it is possible to delete and re-create pipelines as required containing the omx_mdeiscaler component.

However, periodically, the pipeline hangs when deleting the omx_deiscaler component.

Looking at the VPSS log, I can see that the MX.TI.VPSSM3.VFPC.DEIMDUALOUT component is reporting the following debug:

N:VPSS P:2 #:35057 T:0000005a4a6975d1 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Leaving<OMX_BASE_SendCommand> @line<669> with error<0:ErrorNone>
N:VPSS P:2 #:35058 T:0000005a4a6babfd M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:35059 T:0000005a4a6caff3 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<OMX_BASE_PROCESS_CmdEvent> @line<526>
N:VPSS P:2 #:35060 T:0000005a4a6d5a5b M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> @<OMX_BASE_PROCESS_CmdEvent> @line<538> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:35062 T:0000005a4a706d11 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35061 T:0000005a4a6e0877 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<_OMX_BASE_HandleStateTransition> @line<316>
N:VPSS P:2 #:35063 T:0000005a4a7474ab M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> @<_OMX_BASE_HandleStateTransition> @line<367> msg<Idle to Loaded Transition>
N:VPSS P:2 #:35065 T:0000005a4a76c783 M:xdc.runtime.Main S:VFPC:DEI- Release the context fields
N:VPSS P:2 #:35066 T:0000005a4a7998c5 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35067 T:0000005a4a7d314b M:xdc.runtime.Main S:VFPC:DEI- Dequeue all the request from driver
N:VPSS P:2 #:35068 T:0000005a4a7e3819 M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=2
N:VPSS P:2 #:35069 T:0000005a4a7ec95d M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.
N:VPSS P:2 #:35070 T:0000005a4a8149b7 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35071 T:0000005a4a877c2b M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35072 T:0000005a4a8ddd25 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35073 T:0000005a4a963653 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35074 T:0000005a4a9d5419 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35075 T:0000005a4aa5235d M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35076 T:0000005a4aa862e1 M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=2
N:VPSS P:2 #:35077 T:0000005a4aa8f061 M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.
N:VPSS P:2 #:35078 T:0000005a4aa9f8c5 M:xdc.runtime.Main S:VIP-0 PORT-A Dropped Frame Count :1155 Total Capture Frame Count 2680
N:VPSS P:2 #:35079 T:0000005a4ab6dc1b M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35080 T:0000005a4abc8419 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35081 T:0000005a4ac18563 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35082 T:0000005a4ac677b9 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35083 T:0000005a4acb4583 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35084 T:0000005a4acf13e7 M:xdc.runtime.Main S:VFPC:DEI- Dequeue 1 buffer from driver
N:VPSS P:2 #:35085 T:0000005a4acff66d M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=1
N:VPSS P:2 #:35087 T:0000005a4ad19f31 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35086 T:0000005a4ad07129 M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.

The driver sits in a loop waiting for the final pending request to be processed before it can stop, but the request never gets processed.

Has anyone ever come across this type of behaviour before?

Is there a way for force any pending requests to be processed/freed immediately?

Is there a way to check that the hardware is functioning correctly?

The HDVPSS version that I am using is version 1.0.1.37.

Any help would be appreciated?

Regards,

Terry

  • Hello,

    I am able to connect 4 omx_mdeiscalers and I am not observing the error I tried around 10 times. I am using EZSDK 5.05.02 (hdvpss_01_00_01_44) and EVM dm8148.On 5 omx_mdeiscaler elements the HDVPSS will crash.

    If not all request DE-queued from the driver it ll try to de-queued after sometime. If you have the overlay package you could check there.

    BR

    Margarita

  • Hi Margarita,

    Thanks for doing this!  We have traced the problem further and the issue that we are seeing seems to be related to image cropping inside the deiscaler.

    When we enable image cropping, we are finding that the throughput of the deiscaler component seems to reduce considerably.  If we reduce the frame rates of the streams being fed to the deiscaler then the system stabilizes and everything works OK.

    Does enabling the cropping functionality on the scaler reduce it's performance or is there something else we might be doing incorrectly?

    Thanks again for your help,

    Regards,

    Terry

  • Hello Terry,

    I am experiencing the same problem with EZSDK 5.04.00.11.

    Did you by any chance find a way to fix this issue?

    Thank you,

    Simon

  • Hi Simon,

    Unfortunately we didn't get to the point of fixing this problem.  The problem only occurred when cropping was enabled in the scaler and we concluded that the scaler just couldn't cope with the frame rate that we were sending frames to it at.

    For our application, it was possible to lower the frame rate, so that is what we did in the end.

    Regards,

    Terry

  • Hello,

    I will check this issue again.

    The use case was: first 3 omx_mdeisaler's components output port (422) was connected to the fake sink only on the last the output ports was to fakesink right?

    Please correct me if I am wrong.

    The issue is observed when you have cropping or scaling?

    Best Regards,

    Margarita

  • Hi,

    We had similar problems but we were not cropping and it was while running an endurance, more that 10 times.

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/327198.aspx

    -David