编写OpenMAX IL组件,从哪里开始

时间:2012-12-19 08:19:28

标签: c++ raspberry-pi openmax

我即将抓住我的覆盆子pi的视频输出,将其传递给有点环境闪电系统。 XBMC的PI播放器,omxplayer,用户解码和其他功能的OpenMAX API。

查看代码提供以下内容:
m_omx_tunnel_sched.Initialize(&m_omx_sched, m_omx_sched.GetOutputPort(), &m_omx_render, m_omx_render.GetInputPort());

据我了解,这在视频调度程序和渲染器之间设置了一个管道[S] - > [R]。

现在我的想法是写一个抓取器组件并将其插入管道[S] - > [G] - > [R]。抓取器将从帧缓冲区中提取像素并将其传递给将驱动LED的守护进程。

现在我要深入研究OpenMAX API,这看起来很奇怪。我应该从哪里开始?这是一种可行的方法吗?

最好的问候

2 个答案:

答案 0 :(得分:2)

如果您想要解码数据,那么就不要发送给渲染器。而不是渲染,取出数据并做任何你想做的事情。解码数据应从video_decode OpenMAX IL组件的输出端口获取。我想您还需要设置正确的输出像素格式,因此将组件输出端口设置为您需要的正确格式,因此转换由GPU完成(YUV或RGB565可用)。

答案 1 :(得分:0)

起初我认为你应该在相机组件的输出上附加一个缓冲区,在CPU中用那个帧做你想做的一切,并通过附加到渲染的输入端口的缓冲区发送一个帧,它不会这是一项微不足道的任务,因为在树莓上几乎没有关于OpenMax的文档。

最佳起点: https://jan.newmarch.name/RPi/

手上最好的地方: http://home.nouwen.name/RaspberryPi/documentation/ilcomponents/index.html

下一个最佳位置:源代码分布在互联网上。

祝你好运。