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/TDA2: algorithm causing delay

Part Number: TDA2

Tool/software: Linux

Hi Expert,

I'm running Linux Vision SDK v03.02.00(4.4.84) on TDA2Ex.

reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv"

Modify as below:

The usual operation display is smooth.

However, increasing the amount of DSP operations will a serious delay in the display.

How can I continue to display images without being affected by DSP delay?

Only get the left image, Capture → Sync → Dup → ipc → Sgx3Dsrv. But it has not improved delay.

sgx3DsrvLink_drv.c, Int32 Sgx3DsrvLink_drvDoProcessFrames(Sgx3DsrvLink_Obj *pObj)

In addition, add Vps_printf in the capture, dup, sync link to observe each link's system_sendLinkCmd (, SYSTEM_CMD_NEW_DATA,

The sending interval will become longer when the DSP to increase the load. Why?

Could you please give some suggestion here?

Thanks in advance.

  • Hi,

    I did not understand your question.

    Which operations are you trying to do in DSP?

    Is that running on parallel or serially with Display.

    Why there is ipc link in the image. It should not be there.

    Regards,

    Anuj

  • Hi,

    Which operations are you trying to do in DSP?
    DSP to do custom algorithm, it's work ok.
    why increasing the amount of DSP load will a serious delay in the chains?

    Is that running on parallel or serially with Display.
    I don't understand this meaning?

    Why there is ipc link in the image. It should not be there.
    Why not? It's reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv"
    I try no ipc link is don't work.

    Thanks in advance.

  • Hi,

    The final FPS you will get for the entire chain depend upon the max time taken by all the links.
    Suppose you have a chain with 2 links and 1 link run at 10 fps and 2nd one at 30 fps so chain will run at 10 fps only.

    So if you increase the processing time of dsp link then that will affect the entire chain.

    Why not? It's reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv"
    IPC links are automatically introduced by vsdk_usecase generation tool and that will not be shown in img or txt file but in actual usecase c file,Ipc links will be present.

    Regards,
    Anuj
  • Hi,

    Its been long since any update on this thread.
    Hoping you are able to resolve your issue with my inputs.
    Closing the thread.

    Regards,
    Anuj
  • Hi,

    The final FPS for the entire chain depend upon the max time taken by all the links.
    Any chain style will have this phenomenon? (Such as series or parallel)

    Why are multiple cores still affected?

    Could you please provide some guide on these questions?

    Thanks in advance.

  • Hi,

    A chain works in series means output of 1 link becomes input of other and so on
    capture -> vpe -> display
    If the input of a link does not depend on other chanin then its parallel
    capture-> display
    grpxsrc -> grpxdisplay

    Here both chain is independent of each other so they can work in parallel.

    Regards,
    Anuj
  • Hi,

    Will it be affected if used the below design?

    Thanks in advance.

  • Hi,

    Yes, suppose if your custom link is taking 100ms per frame and other link takes a max of 33ms still you wont get a 30FPS at display. you will get 10FPS as your custom link is not freeing the data and causing other links to drop frames and be in idle state.

    Please go through the below doc for more information on MCFW framework
    vision_sdk\docs\Architecture

    Regards,
    Anuj