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.

TDA2EVM5777: How to merge 2 input queue info?

Part Number: TDA2EVM5777

Hi

we are using vision sdk3.0.0

my execution flow is

UseCase: chains_lvdsVipMultiCamViewMosaicWithLut

Capture -> Sync -> Alg_DmaSwMsWithLeftLut (A15) -> Dup

Dup -> Alg_CrModule (DSP1) -> Merge

Dup -> Merge

Merge -> Alg_FrameCopy (A15) -> Display_video

GrpxSrc -> Display_Grpx

I have made priv.c and priv.h using usecase genration tool.

my querys  are

1)apart from pric.c which other changes do i need to apply to merge 2 algorithm input ?

2)when i tried with this flow its giving 

[IPU1-0]     21.639053 s:  VIDEO_SENSOR: INST1 : I2C1 : I2C Addr = 0x38
[IPU1-0]     24.162172 s:  VIDEO_SENSOR: VIP 0: DRV ID 1205 (I2C ADDR 0x38): a635:0000:7fa2
[IPU1-0]     24.162660 s:  VIDEO_SENSOR: INST2 : I2C1 : I2C Addr = 0x39
[IPU1-0]     26.690264 s:  VIDEO_SENSOR: VIP 2: DRV ID 1205 (I2C ADDR 0x39): a635:0000:7fa2
[IPU1-0]     26.690752 s:  VIDEO_SENSOR: INST3 : I2C1 : I2C Addr = 0x3a
[IPU1-0]     29.230952 s:  VIDEO_SENSOR: VIP 4: DRV ID 1205 (I2C ADDR 0x3a): a635:0000:7fa2
[IPU1-0]     29.231440 s:  VIDEO_SENSOR: INST4 : I2C1 : I2C Addr = 0x3b
[IPU1-0]     31.758219 s:  VIDEO_SENSOR: VIP 8: DRV ID 1205 (I2C ADDR 0x3b): a635:0000:7fa2
[IPU1-0]     31.766424 s:  CAPTURE: Create in progress !!!
[IPU1-0]     31.766638 s:  CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!!
[IPU1-0]     31.886994 s:  CAPTURE: VIP1 Slice1 PortA capture mode is [ 8-bit] !!!
[IPU1-0]     32.007350 s:  CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!!
[IPU1-0]     32.127706 s:  CAPTURE: VIP3 Slice0 PortA capture mode is [ 8-bit] !!!
[IPU1-0]     32.248337 s:  CAPTURE: Create Done !!!
[IPU1-0]     32.249405 s:  IPC_OUT_0   : Create in progress !!!
[IPU1-0]     32.249740 s:  IPC_OUT_0   : Create Done !!!
[HOST  ]     32.249923 s:  IPC_IN_0   : Create in progress !!!
[HOST  ]     32.250259 s:  IPC_IN_0   : Create Done !!!
[HOST  ]     32.250350 s:  ALGORITHM: Create in progress (algId = 0) !!!
[HOST  ]     32.254193 s:  Assertion @ Line: 415 in algorithmLink_algPluginSupport.c: status == SYSTEM_LINK_STATUS_SOK : failed !!!

3) which paramerter should be same for merge?

  • Hello Yash,

    1)apart from pric.c which other changes do i need to apply to merge 2 algorithm input ?

    You dont need to set any app level params for merge link. From the error log looks like use-case is failing due to incorrect/missing parameters for the dma mosaic alg link. This along with other links parameters needs to be set in use-case main file (chains_.c)

    Have you tried creating simple use-case first and adding components one- by one?

    This way it would be easier for you to pin point issue.

  • yes i have tried this flow also

    UseCase: chains_lvdsVipMultiCam_Display

    Capture -> Dup -> VPE -> Sync -> Alg_DmaSwMs -> Merge

    Dup -> Alg_FrameCopy (A15) -> Merge

    Merge -> Display_video

    GrpxSrc -> Display_Grpx

    it give me same error    32.254193 s:  Assertion @ Line: 415 in algorithmLink_algPluginSupport.c: status == SYSTEM_LINK_STATUS_SOK : failed !!!

     i have attched file flow_files.tar.gz

  • Hello Yash,

    Thanks for sharing use-case code. From the use-case .txt file, i see only change you made in the existing lvdsvip multicam use-case is adding the frame copy algo right?

    When calling the use-case main function  (vision_sdk\apps\src\rtos\common\chains_main_bios_multi_cam.c), are you setting framecopy core id to intended one?

    gChains_usecaseCfg.algProcId = SYSTEM_PROC_DSP1; (done in vision_sdk\apps\src\rtos\common\chains_main_bios_single_cam.c before callign Chains_vipSingleCameraFrameCopy)

  • Thank you for your quick response,
    yes i have just added framecopy algorithm and accordingly i have genrated the priv.c and priv.h file and added algprms in usecase file
    i havent done any change in chains_main_bios_single_cam.c error which i am getting error related this
    AlgorithmLink_putEmptyOutputBuffer(pObj, outputQId, pSystemBuffer);
  • Yash,

    Can you add below line in file(mostly chains_main_bios_multi_cam.c) from which you are calling your use-case main function. Add it before function call.

    gChains_usecaseCfg.algProcId = SYSTEM_PROC_DSP1; <== change core to one you want to use 

  • I have done that its stopping at same line
    could you please suggest me how to merge 2 algorithm output and give it to another algorithm ?
    and which modification i need to do
  • Hello Yash,

    The changes you have made looks correct for merging output from two chains.
    Issue mostly is due to algorithm parameters not set correctly for framecopy or dmamosaic links.

    I would suggest you to build SDK in debug mode and put breakpoint in use-case main function and from there trace which set apps params causes assert.
    Other way is to put breakpoint in line 415 of algorithmLink_algPluginSupport.c and see function stack which function caused this assert.

    2.254193 s: Assertion @ Line: 415 in algorithmLink_algPluginSupport.c: status == SYSTEM_LINK_STATUS_SOK : failed !!!
  • take this flow
    UseCase: chains_vipSingleCameraFrameCopy

    Capture -> Dup

    Dup -> Alg_FrameCopy (A15) -> Merge

    Dup -> Alg_FrameCopyAfterLut (A15) -> Merge

    Merge -> Display_Video

    GrpxSrc -> Display_Grpx

    both are framecopy algorithm how can i merge input from different queue and display it?
  • Yash,

    Is this issue resolved?

    I see my colleague Sujith helping you in other thread so I guess we can close this thread. Thanks.

    https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/648623

  • hey prasad

    could you please help me out about maximum number of lcd supported by tda2xx?

    I have seen lcd.h which stat that max is supported is 2 so would it still support if i change and try to connect 3 lcd altogether?

  • Hi Yash,

    TDA2xx supports three LCDs. You can change this macro to 3 and make necessary display controller changes (overlay, etc.) and have three LCD displays.

    Regards,
    Rishabh
  • Hi Yash,

    The frame-copy support processing of single channel. You will have to update this plugin to support multiple channels.

    Regards, Sujith