如何通过开源API进行DSP视频处理
再剩有帧可供比较。
另外,管道中的所有元件都使用共同的时钟,以便于这些活动的进行。幸运的是,所有这些决策都由GStreamer内核库中的音频视频sink基类来完成。这样一来,AV同步的复杂性大部分都在用户那里被转移了。
以插件形式开发的接口
TI开发了一种GStreamer变换过滤器插件,它利用DSP来进行视频解码,运行于ARM上,使用Linux操作系统。TI还提供有Linux外设驱动器,在驱动器接口和编解码引擎API方面符合标准开源机构的要求,后者注意了DSP编程的相当大部分的复杂性。由硬件制造商提供的API,事先已针对硬件实现做了优化。如果改用新的硬件,无需改变应用代码就可直接替以新的驱动器。这种方案大幅度降低了视频开发的成本和交付周期。
硬件的计算资源以一种最优方式被执行,无需任何汇编编程。其中包括很多复杂的操作,比如DSP资源的最佳利用,和基于硬件的加速引擎;链接模式(chained mode)下增强型直接存储器访问(Enhanced Direct Memory Access)外设的使用,以提高数据传输效率;以及中断模式和tasklet模式的数据包处理,以灵活满足不同应用的要求。
由于GStreamer是一种非常流行、广为人知的架构,它已成为数字视频开发的一种标准,在这种环境中充分利用 DSP优势的能力使得编程人员不再需要学习专用DSP编程语言。
该方案还易于把DSP的功能和GPP内核上运行的典型应用的一些其他要求集成在一起。利用其他GStreamer插件,可以把解码编码与数字视频应用所需的其他操作相结合。这种多媒体架构通过把各种本来需要手工编码的操作整合在一起来实现集成。
总而言之,这一新接口能够利用GStreamer Linux多媒体构架来充分发挥TI的DaVinci处理器平台的软件基础架构的优势。这种整合型的基础架构提供了灵活的构架,能够适应新一代多媒体编解码器的要求。
该软件架构可以实现各式广泛的视频产品的设计。利用这种开源结构,能为视频设备设计人员提供社群支持、稳健的基础架构,从而缩短上市时间。
作者:Rishi Bhattacharya
系统和软件架构师
德州仪器公司
- 一种输出格式可控的多码率LDPC编码器实现(11-06)
- 基于DM365的视频编码器的硬件设计(10-15)
- 音视频SoC测试要求与应用介绍(07-20)
- JPEG2000编码器IP核设计,包括具体算法与结构(01-05)
- H.264在ADSP-BF561上的实现与优化(05-27)
- 一种简单串行鼠标控制的单片机实现(03-19)