我的新任务是将HEVC
的解码器(FFMPEG
)集成到Android的Stagefright
。为此,我首先需要创建一个OMX
组件,我接下来要在media_codecs.xml
中注册我的编解码器,然后在OMX
中注册OMXCore
组件。
是否有任何指南或步骤为视频解码器创建OMX
组件?其次,这个解码器只播放基本流(.bin
或.h265
文件),所以这里没有容器格式。
在为视频编解码器创建OMX
组件时,任何人都可以提供一些步骤或指南。任何类型的指针对我都很有帮助。
提前致谢。
答案 0 :(得分:2)
通常,您可以按照steps pointed in this question将解码器集成到OMX
核心。
HEVC
尚未成为OMX
IL
规范的一部分。因此,您必须在role
注册时为您的组件引入新的video_decoder.hevc
media_codecs.xml
。请检查您的OMX
核心是否支持此新role
。
如果您尝试仅播放基本流,可以考虑修改stagefright
command line utility以读取基本流数据并提供解码器。
另一种选择是修改当前recordVideo
utility以读取帧数据并创建decoder
而不是encoder
。有了这些,我认为你应该能够从命令行播放你的解码器。
编辑:如果您希望构建新的OMX
组件,我建议您参考Bellagio Component Writers Guide,它应提供有关如何构建OMX组件。这为构建新组件提供了非常全面的指南。请确保您能够通过Bellagio实施和核心实施来识别依赖关系。
此外,您可以在此处查看其他公共域OMX
实现:
http://androidxref.com/4.4.2_r1/xref/hardware/ti/omap4xxx/domx/
http://androidxref.com/4.4.2_r1/xref/hardware/qcom/media/mm-video-v4l2/vidc/
如果您之前没有构建OMX
组件,我觉得Bellagio可以作为一个很好的起始参考。 Bellagio的来源可在Sourceforge上找到。