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.

TDA4 multi camera application frame error issue

Hello

Now we develop on our TDA4 customer board with MAX96712 des,and success get frame with 3 YUV cameras

But some issue be found:

when use multi camera app get one or two camera frame(when app select camera number choose 1 or 2)

the channel0 camera frame always error like below:

if get three camera frame will be no problem

why have this issue? is it some error about TDA4 side?

  • add more info, use single camera application the frame also no problem

  • Hi xu ji,

    Could you please check on camera and serdes side if there is any configuration errors? Also are frame sizes configured correctly/same for all channels?

    Regards,

    Brijesh

  • yes,I check all channels conf are same frame size are 1920X1080

  • Can you also check if deserializer is able to receive same frame size for all channels? 

    Also is the lane speed sufficient to receive multiple channels of 2MP?

  • the lane speed is 800M deserializer will receive same frame size,when TDA4 display show 3 camera frame is no problem

    and when the multi app running deserializer receive all 3 camera frames all the time no matter select 1 camera 2 cameras or 3 cameras in cmd console

  • Can you please press 'p' and see if there is any channel receiving errorneous frames?

  • Enter Choice: p


    Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 50.36 % ( HWI = 0.11 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 7.30 % ( HWI = 1.26 %, SWI = 0.40 % )
    CPU: mcu2_1: TOTAL LOAD = 0.11 % ( HWI = 0. 6 %, SWI = 0. 3 % )
    CPU: c6x_1: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 278 MB/s, PEAK = 452 MB/s
    DDR: WRITE BW: AVG = 132 MB/s, PEAK = 213 MB/s
    DDR: TOTAL BW: AVG = 410 MB/s, PEAK = 665 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0.15 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 1. 6 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 1.15 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16712448 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16777216 B (100 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC2: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC2: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 97542144 B ( 9 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 1073741824 B, free = 1073741824 B ( 0 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: app_multi_cam_graph (#nodes = 2, #executions = 2034)
    NODE: CAPTURE1: : avg = 5202 usecs, min/max = 82 / 56286 usecs, #executions = 2034
    NODE: DISPLAY1: DisplayNode: avg = 11229 usecs, min/max = 59 / 35211 usecs, #executions = 2034

    PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0
    PERF: TOTAL: avg = 16665 usecs, min/max = 16299 / 17013 usecs, #executions = 540

    PERF: TOTAL: 60. 0 FPS

    [MCU2_0] 104.238688 s: ==========================================================
    [MCU2_0] 104.238774 s: Capture Status: Instance|0
    [MCU2_0] 104.238834 s: ==========================================================
    [MCU2_0] 104.238880 s: overflowCount: 0
    [MCU2_0] 104.238912 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 104.238941 s: frontFIFOOvflCount: 0
    [MCU2_0] 104.238967 s: crcCount: 0
    [MCU2_0] 104.238989 s: eccCount: 0
    [MCU2_0] 104.239012 s: correctedEccCount: 0
    [MCU2_0] 104.239038 s: dataIdErrorCount: 0
    [MCU2_0] 104.239063 s: invalidAccessCount: 0
    [MCU2_0] 104.239089 s: invalidSpCount: 0
    [MCU2_0] 104.239114 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 104.239142 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 104.239169 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 104.239197 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 104.239241 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 104.239297 s: 0 | 2037 | 2035 | 1020 | 0 |

    error frame is 0

  • hi xu,

    As i understood, it works fine in single channel mode, issue comes only when you use dual channel. So could you please share the stats for dual channel mode? 

    Regards,

    Brijesh

  • hello

    no,single channel have issue,the log when issue happened I get,only three channel works fine

  • There is no error reported by CSIRX, no short frame/long frame.. There is no overflows etc.. only the dropped frames. .For the dropped frames, can you try increasing number of buffers at the capture output and try it again? 

  • when use three channel frame fine but press p the log also shows frame dropped, I think the frame drop have no matter with the frame error

  • Does the APP_BUFFER_Q_DEPTH mean number of buffers?

  • Yes, this is macro mostly used in tivxSetNodeParameterNumBufByIndex API call to ask framework to allocate these many number of output frames.. 

  • I change APP_BUFFER_Q_DEPTH from 4 to 8,but also have frame drop both 1channel and 3channels

    but 3channels no frame error  1channel have frame error

    log:

     Enter Choice: [MCU2_0] 74.549872 s: ==========================================================
    [MCU2_0] 74.549974 s: Capture Status: Instance|0
    [MCU2_0] 74.550016 s: ==========================================================
    [MCU2_0] 74.550055 s: overflowCount: 0
    [MCU2_0] 74.550082 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 74.550140 s: frontFIFOOvflCount: 0
    [MCU2_0] 74.550171 s: crcCount: 0
    [MCU2_0] 74.550196 s: eccCount: 0
    [MCU2_0] 74.550222 s: correctedEccCount: 0
    [MCU2_0] 74.550247 s: dataIdErrorCount: 0
    [MCU2_0] 74.550274 s: invalidAccessCount: 0
    [MCU2_0] 74.550299 s: invalidSpCount: 0
    [MCU2_0] 74.550327 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 74.550354 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 74.550383 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 74.550412 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 74.550458 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 74.550516 s: 0 | 487 | 485 | 239 | 0 |

     Enter Choice: [MCU2_0] 172.745176 s: ==========================================================
    [MCU2_0] 172.745261 s: Capture Status: Instance|0
    [MCU2_0] 172.745303 s: ==========================================================
    [MCU2_0] 172.745344 s: overflowCount: 0
    [MCU2_0] 172.745372 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 172.745403 s: frontFIFOOvflCount: 0
    [MCU2_0] 172.745428 s: crcCount: 0
    [MCU2_0] 172.745450 s: eccCount: 0
    [MCU2_0] 172.745476 s: correctedEccCount: 0
    [MCU2_0] 172.745502 s: dataIdErrorCount: 0
    [MCU2_0] 172.745528 s: invalidAccessCount: 0
    [MCU2_0] 172.745555 s: invalidSpCount: 0
    [MCU2_0] 172.745582 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 172.745611 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 172.745640 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 172.745669 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 172.745715 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 172.745772 s: 0 | 4829 | 4827 | 2428 | 0 |
    [MCU2_0] 172.745827 s: 1 | 211 | 209 | 116 | 0 |
    [MCU2_0] 172.745883 s: 2 | 211 | 209 | 116 | 0 |

      

  • And when I changed APP_BUFFER_Q_DEPTH from 4 to 10, the application can not run success,why?

  • Hi Brijesh,

    could you help my issue?

  • Hi xu ji,

    Q_Depth of 10 is just too high, can you try 5 or 6 first? Also from the below stats, it looks like only channel0 is capturing... Can you please check why only channel0 is capturing? Also lot of frames are getting dropped...

    [MCU2_0] 74.550458 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 74.550516 s: 0 | 487 | 485 | 239 | 0 |

    Regards,

    Brijesh

  • with this log I only select one camera so only channel0,it is issue case

    [MCU2_0] 74.550458 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 74.550516 s: 0 | 487 | 485 | 239 | 0 |

    and I give compare log about select three cameras, it is no issue case

    [MCU2_0] 172.745715 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 172.745772 s: 0 | 4829 | 4827 | 2428 | 0 |
    [MCU2_0] 172.745827 s: 1 | 211 | 209 | 116 | 0 |
    [MCU2_0] 172.745883 s: 2 | 211 | 209 | 116 | 0 |

  • hello,

    I try 5 and 6 of Q_Depth both also have frame dropped

  • Hello xu ji,

    there are no errors reported by CSIRX. The error frame could is 0 for all channels, so i really dont think this is coming from the CSIRX/capture module.. 

    Could you please save image from CSIRX and analyze it offline? Lets see if this is really coming from capture.

    Regards,

    Brijesh

  • how to save image from CSIRX?

  • I think there is an option in the example, i guess "s" to save images to SD card.. 

  • yes, I try press ‘s’ to save before,same as display on screen,the image is error frame,at the first of this case picture show the image file

  • Hi xu ji,

    If the CSIRX is not reporting any error and captured frame has lines corrupted, i really think that this is coming from your sensor. Can you please check the sensor configuration? 

    Regards,

    Brijesh

  • hello

    I modify the deserializer config when app request 1 camera enable the des enable 1 port output when app request 3 cameras des enable 3 ports output

    then the frame both good,but from the log also have frame drop and no frame error

    I want to know why the frame drop? and if log shows frame error that means TDA4 side has some problem?

  • Hi xu ji,

    The frame drop error comes because capture driver has run out of the output buffers, may be usecase is running slower due to some node in the path. Could you please check it?

    Frame error comes when the received frame size does not match with the configured frame size. So please check your sensor output frame size and configure accordingly in the CSIRX.

    Regards,

    Brijesh 

  • hi,

    I check the frame on the screen is smooth,only log shows frame drop

    how to check node running slower? could you give some guide?

  • Hi xu ji,

    when you press 'p' on the console, it prints stats of all nodes running, including graph performance. Please check if all nodes and graph are running in realtime, as expected..

    Rgds,

    Brijesh

  • Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 50.36 % ( HWI = 0.11 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 7.30 % ( HWI = 1.26 %, SWI = 0.40 % )
    CPU: mcu2_1: TOTAL LOAD = 0.11 % ( HWI = 0. 6 %, SWI = 0. 3 % )
    CPU: c6x_1: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 278 MB/s, PEAK = 452 MB/s
    DDR: WRITE BW: AVG = 132 MB/s, PEAK = 213 MB/s
    DDR: TOTAL BW: AVG = 410 MB/s, PEAK = 665 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0.15 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 1. 6 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 1.15 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16712448 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16777216 B (100 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC2: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC2: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 97542144 B ( 9 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 1073741824 B, free = 1073741824 B ( 0 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: app_multi_cam_graph (#nodes = 2, #executions = 2034)
    NODE: CAPTURE1: : avg = 5202 usecs, min/max = 82 / 56286 usecs, #executions = 2034
    NODE: DISPLAY1: DisplayNode: avg = 11229 usecs, min/max = 59 / 35211 usecs, #executions = 2034

    PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0
    PERF: TOTAL: avg = 16665 usecs, min/max = 16299 / 17013 usecs, #executions = 540

    PERF: TOTAL: 60. 0 FPS

    [MCU2_0] 104.238688 s: ==========================================================
    [MCU2_0] 104.238774 s: Capture Status: Instance|0
    [MCU2_0] 104.238834 s: ==========================================================
    [MCU2_0] 104.238880 s: overflowCount: 0
    [MCU2_0] 104.238912 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 104.238941 s: frontFIFOOvflCount: 0
    [MCU2_0] 104.238967 s: crcCount: 0
    [MCU2_0] 104.238989 s: eccCount: 0
    [MCU2_0] 104.239012 s: correctedEccCount: 0
    [MCU2_0] 104.239038 s: dataIdErrorCount: 0
    [MCU2_0] 104.239063 s: invalidAccessCount: 0
    [MCU2_0] 104.239089 s: invalidSpCount: 0
    [MCU2_0] 104.239114 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 104.239142 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 104.239169 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 104.239197 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 104.239241 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 104.239297 s: 0 | 2037 | 2035 | 1020 | 0 |

    I think the performance is good but only has frame drop, I don't know where have problem

  • Hi,

    I think you are directly connecting capture output to display, please confirm.

    In this case, can you please try increasing the number of output frames in the capture node? 

    Regards,

    Brijesh

  • hello,

    I used the multi camera app demo, and not select ldc,the camera is YUV output,so it is directly to display?

    and how to increasing the number of output frames in the capture node?

  • hi xu ji,

    Yes, if you are not using viss, ldc and mosaic, capture output will be connected to display directly. Please try increasing value of APP_BUFFER_Q_DEPTH macro. I think default value is 4, which is less for this usecase.

    Regards,

    Brijesh

  • I changed APP_BUFFER_Q_DEPTH from 4 to 8,but not improved the frame drop,is there any other way?

  • hi xu ji,

    Looking at the stats again, it seems the capture fps is just too high, almost 192fps.. Whereas display is running at 60fsp. This is why there are lot of frame drops in the capture node. Can you please reconfigure sensor to match fps? 

    NODE: CAPTURE1: : avg = 5202 usecs, min/max = 82 / 56286 usecs, #executions = 2034

    Regards,

    Brijesh

  • static IssSensor_CreateParams gw_ar0233maxCreatePrms = {
    GW_AR0233_MAX96717_MULTI, /*sensor name*/
    0x6, /*i2cInstId*/
    {0, 0, 0, 0, 0, 0, 0, 0}, /*i2cAddrSensor*/
    {MAX_SER_0_I2C_ALIAS >> 1, MAX_SER_1_I2C_ALIAS >> 1,
    MAX_SER_2_I2C_ALIAS >> 1, MAX_SER_3_I2C_ALIAS >> 1,
    MAX_SER_0_I2C_ALIAS >> 1, MAX_SER_1_I2C_ALIAS >> 1,
    MAX_SER_2_I2C_ALIAS >> 1, MAX_SER_3_I2C_ALIAS >> 1}, /*i2cAddrSer*/
    /*IssSensor_Info*/
    {
    {
    GW_AR0233_MAX_MULTI_OUT_WIDTH, /*width*/
    GW_AR0233_MAX_MULTI_OUT_HEIGHT, /*height*/
    1, /*num_exposures*/
    vx_false_e, /*line_interleaved*/
    {
    {VX_DF_IMAGE_UYVY, 7}, /*dataFormat and MSB [0]*/
    },
    0, /*meta_height_before*/
    0, /*meta_height_after*/
    },
    ISS_SENSOR_GW_AR0233_MAX_MULTI_FEATURES, /*features*/
    ALGORITHMS_ISS_AEWB_MODE_NONE, /*aewbMode*/
    30, /*fps*/
    4, /*numDataLanes*/
    {1, 2, 3, 4}, /*dataLanesMap*/
    {0, 0, 0, 0}, /*dataLanesPolarity*/
    800, /*CSI Clock*/
    },
    3, /*numChan*/
    5233, /*dccId*/
    };

    here is the driver setting,and the sensor is output 30fps

  • Hi xu ji,

    ok, but how many channels are you capturing? Is the virtual channel id different for each channel? If the virtual channel id is same, then there is possibility that fps just becomes too high. 

    Also please note that fps (30, /*fps*/) is not really being used. So fps is really dependent on the sensor configuration. Please make sure to configure sensor for the correct fps.

    Regards,

    Brijesh

  • I used 3 channels, yes,virtual channel id diff for each other,so how to set the fps?

  • But driver reports stats for only one channel.. Which means either driver is opened only for one channel or it is just receiving frames for virtual channel id 0 only.. Can you please check if in your deserializer, all virtual channel of camera are mapped to virtual channel0?

    UB960 has this feature where input all camera can be mapped to single output virtual channel.

    [MCU2_0] 104.239241 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 104.239297 s: 0 | 2037 | 2035 | 1020 | 0 |

    Regards,

    Brijesh

  • you look the log is app request 1 camera enable

    pls check below 3 cameras enable:

    Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 50.31 % ( HWI = 0. 4 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 7.86 % ( HWI = 1.57 %, SWI = 0.37 % )
    CPU: mcu2_1: TOTAL LOAD = 0.11 % ( HWI = 0. 6 %, SWI = 0. 3 % )
    CPU: c6x_1: TOTAL LOAD = 100. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    HWA: MSC0: LOAD = 19.26 % ( 157 MP/s )
    HWA: MSC1: LOAD = 9.73 % ( 78 MP/s )


    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 1076 MB/s, PEAK = 1914 MB/s
    DDR: WRITE BW: AVG = 811 MB/s, PEAK = 1437 MB/s
    DDR: TOTAL BW: AVG = 1887 MB/s, PEAK = 3351 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0. 8 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 1.63 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 0.45 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 0.39 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16707584 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16777216 B (100 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC2: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC2: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 97542144 B ( 9 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 1073741824 B, free = 1073741824 B ( 0 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: app_multi_cam_graph (#nodes = 4, #executions = 332)
    NODE: CAPTURE1: : avg = 985 usecs, min/max = 113 / 62644 usecs, #executions = 332
    NODE: DSP-1: Convert Node: avg = 52838 usecs, min/max = 52388 / 53427 usecs, #executions = 332
    NODE: VPAC_MSC1: mosaic_node: avg = 10893 usecs, min/max = 10525 / 26783 usecs, #executions = 332
    NODE: DISPLAY1: DisplayNode: avg = 8631 usecs, min/max = 62 / 16910 usecs, #executions = 332

    PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0
    PERF: TOTAL: avg = 52903 usecs, min/max = 49294 / 57100 usecs, #executions = 222

    PERF: TOTAL: 18.90 FPS

    [MCU2_0] 77.263823 s: ==========================================================
    [MCU2_0] 77.263911 s: Capture Status: Instance|0
    [MCU2_0] 77.263952 s: ==========================================================
    [MCU2_0] 77.263990 s: overflowCount: 0
    [MCU2_0] 77.264017 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 77.264046 s: frontFIFOOvflCount: 0
    [MCU2_0] 77.264109 s: crcCount: 0
    [MCU2_0] 77.264141 s: eccCount: 0
    [MCU2_0] 77.264167 s: correctedEccCount: 0
    [MCU2_0] 77.264196 s: dataIdErrorCount: 0
    [MCU2_0] 77.264224 s: invalidAccessCount: 0
    [MCU2_0] 77.264267 s: invalidSpCount: 0
    [MCU2_0] 77.264297 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 77.264329 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 77.264358 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 77.264387 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 77.264433 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 77.264492 s: 0 | 338 | 336 | 193 | 0 |
    [MCU2_0] 77.264550 s: 1 | 338 | 336 | 193 | 0 |
    [MCU2_0] 77.264607 s: 2 | 338 | 336 | 193 | 0 |

  • ok in these performance stats, the frame drop is not because of the capture, but it is because of the color convert node. It is taking almost 53ms to process 3 frames, which is why graph is not running in real time and capture node is dropping frames. Can you please use DSS M2M node for format conversion? 

    NODE: DSP-1: Convert Node: avg = 52838 usecs, min/max = 52388 / 53427 usecs, #executions = 332

    Regards,

    Brijesh

  • I just used the multi camera app demo,could you share the code how to modify the app or give some patch?

  • Hi,

    multi-camera demo does not use color convert node on DSP1, can you please check it again? 

    For DSS based format conversion, please refer to below link.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1007456/faq-tda4vm-how-to-use-dss-m2m-for-format-conversion

    Regards,

    Brijesh

  • I don't know which is color convert node on DSP1,could u share the API name about it?

    and also I will add the patch to test

  • Hi, 

    I am not sure which node you are using. I am going by below stats. As per the stats, there is some node running on DSP-1 and it is named as Convert Node. Could you please check in your graph, capture output is connected to which node? May be it is for YUV422 to YUV420 conversion.. Because if your capture output format is YUV422, MSC supports only YUV420 format, so capture output in YUV422 format needs to be converted into YUV420 format.. 

    You could even use LDC for YUV422 to YUV420 conversion.. You could disable back mapping in LDC for this purpose.. 

    GRAPH: app_multi_cam_graph (#nodes = 4, #executions = 332)
    NODE: CAPTURE1: : avg = 985 usecs, min/max = 113 / 62644 usecs, #executions = 332
    NODE: DSP-1: Convert Node: avg = 52838 usecs, min/max = 52388 / 53427 usecs, #executions = 332
    NODE: VPAC_MSC1: mosaic_node: avg = 10893 usecs, min/max = 10525 / 26783 usecs, #executions = 332
    NODE: DISPLAY1: DisplayNode: avg = 8631 usecs, min/max = 62 / 16910 usecs, #executions = 332

    Regards,

    Brijesh

  • hello,

    your patch have build error:

    [TIARM] Compiling C test_display_m2m.c
    "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 292: error #176-D: expression has no effect
    "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 331: error #176-D: expression has no effect
    "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 343: error #18: expected a ")"
    "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 421: error #176-D: expression has no effect
    "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 429: error #176-D: expression has no effect
    5 errors detected in the compilation of "/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c".

  • Hi xu ji,

    Can you please check if you have any convert node in your application? 

    Also regarding above error, i see below for loop statement at line number 292. I dont see any error on this statement? Can you please check if you have same statement? I think it should be easy to fix these errors..

    for (wbFrmCnt = 0U ; wbFrmCnt < testParams->iterationCnt ; wbFrmCnt++)

    Regards,

    Brijesh

  • hello,

    Does below code about enable convert?

    if (obj->sensorObj.num_cameras_enabled > 1)
    {
    obj->enable_convert = 1;
    obj->enable_mosaic = 1;
    }

    and about this error:/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 343: error #18: expected a ")"

    in patch:

    +            testParams->iterationCnt = (gLoop_cnt / (taskIdx + 1U));

    how to resolve?

  • Hello,

    if (obj->sensorObj.num_cameras_enabled > 1)
    {
    obj->enable_convert = 1;
    obj->enable_mosaic = 1;
    }

    I dont see enable_convert flag in the released application. Most likely this flag with the conversion node is added on top of released code.

    and about this error:/home/xu.ji/TDA4/rtos_sdk/rtos-sdk-0703/tiovx/kernels_j7/hwa/test/test_display_m2m.c", line 343: error #18: expected a ")"

    in patch:

    +            testParams->iterationCnt = (gLoop_cnt / (taskIdx + 1U));

    I could not think there is any error in the above statement. There is no closing bracket missing. Can you try fixing in your source code?

    Regards,

    Brijesh

  • hello,

    after I apply the m2m patch frame drop also happened,and the camera frame can not show on DP screen,why?

    seems patch not improve the frame drop and have side effect.

  • hello,

    after I apply the m2m patch frame drop also happened,and the camera frame can not show on DP screen,why?

    seems patch not improve the frame drop and have side effect.

    Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 27.52 % ( HWI = 0. 4 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 9.34 % ( HWI = 1.66 %, SWI = 0.31 % )
    CPU: mcu2_1: TOTAL LOAD = 0.11 % ( HWI = 0. 6 %, SWI = 0. 3 % )
    CPU: c6x_1: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    HWA: LDC : LOAD = 14. 6 % ( 86 MP/s )
    HWA: MSC0: LOAD = 14. 9 % ( 114 MP/s )
    HWA: MSC1: LOAD = 7.11 % ( 57 MP/s )


    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 984 MB/s, PEAK = 1362 MB/s
    DDR: WRITE BW: AVG = 694 MB/s, PEAK = 958 MB/s
    DDR: TOTAL BW: AVG = 1678 MB/s, PEAK = 2320 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0. 3 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 0.18 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0.88 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 2. 2 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 0.33 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 0.28 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16707584 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16777216 B (100 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VDEC2: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC1: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_VENC2: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 131072 B, free = 131072 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 97542144 B ( 9 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 1073741824 B, free = 1073741824 B ( 0 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: app_multi_cam_graph (#nodes = 5, #executions = 160)
    NODE: CAPTURE1: : avg = 1805 usecs, min/max = 115 / 62374 usecs, #executions = 160
    NODE: VPAC_LDC1: ldc_node: avg = 10329 usecs, min/max = 10286 / 10579 usecs, #executions = 160
    NODE: VPAC_MSC1: mosaic_node: avg = 11229 usecs, min/max = 10540 / 26662 usecs, #executions = 160
    NODE: DISPLAY1: DisplayNode: avg = 8585 usecs, min/max = 59 / 16880 usecs, #executions = 160
    NODE: DSP-1: Convert Node: avg = 54250 usecs, min/max = 54129 / 56440 usecs, #executions = 160

    PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0
    PERF: TOTAL: avg = 53367 usecs, min/max = 2 / 118816 usecs, #executions = 164

    PERF: TOTAL: 18.73 FPS

    [MCU2_0] 182.739630 s: ==========================================================
    [MCU2_0] 182.739718 s: Capture Status: Instance|0
    [MCU2_0] 182.739759 s: ==========================================================
    [MCU2_0] 182.739800 s: overflowCount: 0
    [MCU2_0] 182.739832 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 182.739862 s: frontFIFOOvflCount: 0
    [MCU2_0] 182.739891 s: crcCount: 0
    [MCU2_0] 182.739916 s: eccCount: 0
    [MCU2_0] 182.739942 s: correctedEccCount: 0
    [MCU2_0] 182.739971 s: dataIdErrorCount: 0
    [MCU2_0] 182.740002 s: invalidAccessCount: 0
    [MCU2_0] 182.740031 s: invalidSpCount: 0
    [MCU2_0] 182.740084 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 182.740121 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 182.740152 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 182.740183 s: strmFIFOOvflCount[3]: 18
    [MCU2_0] 182.740229 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 182.740322 s: 0 | 939 | 937 | 555 | 0 |
    [MCU2_0] 182.740387 s: 1 | 939 | 937 | 553 | 0 |
    [MCU2_0] 182.740446 s: 2 | 939 | 937 | 553 | 0 |

1 2