VPU decoder would cache several frames before display the first beginning frame?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

VPU decoder would cache several frames before display the first beginning frame?

755 Views
kame_lqm
Contributor I

When I tried to decode real time H264 stream over VPU decoder, I received following log:

[INFO]  Display fps will be 30

[INFO]  vpu needs more bitstream in rollback mode frame_id = 0

[INFO]  Num of Error Mbs : 4656, in Frame : 0  

VPU doesn't have picture to be displayed.toutinfo.indexFrameDisplay = -3, -1

[INFO]  Num of Error Mbs : 4656, in Frame : 0  

VPU doesn't have picture to be displayed.toutinfo.indexFrameDisplay = -3, -3

VPU doesn't have picture to be displayed.toutinfo.indexFrameDisplay = -3, -3

VPU doesn't have picture to be displayed.toutinfo.indexFrameDisplay = -3, -3      

It seems that VPU decoder will cache several frames before display the first beginning frame. Why? And how can I do to display the frame in real time without any delay? Thanks a lot.

Tags (2)
0 Kudos
2 Replies

454 Views
igorpadykov
NXP Employee
NXP Employee

Hi li

one can look at below explanations and solutions for vpu latency

VPU Latency on i.MX6 

imx53 latency with h264 and udpsrc 

https://community.nxp.com/thread/308415 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

454 Views
kame_lqm
Contributor I

Hi igorpadykov,

Thanks for your nice reply. I can not find the solution in those explanations. I try to describe the detail of my question as bellow.

I transmit the H264 stream (1080p@25fps) over cable network (UDP Socket) to the imx6dl demo board (linux version),  the demo board receives the stream, and tries to decode it by VPU demo application. Now I found that VPU decoder will cache 5 frames before it decodes the first beginning frame. The total latency of the streaming is about 500ms.

But when I redirect the H264 stream from the demo board to  the cellphone over wifi, and play the stream, to total latency is just about 300ms.

So I guess the cache behavior of the VPU decoder causes the bigger latency. How can I remove the cache behavior to reduce the latency? Is there any params to set in the VPU library to ignore the cache behavior? Many thanks.

0 Kudos