基于OMAP的MPEG—4实时解码器的实现
速度更快,效率更高。在使用某些库函数的时候需要按照其接口的要求调整。
《基于OMAP的MPEG—4实时解码器的实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/163282.html
(4)使用DSP内部固定的intrinsics指令,这些指令主要执行一些简单的算术操作,由于它们是由优化的汇编代码写成,因而使用它们可以提高代码执行的效率。
(5)其它一些优化考虑和措施。为了使程序的效率更高,采用了一些代码优化的措施,例如将一些循环内部展开,特别是对多重循环的控制,如果外层循环较少,可将内层循环展开,把转移条件结合起来,以减少内层与外层之间的相互联系,减少判断转移并实现并行操作。又如利用DMA来代替原有的复制函数、为方便将浮点数定点化、使用移位操作代替乘除法等。此外,在应用到多媒体通信中,采用支持数据分割的方法来有效控制无线通信中可能产生的误码。
3 测试结果
使用QCIF(176×144)的两测试码流foreman和car-phone(各编码100帧)在使用数据分割和没使用数据分割的情况下得到的解码速度(包括显示部分)如表1所示。
表1 测试结果
从表1可以看出,本文提出的方法基本上能够满足MPEG—4实时解码的需求,即使对比较复杂的使用数据分割的序列,仍能达到25帧/秒(fps)以上,图像的质量也比较好,因此适合在无线终端实现多媒体的应用。
OMAP平台因其独有的双核结构和为无线应用提供了一个强大的软硬件基础。本文结合其在MPEC—4解码中应用的实例,具体阐述了OMAP1510的软件优化开发方法,并基本上实现了实时解码,希望能对使用OMAP或准备使用的开发人员具有借鉴意义。
《基于OMAP的MPEG—4实时解码器的实现(第3页)》