技术开发 频道

Android OMAP平台OpenMax IL的硬件实现

  【IT168技术】本文主要个大家介绍OMAP平台OpenMax IL的硬件实现过程。其中包括TI OpenMax IL实现的结构和机制,TI OpenMax IL的核心和公共内容,一个TI OpenMax IL组件的实现三个部分。

  Android的开源代码中,已经包含了TI的OpenMax IL层的实现代码,其路径如下所示:

  hardware/ti/omap3/omx/

  其中包含的主要目录如下所示。

  system:OpenMax核心和公共部分

  audio:音频处理部分的OpenMax IL组件

  video:视频处理部分OpenMax IL组件

  image:图像处理部分OpenMax IL组件

  TI OpenMax IL实现的结构如图18-7所示。

  在TI OpenMax IL实现中,最上面的内容是OpenMax的管理者用于管理和初始化,中间层是各个编解码单元的OpenMax IL标准组件,下层是LCML层,供各个OpenMax IL标准组件所调用。

  TI OpenMax IL实现的公共部分在system/src/openmax_il/目录中,主要的内容如下所示。

  omx_core/src:OpenMax IL的核心,生成动态库libOMX_Core.so

  lcml/:LCML的工具库,生成动态库libLCML.so

  TI OpenMax IL的视频(Video)相关的组件在video/src/openmax_il/目录中,主要的内容如下所示。

  prepost_processor:Video数据的前处理和后处理,生成动态库libOMX.TI.VPP.so

  video_decode:Video解码器,生成动态库libOMX.TI.Video.Decoder.so

  video_encode:Video编码器,生成动态库libOMX.TI.Video.encoder.so

TI OpenMax IL实现的结构和机制

  ▲图18-7 TI OpenMax IL实现的结构

  TI OpenMax IL的音频(Audio)相关的组件在audio/src/openmax_il/目录中,主要的内容如下所示。

  g711_dec:G711解码器,生成动态库libOMX.TI.G711.decode.so

  g711_enc:G711编码器,生成动态库libOMX.TI.G711.encode.so

  g722_dec:G722解码器,生成动态库libOMX.TI.G722.decode.so

  g722_enc:G722编码器,生成动态库libOMX.TI.G722.encode.so

  g726_dec:G726解码器,生成动态库libOMX.TI.G726.decode.so

  g726_enc:G726编码器,生成动态库libOMX.TI.G726.encode.so

  g729_dec:G729解码器,生成动态库libOMX.TI.G729.decode.so

  g729_enc:G720编码器,生成动态库libOMX.TI.G729.encode.so

  nbamr_dec:AMR窄带解码器,生成动态库libOMX.TI.AMR.decode.so

  nbamr_enc:AMR窄带编码器,生成动态库libOMX.TI.AMR.encode.so

  wbamr_dec:AMR宽带解码器,生成动态库libOMX.TI.WBAMR.decode.so

  wbamr_enc:AMR宽带编码器,生成动态库libOMX.TI.WBAMR.encode.so

  mp3_dec:MP3解码器,生成动态库libOMX.TI.MP3.decode.so

  aac_dec:AAC解码器,生成动态库libOMX.TI.AAC.decode.so

  aac_enc:AAC编码器,生成动态库libOMX.TI.AAC.encode.so

  wma_dec:WMA解码器,生成动态库libOMX.TI.WMA.decode.so

  TI OpenMax IL的图像(Image)相关的组件在image/src/openmax_il/目录中,主要的内

  容如下所示。

  jpeg_enc:JPEG编码器,生成动态库libOMX.TI.JPEG.Encoder.so

  jpeg_dec:JPEG解码器,生成动态库libOMX.TI.JPEG.decoder.so

0
相关文章