Intel Media SDK 介绍

随着计算机硬件技术和软件技术的发展,数字媒体技术发展迅速,但是数字视频等为代表的关键技术的开发和应用有着较大的难度。如在软件开发方面,数字视频的编解码工作就是一件非常耗时、繁琐的工作。一方面,数字视频编解码本身的算法具有复杂性,而且行业内的数字视频编解码的标准也有很多;另一方面,针对不同的硬件平台的特点和优势,往往在实现上也会有所不同。因此,这种复杂性可能会迫使很多软件开发团队将精力花在这些细节上,而妨碍了它们将精力投入到产品的其它的更能吸引客户的特色上。

   针对上述软件存在的问题,Intel媒体开发库(The Intel® Media Software Development Kit)提供了一个对数字视频的通用解决方案,该解决方案支持多种图形平台(graphics platforms),实现了通用功能,能对数字视频进行预处理、编解码、以及不同编码格式的转换。该开发包支持现有的Intel图形组件以及未来的Intel图形架构Larrabee(Larrabee是Intel

表示,Larrabee与AMD、NVIDIA的GPGPU(通用计算图形处理器)技术不同,后两者分别使用Stream Processing(流处理)和CUDA(统一计算设备架构)来满足对GPGPU计算的需求。而Larrabee基于传统的x86架构,它既可用在显卡上,也可用作一个特殊的x86处理器),同时,该开发包还支持纯软件的实现方式,第三方编解码器以及其他的具有硬件加速的图形产品(graphics products)

   以前,开发人员可能需要掌握各种各样的图形架构(graphics architectures)并做具体的实现。Media SDK的问世可以让开发人员从这种繁琐的事务中解放出来。一些软件业的巨头已经采用Media SDK来充分利用他们的硬件加速和多核多线程的优势。

   在Media SDk中,对数字视频的一些关键核心的编码、解码算法来自于Intel IPP库,并在此基础上对处理性能进行了优化和提高。通过整合,Intel Media SDK提供了一组容易使用,功能强大丰富的API。这种丰富性特别表现在其支持开放的体系结构,除能支持Intel 的图形处理芯片和体系结构外,很容易扩展,从而支持任何第三方的图形硬件解决方案(graphics hardware solutions)和编解码方案。

Intel Media SDK的软件体系结构

 Media SDK高层的软件体系结构如图所示,SDK的编程结构是通过库的分发层(Dispatcher layer)暴露给应用程序的。该层提供了通用的数字视频预处理、编解码的接口。同时,该层还有一个重要的重定向的功能,该功能的实现步骤为:

1、  分发器(dispatcher)定位当前的显卡的设备和驱动;

2、  根据定位去SDK中查找最合适的实现方式;

如果没有找到适合的平台相关的实现方式,dispatcher会定位到SDK中用软件实现的方式

你可能感兴趣的:(intel,Media,sdk,c++)