OpenMAX IL的研究与应用

OpenMAX IL的研究与应用

论文摘要

由于软件和硬件平台架构的不同,多媒体应用程序只能在特定的平台和系统上运行,不利于实际的生产开发。OpenMAX IL(Integration Layer)致力于解决在众多不同的媒体系统间的移植性问题,对底层的编解码器等多媒体数据处理功能进行标准封装,可以由上层统一调用,从而实现应用程序重用性和移植性,对生产开发来说可以削减开发资金和人力,减少开发周期,提高产能和工作效率。OpenMAX IL应用程序接口定义了一组标准化的媒体组件接口,这组接口可以是开发者或平台提供者与用软件或硬件实现的多媒体编解码器集成和通信。本文研究了OpenMAX IL的基本概念和定义,包括OpenMAX IL的宏,函数,数据结构,数据类型等。详细分析了Bellagio OpenMAX IL框架的内核和组件的实现机制和IL客户端的设计流程,并基于这个框架开发硬件视频解码器组件,在Linux操作系统上与上层多媒体框架或应用程序整合,完成一个基于OpenMAX IL的多媒体应用,实现OpenMAX IL的多媒体数据处理功能。本文最前面几部分描述了OpenMAX IL的应用程序接口,它力争在一系列的平台上实现媒体组件的移植性,这些接口在系统中抽象了硬件和软件结构,每个组件和相关的转换被包装到组件接口中。OpenMAX IL应用程序接口运行用户加载,控制,连接和卸载每个独立的组件,复杂的内核结构允许IL方便的在现存的媒体框架上实现任意的媒体使用案例。第五部分的目的在于展示OpenMAX IL应用程序接口怎样在Linux的GStreamer框架中使用,使得GStreamer能够访问多媒体组件,包括平台上提供的硬件加速功能。这部分没有详细的讲述实现细节,只是展示了OpenMAX IL的应用程序接口可以怎样集成到GStreamer多媒体框架中。最后对全文进行了总结,并表明OpenMAX IL在目前最受欢迎的嵌入式系统Android中已提供接口并使用,具有良好的发展前景。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 引言
  • 1.2 国内外研究现状
  • 1.3 课题研究的内容和意义
  • 2 OpenMAX IL 基本认识
  • 2.1 关于 OpenMAX IL
  • 2.1.1 OpenMAX IL 介绍
  • 2.1.2 主要特征和优点
  • 2.2 软件层次
  • 2.3 OpenMAX IL 关键定义
  • 2.3.1 OpenMAX IL 内核
  • 2.3.2 OpenMAX IL 组件
  • 2.3.3 IL 客户端
  • 2.4 OpenMAX IL 控制应用程序接口(Control API)
  • 2.5 OpenMAX IL 常用数据类型
  • COMMANDTYPE'>2.5.1 OMXCOMMANDTYPE
  • STATETYPE'>2.5.2 OMXSTATETYPE
  • ERRORTYPE'>2.5.3 OMXERRORTYPE
  • EVENTTYPE'>2.5.4 OMXEVENTTYPE
  • 3 OpenMAX IL 内核方法
  • 3.1 内核方法返回值
  • 3.2 内核宏
  • GetComponentVersion'>3.2.1 OMXGetComponentVersion
  • SendCommand'>3.2.2 OMXSendCommand
  • GetParameter'>3.2.3 OMXGetParameter
  • SetParameter'>3.2.4 OMXSetParameter
  • GetConfig'>3.2.5 OMXGetConfig
  • SetConfig'>3.2.6 OMXSetConfig
  • GetExtensionIndex'>3.2.7 OMXGetExtensionIndex
  • GetState'>3.2.8 OMXGetState
  • UseBuffer'>3.2.9 OMXUseBuffer
  • AllocateBuffer'>3.2.10 OMXAllocateBuffer
  • FreeBuffer'>3.2.11 OMXFreeBuffer
  • EmptyThisBuffer'>3.2.12 OMXEmptyThisBuffer
  • FillThisBuffer'>3.2.13 OMXFillThisBuffer
  • UseEGLImage'>3.2.14 OMXUseEGLImage
  • 3.3 内核函数
  • Init'>3.3.1 OMXInit
  • Deinit'>3.3.2 OMXDeinit
  • ComponentNameEnum'>3.3.3 OMXComponentNameEnum
  • GetHandle'>3.3.4 OMXGetHandle
  • FreeHandle'>3.3.5 OMXFreeHandle
  • SetupTunnel'>3.3.6 OMXSetupTunnel
  • GetContentPipe'>3.3.7 OMXGetContentPipe
  • 4 OpenMAX IL 组件编写
  • 4.1 Bellagio OpenMAX IL 组件装载机制
  • 4.1.1 组件装载函数
  • 4.1.2 ST 静态组件装载器
  • 4.2 OpenMAX 组件层次
  • 4.2.1 OpenMAX IL 基类
  • 4.2.2 OpenMAX IL 派生类
  • 4.2.3 最终完全实现的 OpenMAX IL 组件
  • 4.3 基于硬件视频解码器的组件实现实例
  • 4.3.1 编写 OpenMAX IL 组件源文件
  • 5 IL 客户端的设计与实现
  • 5.1 必须实现的回调函数
  • 5.1.1 EventHandler
  • 5.1.2 EmptyBufferDone
  • 5.1.3 FillBufferDone
  • 5.2 IL 客户端实现流程
  • 5.3 应用开发
  • 5.3.1 视频解码测试应用
  • 5.3.2 GStreamer 插件应用
  • 6 总结与展望
  • 参考文献
  • 致谢
  • 个人简历
  • 在学期间发表的学术论文与研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    OpenMAX IL的研究与应用
    下载Doc文档

    猜你喜欢