AnsweredAssumed Answered

i.MX6Q: video Buffer timestamp corruption

Question asked by Tarek El-Sherbiny on Jun 20, 2013
Latest reply on Aug 27, 2013 by Juan Antonio Gutierrez Rosas
Branched to a new discussion

Hi,

 

I'm monitoring the Buffers timestamp before and after vpu decoder. In the case of single stream the timestmap looks fine. Output buffer from VPU has the same TS of the input buffer.

When decoding multiple streams the VPU output buffer has a strange TS value for some streams while the correct value for others!

 

I have enabled VPU and ME debugging and here are the logs:


Good case:

TSM:receive2 0:00:00.000003575 size 7455

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetBitstreamBuffer()

Wr: 0x278D3EA2, Rd: 0x278D3C90, space: 3143149

calling vpu_DecUpdateBitstreamBuffer(): 7455

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecStartOneFrame(): 0, skipmode: 0

while: calling vpu_WaitForInt(500)

calling vpu_DecGetOutputInfo()

calling vpu_DecGetOutputInfo(), indexFrmDec: 0, return indexFrmDis: 4, type: 1, success: 0x1, errMB: 0, consumed: 6925

TSM:valid2 size 7455

TSM:++Receive 46:0:00:00.000003575, invalid:0, size:2 key 0x6eb490

TSM:--Send 45:0:00:00.000003465, int:0:00:00.000000049, avg:0:00:00.000000080 inkey 0x6eb5d0

 


TSM:--Send 46:0:00:00.000003575, int:0:00:00.000000110, avg:0:00:00.000000078 inkey 0x6eb490


Bad case:

TSM:receive2 0:00:00.000312055 size 7705

TSM:Jitter:0:00:00.000000000

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetOutputInfo()

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetOutputInfo(), indexFrmDec: -2, return indexFrmDis: -3, type: 1, success: 0x10, errMB: 0, consumed: 8257741

Wr: 0x2A2482CC, Rd: 0x2A2480BA, space: 3143149

calling vpu_DecUpdateBitstreamBuffer(): 7705

calling vpu_DecGetBitstreamBuffer()

TSM:Jitter:0:00:00.000000000

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecGetBitstreamBuffer()

calling vpu_DecStartOneFrame(): 0, skipmode: 0

while: calling vpu_WaitForInt(500)

calling vpu_DecGetOutputInfo()

calling vpu_DecGetOutputInfo(), indexFrmDec: 2, return indexFrmDis: 1, type: 1, success: 0x1, errMB: 0, consumed: 7175

TSM:valid2 size 7705

TSM:++Receive 3903:0:00:00.000312055, invalid:1, size:2 key 0x384492c0

TSM:Jitter:0:00:00.000000000

TSM:--Send 3902:0:00:00.033333336, int:0:00:00.000000000, avg:0:00:00.000000000 inkey 0x38449270

 

 

What is cause the TS corruption and is there a proposed solution?

 

 

 

Outcomes