VPU Timeout causes?

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

VPU Timeout causes?

1,014 Views
road-iq
Contributor I


I am using the VPU to encode 6 streams of NV12, 640x480x30fps video into H.264. I'm using the MX6Q at 800Mhz.

I am occasionally getting "VPU Timeout", this seems to occur more when a USB Flash drive is inserted into the USB port on my device.  What can cause the VPU timeout error to occur when encoding H.264? (1250bps).  This is using Linux 3.10

Thanks,

Mark

Labels (3)
0 Kudos
5 Replies

714 Views
road-iq
Contributor I

Not possible to reduce memory bus load short of upgrading to iMX6Q+. 

0 Kudos

714 Views
igorpadykov
NXP Employee
NXP Employee

please check that ahb and ipg clocks are running at max. values

also one can tweak GPV QoS in Table 45-5. QoS and tidemark parameters

i.MX6DQ RM, IOMUXC_GPR6,7. Try to increase cma size.

0 Kudos

714 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mark

timeout may be caused by vpu performance limits described on p.6

presentation

Q&A: MX6 VPU H.264 Dual Stream Encode Limits

Depending on system configuration limit may vary.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

714 Views
road-iq
Contributor I

So, per that presentation, I should not be having a problem.  I am running the VPU at 352Mhz, I am running 6 streams at 30fps, 640x480 resolution.  There should be ample headroom..  My encoder parameters are: "gop_size": 0, "bit_rate": 1250, "quant": 23.  Horz = 640, Vert = 480, fps = 30.  Everything else is default.

Interesting note: I've been tinkering with the MMDC arbitration priorities for VPU, IPU and PCIe (where our video frames come in).  I set their priorities as follows:

# first set PCIe write priority so that TW6869 can get its data to RAM. Highest Priority
    devmem 0xC4A104 32 0x0000000F
# next set VPU write priorities. Third Highest Priority
    devmem 0xC49104 32 0x00000006
    devmem 0x844104 32 0x00000006
# finally set IPU1 & IPU2. Second Highest Priority.
    devmem 0x20e0018 32 0x77777777
    devmem 0x20e001C 32 0x77777777

I've left the default read priorities as default (2) for VPU and PCIe. Changing the read priorities to make write make the failure occur more frequently.  Setting all priorities equal causes the problem to occur more frequently.

My memory bus load is at 82%

0 Kudos

714 Views
igorpadykov
NXP Employee
NXP Employee

figures given in presentation are for OSless case (baremetal).

memory bus load  82% is heavy loaded bus, please try to diminish it.

0 Kudos