I recently got my h.264 encode application running on our dm368 board. I'm encoding D1 resolution from the composite input, streaming RTP to the network, and am having performance problems. At D1 resolution I can only achieve 28.5 fps. At 1/2 D1 I can get the full 29.97 fps We've got our board clocked at 432Mhz for the arm and 340Mhz for the DDR. The DM365EVM with the same application only gets about 22fps @ D1 res so I know that our board performance is not the issue.
I'm using the encode application in the dvsdk-demos directory (dvsdk_4_00_00_17 beta) as a basis for my application. So I'm using the DMAI interface. I wrote this app many months ago on the DVSDK_2 and don't recall having this problem. I was using the DM365EVM at the time. However, I didn't do any extensive testing at the time and it's possible that I never even ran at D1 resolution. But I believe I did run D1 and didn't have a performance problem
Does anyone have any idea what could be the slowdown as this is far below the stated performance of the chip?
- Is the DMAI interface inefficient?
- Is the DVSDK 4 beta known to be slow?
- Could it be a lack of available buffers causing the pipeline to choke?
I ran "top" and my app is using 80-90% CPU. Funny thing is that it says MEM is 107%. But the used and available at the top are about 30000K used and 46000K free. Also the VSZ next to %MEM shows over the 80Meg that I have for Linux. Not even sure what VSZ means.
Thanks,
John A