i.MX6Q: video Buffer timestamp corruption

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

i.MX6Q: video Buffer timestamp corruption

659 Views
Tarek
Senior Contributor I

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?

Labels (3)
0 Kudos
1 Reply

428 Views
juangutierrez
NXP Employee
NXP Employee

Hi

Are you using gstreamer for the multiple decoding? If so, can you share the pipeline used.

Also can you share how to enable the VPU and ME debugging, so I can try to reproduce the problem, please?

Thanks

0 Kudos