我指的是帖子:
Android: How to integrate a decoder to multimedia framework
在此之后,我在media_codecs.xml
注册了我的新解码器(Android目前不支持)。
上述帖子的第2步要求我执行 OMX核心注册。但是,由于我对这个主题不熟悉,我无法按照步骤2进行操作。
我在C中有解码器的工作代码,并且已经移植到android。
所以我要求是否有人可以提供以下信息:
为解码器执行OMX代码注册的分步指南 目前不支持android。
我应该将我的工作C代码放在源代码树中以及如何使用 指定编译器来编译它
最后,我想告诉我,我正在研究ICS代码和 解码器源代码的输出是YUV420。
任何人都请提供上述查询的指示。提前谢谢。
答案 0 :(得分:6)
如果您不打算拥有自己的OMX Core
,那么您可以考虑将您的编解码器添加到SoftOMXComponent
插件本身,如下所述。
注意:此答案假设您具有能够重新编译<{1}}代码的部分,并且可以替换重建的库在你的平台上。
第1步:注册AOSP
组件
在显示here的OMX
源文件中,添加您的组件名称,如下所示
SoftOMXComponent
此处{ "OMX.sam.custom.h264.decoder", "sam_h264dec", "video_decoder.avc" }
表示您的组件名称,"OMX.sam.custom.h264.decoder"
表示存储在文件系统中的库名称的后缀(下面更多),"sam_h264dec"
表示解码器的作用,在此示例中是"video_decoder.avc"
视频解码器。
第2步:生成库
您的H.264
组件应构建为可动态加载的库,其名称应为OMX
,并且应放在文件系统的 / system / lib 中。
第3步:创建组件
"libstagefright_soft_sam_h264dec.so"
框架代码将查找名为Stagefright
的符号来创建组件。因此,步骤2中提到的编解码器库应该支持此功能。
通过以下步骤并假设您的编解码器createSoftOMXComponent
与OMX
扩展兼容,您应该能够集成解码器。
提示1:如果您希望始终选择组件,请确保步骤1中所述的组件名称已注册在显示的Android
数组的最顶部参考。
提示2:如果您想了解有关生成动态可加载库的主题的更多信息,可以参考kComponents
所示的代码here。< / p>