新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于TMS320DM3730的H.264编码器移植与优化方法研

基于TMS320DM3730的H.264编码器移植与优化方法研

作者:时间:2013-05-16来源:网络收藏

该指令的作用是将对象symbol排列到constant指定的列边界上以方便读取。例如DM是支持对非对齐双字的一次性读取,但是如果内存地址对齐,同一个时钟周期内可以同时进行两组双字的读取,而如果不对齐则只能读取一组。因此在定义数组时使用DATA_ALIGN指令,可以大大减少数据读取时内存地址不对齐的情况,增加程序的并行性。
3)使用最小循环次数指令MUST_ITERATE
最小循环次数指令的完整语法是:
#pragma MUST_ITERATE(min,max,multiple)
其中min和max分别代表了循环的最小和最大迭代次数,multiple表明了循环次数是其倍数。使用最小循环次数程序指令可以通过通知编译器至少进行多少次循环,那样编译器可以将min次循环进行展开进行软件流水,进行循环之间并行处理,提高程序运行速度。
3.4 汇编代码的优化
C语言编译器通常只能完成大部分的工作,这个阶段的C语言代码在DSP端运行的效率并不是很高,为了进一步改善性能,对那些算法简单但计算量大且使用很频繁的函数使用汇编语言进行编写实现,可以大大提高程序运行速度。例如快速DCT变换、SAD、量化等算法过程可以考虑用汇编语言来编写。
线性汇编是TI公司简化C6000系列DSP的汇编语言而开发设计的,介于高级语言和机器语言之间。线性汇编语言的指令系统和普通的汇编语言的指令系统基本相同。在编写线性汇编语言的时候是不需要考虑到指令的延时、寄存器的使用和功能单元的分配,C6000编译器提供了汇编优化器进行汇编优化,会综合指令的延时、寄存器的使用和功能单元的分配进行优化,让线性汇编语言尽量的进行软件流水和指令的并行处理,提高汇编的运行速度。DM的DSP核为C64x+系列,线性汇编在上面是可以完美运行的。

本文引用地址:http://www.eepw.com.cn/article/192789.htm

d.JPG


表2所示为使用CCS中的profile工具测量的一些函数的C语言函数和线性汇编函数在DM上运行时钟周期对比。

4 实验结果分析
x编码器移植成功后,使用标准CIF格式视频序列对移植和优化后的x编码器在DM3730上进行测试,测试结果如下表3所示。

e.JPG


从表3可以看出,x程序经过优化后,峰值信噪比有略微的下降,但该下降不影响整体视频效果,而编码速度得到了大大的提高。

5 结束语
文中基于DM3730平台,描述了进行x264编码器移植应该注意的主要问题,然后通过编译选项优化、内存优化、C语言代码的优化和汇编代码的优化等优化方法对x264编码器进行了优化。最后视频编码测试表明,优化的效果显著,且均值信噪比下降不多。

隔离器相关文章:隔离器原理

上一页 1 2 3 下一页

关键词: 3730 TMS 320 264

评论


相关推荐

技术专区

关闭