行业领先的视频编解码器库添加了对MSA的支持

行业领先的视频编解码器库添加了对MSA的支持,第1张

行业领先的视频编解码器库添加了对MSA的支持, 行业领先的视频编解码器库添加了对MSA的支持,第2张

目前,数字娱乐世界正经历着十年一次的变革。随着视频流服务的日益普及,许多公司在这快速增长的市场中已开启了全新的商业模式。

值得高兴的是,行业标准组织一直努力推动行业向高分辨率视频流转变。多个团队一直致力于寻找传输视频至移动及嵌入式设备最有效的方法,包括ITU-T(H.264和H.265)和WebM项目(VP8和VP9)。

就目前的编解码器而言,其主要目的是在实现比特率显著减少的同时又保持比先前的版本相同(或更高)的质量。对于许多移动和嵌入式应用程序来说,这意味着必须优化多媒体编解码器,以应对不断增强的计算复杂度,并满足设备低功耗和低成本的需求。

行业领先的视频编解码器库添加了对MSA的支持,视频编解码器最典型的架构,第3张

视频编解码器最典型的架构

直至今天,优化过程仍然隐含了对底层硬件及某特定微架构手写汇编代码的深度理解。不过,这种方法有时却是开发人员的噩梦,因为他们必须针对不同的架构和平台分别对代码树进行维护。

行业领先的视频编解码器库添加了对MSA的支持,VP9垂直运动补偿滤波器,第4张

VP9垂直运动补偿滤波器

为解决这个问题,ImaginaTIon发布了MIPS SIMD架构(MSA)。这是一套标准化的指令,旨在满足广大计算密集型应用程序的需求。

最近,在我们网站发表的白皮书上,我们介绍了开发人员如何使用MSA技术,以灵活、可扩展及无缝跨多个平台的方式优化视频编解码器。

现在,这些优化可正式用于FFmpeg v2.8.1 (HEVC、VP9、VP8、AVC、MPEG-4/H.263、MPEG-2)下的最新视频解码器及x264下的AVC编码器。

我们使用compiler-friendly C代码开发了一个优化及跨平台内置数据类型和内部函数库,以加速MIPS P级和I级军工级CPU上视频编解码器的运行。这种新方法包括常用的数学或算术向量运算(加、减、乘、转移等),并对手工汇编代码进行了完整的替代,使之可在任何集成了MSA-capable MIPS 军工级CPU的平台上再次使用。

它还有助于增强可维护性并大量减少开发时间,使未来MSA架构代码更容易移植。代码以可读的结构顺序处理,使寄存器的使用和指令调度对编译程序更加智能。

最后补充一点,其获得的性能很具有竞争力。例如,在VP9编解码器垂直过滤的情况下,我们的指令总数减少高达10倍。

了解更多MSA和优化视频编解码器的信息,请下载官网上的白皮书。若您想了解MSA-capable军工级CPU的原型软件,我们在prpl foundaTIon 最新发布的QEMU仿真器和ImaginaTIon发布的免费Codescape SDK中集成了相关功能。更高级的用户可以联系我们获取专业版的Codescape SDK。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2539819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存