Android Opencore OpenMAX学习(1)

1 OMX core methods

1)OMX_Init
2)OMX_Deinit
3)OMX_GetHandle
4)OMX_FreeHandle
5)OMX_ComponentNameEnum
6)OMX_GetComponentsOfRole
7)OMX_GetRolesOfComponent
8)OMX_SetupTunnel
9)OMX_GetContentPipe


2 The configuration parser API
除了以上methods,强烈推荐OMX核心插件库包含此API
2.1函数原型
OMX_BOOL OMXConfigParser ( OMX_PTR aInputParameters,OMX_PTR aOutputParameters);

2.2 传递参数
aInputParameters 指向如下结构
typedef struct
{
OMX_U8* inPtr; //codec 配置头部指针
OMX_U32 inBytes; //codec 配置头部长度
OMX_STRING cComponentRole; //OMX codec类型 eg "video_decoder.mpeg4"
OMX_STRING cComponentName; //OMX 组件名称
} OMXConfigParserInputs;

2.3 返回值
OMX_FALSE : 处理codec配置头部错误或不支持该格式
OMX_TURE : 正确处理codec配置头部

2.4 函数作用
填充aOutputParameters,有两种选择:audio coded or vedio codec

for audio
typedef struct
{
OMX_U16 Channels; //通道:单声道、立体声、5.1
OMX_U16 BitsPerSample; //位宽(eg16)
OMX_U32 SamplesPerSec; //采样率
} AudioOMXConfigParserOutputs;

typedef struct
{
OMX_U32 width; //检测到的视频剪辑宽度
OMX_U32 height; //检测到的视频剪辑高度
OMX_U32 profile; //参数
OMX_U32 level; //级别?
} VideoOMXConfigParserOutputs;

3 动态加载OMX内核
解释了/system/system/etc/pvplayer.cfg文件中最后一行的含义
(0xa054369c,0x22c5,0x412e,0x19,0x17,0x87,0x4c,0x1a,0x19,0xd4,0x5f),"libomx_sharedlibrary.so"

作用:将OMX内核动态加载进OpenCORE框架
位置:/system/system/etc/pvplayer.cfg
形式:(OMX Core API OsclUuid), “shared library name.so”
eg:(0xa054369c,0x22c5,0x412e,0x19,0x17,0x87,0x4c,0x1a,0x19,0xd4,0x5f),"libomx_core_vendorXYZ.so"

注意:(0xa054369c,0x22c5,0x412e,0x19,0x17,0x87,0x4c,0x1a,0x19,0xd4,0x5f) 提供独立API ID,不可修改

Rockie Cheng

来自/external/opencore/doc/omx_core_integration_guide.pdf

转自:http://hi.baidu.com/aokikyon/blog/item/de3aec337bada148ad4b5f85.html

更多相关文章

  1. Android(安卓)max17044平台驱动注册
  2. android 应用异常可以引起android系统崩溃重启
  3. Android内核学习——SearchManager分析
  4. 编译Android内核模块
  5. Android(安卓)内核与标准Linux内核的区别
  6. Android(安卓)Framework启动过程(android内核剖析笔记)
  7. android rootfs
  8. 模仿京东-上下左右滑动冲突
  9. Android(安卓)Binder机制(三) ServiceManager守护进程

随机推荐

  1. android AnimationSet
  2. android打开前置摄像头和后置摄像头
  3. Android(安卓)类菜单栏 以及 透明居中排
  4. Android的动画配置xml文件
  5. android tween动画
  6. Android官方架构组件:Lifecycle
  7. android颜色对应的xml配置值
  8. android第一天
  9. Android(安卓)RelativeLayout 相对布局
  10. Android(安卓)Input Event Dispatching