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.

TDA2PHV-ACD: Video Processing Engine Optimization

Part Number: TDA2PHV-ACD

Hello Friends,

    

I have hereby attached the performance statistics of the TIDL_OD usecase.From the performance statistics we find that the algorithm links don’t have frame drops. But the VPE link has a frame drop of 10.12 fps.Currently we are getting a frame rate of 17.7 fps after the preprocessing stage of the algorithm. We can observe from the performance statistics of the VPE link that the input fps for the link is 30.59 fps and the output fps from the link is 20.46.There is a frame drop of 10.12 fps.

 

The VPE link does color conversion from YUV_420 to RGB.It also does scaling. We have to optimize the VPE link and avoid the frame drop. I request you to assist me in optmizing the VPE for avoiding the frame drop.

Best Regards,

VijayHarman_Performance_OPP_PLUS_VPE_Drop.docx

  • Vijay,
    Per our team, could you please share with us the log of the usecase statistics (all that is printed out on the console when the user types ‘p’)? This will start helping us understand where is the bottleneck.
    John
  • Hello John,
    The attached document 'Harman_Performance_OPP_PLUS_VPE_Drop.docx' is the usecase performance statistics.Please refer the document.

    Best Regards,
    Vijay
  • Hi Vijay,

    The frame drops in VPE is not really because of the VPE itself, the latency in VPE is very less, it takes less than 2ms to process a frame. 

    VPE drops a frame when it runs out of output buffers. So this means, the link after VPE links is not returning back buffers in time..  Can you check what is this link and why it does not return frames back in time?

    Regards,

    Brijesh

  • Hello Brijesh,

       The link after VPE is IPC out link from M4.Following that is IPC In link in A15 followed by Alg_TidlPreproc link in A15.The A15 is running at highest frequency of 1500 Mhz.I am not sure why it is not returning buffers in time.Can you please point out why Alg_TidlPreproc is not returning buffers?I will correct the module accordingly.I have hereby attached the chain for your reference.

    Best Regards,

    Vijay

  • Hi Vijay,

    It may not be IPC link, please check the processing links, running after VPE link and see which link is keeping all the VPE buffer and not returning them in time..

    Rgds,
    Brijesh
  • Hi Vijay,

    Looking at the log again, it seems your ALG_TIDL takes a lot of time, on the average, it takes around 123ms. Please check if this is ok/correct, if this is the case, you will have to increase number of output buffers..

    Rgds,
    brijesh
  • Hello Brijesh,
    Currently the number of in buffers and out buffers of TIDL are given below:
    #define TIDL_NUM_IN_BUFS (16)
    #define TIDL_NUM_OUT_BUFS (16)

    To what extent can we increase the count? We have been given the source code of TIDL.It would be helpful if you give me pointers on other areas of TIDL source code that could could be changed to tweak the performance(For eg. performance improvement measures for the convolution kernels).

    Best Regards,
    Vijay
  • hi Vijay,

    Can you try increasing number of output buffers in VPE? It is VPE which is running out of output buffers, so can you try increasing it and see if it runs fine?

    Btw, i will not be able to help much for TIDL..

    Rgds,

    Brijesh