论文摘要
由于软件和硬件平台架构的不同,多媒体应用程序只能在特定的平台和系统上运行,不利于实际的生产开发。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中已提供接口并使用,具有良好的发展前景。
论文目录
摘要Abstract1 绪论1.1 引言1.2 国内外研究现状1.3 课题研究的内容和意义2 OpenMAX IL 基本认识2.1 关于 OpenMAX IL2.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 OMXCOMMANDTYPESTATETYPE'>2.5.2 OMXSTATETYPEERRORTYPE'>2.5.3 OMXERRORTYPEEVENTTYPE'>2.5.4 OMXEVENTTYPE3 OpenMAX IL 内核方法3.1 内核方法返回值3.2 内核宏GetComponentVersion'>3.2.1 OMXGetComponentVersionSendCommand'>3.2.2 OMXSendCommandGetParameter'>3.2.3 OMXGetParameterSetParameter'>3.2.4 OMXSetParameterGetConfig'>3.2.5 OMXGetConfigSetConfig'>3.2.6 OMXSetConfigGetExtensionIndex'>3.2.7 OMXGetExtensionIndexGetState'>3.2.8 OMXGetStateUseBuffer'>3.2.9 OMXUseBufferAllocateBuffer'>3.2.10 OMXAllocateBufferFreeBuffer'>3.2.11 OMXFreeBufferEmptyThisBuffer'>3.2.12 OMXEmptyThisBufferFillThisBuffer'>3.2.13 OMXFillThisBufferUseEGLImage'>3.2.14 OMXUseEGLImage3.3 内核函数Init'>3.3.1 OMXInitDeinit'>3.3.2 OMXDeinitComponentNameEnum'>3.3.3 OMXComponentNameEnumGetHandle'>3.3.4 OMXGetHandleFreeHandle'>3.3.5 OMXFreeHandleSetupTunnel'>3.3.6 OMXSetupTunnelGetContentPipe'>3.3.7 OMXGetContentPipe4 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 EventHandler5.1.2 EmptyBufferDone5.1.3 FillBufferDone5.2 IL 客户端实现流程5.3 应用开发5.3.1 视频解码测试应用5.3.2 GStreamer 插件应用6 总结与展望参考文献致谢个人简历在学期间发表的学术论文与研究成果
相关论文文献
标签:组件论文; 多媒体论文; 编解码器论文; 插件论文;