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.

OSD blinking and OSD harm the performance

Expert 1840 points

I am working with dm8147 TI CPU and dvsdk 3.5. We modified the full feature use-case to support 3 channel: 1. Full HD H264 high profile, 2. D1 H264 High profile, 3. QVGA H264 High Profile. The system work ok without OSD. Whenever We turn on the OSD (3 OSD wins for  1channel) the frame rate look like down. You can check out the log in below image.

Beside of that the OSD in channel 3 was blinked. for me, I think this problem came from syncronization in OSD imprinting at M3 VPSS, but actually I have no clear solution for it. Please give me a hand some instructions. 

Thank you very much !

  • Are you still facing this issue? Can you check when you enable does the ARM load goes significantly up? 

  • I still face to this  issue. I figure out that my OSD works smoothly with none transparency mode. I turned on maximum 13 OSD windows with big size on 3 stream but everything looked ok. But whenever I apply user transparency for just only 1 or 2 medium size of OSD windows, the situation is so bad, the frame rate slow down to 20 or even 13 fps. I think the TI user tranparency OSD is too heavy compare to none transparency mode. Do I have some room to improve it because I need 3 streams work in 25 fps with at least 2 big transparency OSD windows.I really appreciate if you can suggest to me a door to continue.

    - during testing, I used arm_loading app to check but everything look ok with around 40% CPU used.

    Thanks 

  • Bioz,

    Since you are rendering the OSD on each frame before encode, and its done using software, it might be tough to resolve this quickly. One option left will be to trying to optimize the swosd libary. 

  • Dear Renjith Thomas,

    About the SWOSD LIb, we dont have source code, so it is impossible. The software architecture, we are using MCFW framework which come from TI. We just follow the OSD example which already built in VPSS M3 and extend it to support more custom OSD by using IMAGE OSD. PLease give me more detail for the optimization in this case.

    Thanks

  • Dear Bioz,

    If you don't the source its difficult. Since its a software library, there is nothing much to do from outside, other than optimizing the code. I think we've reached a dead end.

  • Dear Renjith Thomas,

    I think what TI talked about SWOSD performance in OSD guide of DVSDK might just apply for None transparency mode. In fact, if we use user transparency with just only 2 medium size OSD windows for all 3 channels, system should slow down and frame rate should be decreased. The problem is Ti was not mentioned this clearly in document and None transparency mode is not popular in real system now a day.   It is very disappointed. I really hoped for a solution but now I may accept to be died. Thank you for your help!