微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于TMS320DM642的AVS实时解码软件优化

基于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、数字视频监控等领域,具有很好的市场应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top