基于TMS320DM642的AVS实时解码软件优化
时间:07-31
来源:互联网
点击:
使用线性汇编
经过C语言优化的解码程序如果仍然达不到实时的要求,则需要继续进行汇编优化。与标准的汇编语言相比,采用线性汇编语言进行编程不用考虑并行指令的安排、指令延迟和寄存器的使用,以上工作均由汇编优化器自动完成,而且,所产生的代码效率可以达到手工汇编的95%"100%。
由于IDCT在程序中使用频繁,比较占用时间,且程序相对简单。本文对此进行了线性汇编优化,优化前和优化后的时间比较见表2。
QDMA的合理使用
QDMA(快速存储器直接访问)是DMA和EDMA的进一步发展,其提交传输申请的速度比DMA和EDMA快很多。实际上,QDMA是C6000中搬移数据效率最高的手段之一。QDMA支持灵活的数据传输,它可以完成一维到一维的数据传输,也可以完成二维到一维或一维到二维的数据传输。
对于数据量较大的传输,要尽量采用QDMA。本文对QDMA进行了实验,在将两场数据合并为一帧数据时,分别采用memcpy和QDMA,其时间统计见表3。
Cache的合理分配
TMS320DM642提供了256KB的片上RAM,它既可以当作普通RAM使用,也可以配置为Cache。DM642的Cache设置可以是32KB、64KB、128KB、256KB不等。设置的Cache越大,命中率越高,但留给程序使用的片内RAM也就越少。为了可以把使用频率较高的数据和代码放置在片内,本文采用了128KB的Cache和128KB片内RAM的配置方案。
采用了以上的优化策略,AVS标清视频在DM642上的解码速度达到30fps,完全满足了IPTV(25fps)实时播放的要求。
结语
AVS解码在DSP上的实时实现具有重要的意义,它可以应用到IPTV、数字视频监控等领域,具有很好的市场应用前景。
经过C语言优化的解码程序如果仍然达不到实时的要求,则需要继续进行汇编优化。与标准的汇编语言相比,采用线性汇编语言进行编程不用考虑并行指令的安排、指令延迟和寄存器的使用,以上工作均由汇编优化器自动完成,而且,所产生的代码效率可以达到手工汇编的95%"100%。
由于IDCT在程序中使用频繁,比较占用时间,且程序相对简单。本文对此进行了线性汇编优化,优化前和优化后的时间比较见表2。
QDMA的合理使用
QDMA(快速存储器直接访问)是DMA和EDMA的进一步发展,其提交传输申请的速度比DMA和EDMA快很多。实际上,QDMA是C6000中搬移数据效率最高的手段之一。QDMA支持灵活的数据传输,它可以完成一维到一维的数据传输,也可以完成二维到一维或一维到二维的数据传输。
对于数据量较大的传输,要尽量采用QDMA。本文对QDMA进行了实验,在将两场数据合并为一帧数据时,分别采用memcpy和QDMA,其时间统计见表3。
Cache的合理分配
TMS320DM642提供了256KB的片上RAM,它既可以当作普通RAM使用,也可以配置为Cache。DM642的Cache设置可以是32KB、64KB、128KB、256KB不等。设置的Cache越大,命中率越高,但留给程序使用的片内RAM也就越少。为了可以把使用频率较高的数据和代码放置在片内,本文采用了128KB的Cache和128KB片内RAM的配置方案。
采用了以上的优化策略,AVS标清视频在DM642上的解码速度达到30fps,完全满足了IPTV(25fps)实时播放的要求。
结语
AVS解码在DSP上的实时实现具有重要的意义,它可以应用到IPTV、数字视频监控等领域,具有很好的市场应用前景。
视频监控 DSP 机器视觉 解码器 滤波器 仿真 C语言 相关文章:
- 智能视频多媒体技术的应用(05-31)
- 中国安防电子产业发展现状与展望(05-31)
- ARM在数字化远程视频监控系统的应用(05-20)
- 2009视频监控:网络化及其推动的几大趋势(06-03)
- 视频录像在监控系统的发展趋势(06-03)
- 几种技术在监控中的应用(06-15)
