我在DM3730上运行了位于dvsdk_demos_4_00_00_18/omap3530目录下的encode demo程序,实现对摄像头数据的采集、显示、编码和保存,摄像头的帧速率是30fps,图像大小事640*480,色彩空间是YUYV,所有功能正常,但是根据打印信息(来自于控制线程的打印信息,每隔1s打印一条,选取其中一条):
ARM Load: 213% DSP Load: 3% Video fps: 4 fps Video bit rate: 280 kbps Sound bit rate: 0 kbps Time: 00:00:22 Demo: Encode Display: VGA Video Codec: H.264 BP Resolution: 640x480 Sound Codec: N/A Sampling Freq: N/A
综合多条类似打印信息,可以了解到:1、程序的视频帧速率只有4 fps左右;2、ARM端的负载基本都在100%以上。
问题一:视频帧速率为什么这么低?为了验证视频帧速率确实如此低,我还在采集线程中加了打印时间的语句,结果显示程序每隔0.2到0.3s的时间采集一帧数据,符合4帧/秒的帧速率。但是摄像头的帧速率分明是30fps,且根据用户手册,TI提供的DSP端的编码器性能足够强大,对30fps的640*480的图像进行h264的编码处理不可能如此捉襟见肘。
问题二:ARM端的负载怎么会超过100%?这会不会就是帧速率低的原因。
希望专家予以解答。谢谢