如何在stagefright媒体播放器中编写和移植OpenMAX软件视频解码器组件?

时间:2015-09-26 05:43:11

标签: android stagefright hevc openmax

我已经浏览过这个链接和其他几个链接,

  1. khronos
  2. OpenMax_Development_Guide
  3. bellagio_openmax_il_open_source_implementation_enables_developers_to_create
  4. 但是所有这些只是解释了调用序列是如何,框图等的图片,但没有解释如何编写和构建openmax组件并将其插入android。甚至用于android构建和移植的link也很复杂,它没有解释,你需要完整的源代码来编写和构建openmax插件或android源代码的一部分或没有android源代码你可以创建它

    我正在使用支持hevc硬件解码器的android OS Kitkat 4.4的firefly K3288板,但我想添加hevc软件解码器。

    如果有人知道如何编写和构建openmax hevc视频解码器组件并将其插入android中请给出一些指示。

1 个答案:

答案 0 :(得分:1)

对于如何开发OMX组件的第一个问题,您必须从头开始编写新组件或使用现有功能的模板。请参考OMXIL规范,特别是第2章

我建议您根据 Bellagio 实施编写一个可以找到here的组件。请参考omx_base_video_port.c,因为这对您的解码器开发至关重要。

另一种方法是从其中一个供应商处参考实施。在AOSP树中,从开发开始,请参考 qcom 实现为here which could provide you a good reference

注意:请注意,OMX包装器更符合状态管理,上下文管理和缓冲区管理。与您的解码器的交互是HW还是SW取决于您应该决定的驱动程序架构。完成此驱动程序体系结构后,集成到OMX应该相当容易。

关于如何集成hevc解码器的第二个问题,请参阅具有相关详细信息的this question

相关问题