编写 OpenMAX IL 组件,从哪里开始
Writing an OpenMAX IL component, where to start
我即将获取我的树莓派的视频输出,将其传递给有点阿达莱特环境闪电系统。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,这似乎很奇怪。我应该从哪里开始?这是一种可行的方法吗?
此致敬意
如果你想要解码的数据,那么不要发送到渲染器。与其渲染,不如获取数据并执行任何您想做的事情。解码的数据应取自 video_decode OpenMAX IL 组件的输出端口。我想您还需要设置正确的输出像素格式,因此将组件输出端口设置为所需的正确格式,以便由 GPU 完成转换(可以使用 YUV 或 RGB565)。
首先,我认为您应该将缓冲区附加到相机组件的输出,在 CPU 中对该帧执行您想要的所有操作,并通过附加到渲染输入端口的缓冲区发送帧,这不会是一项微不足道的任务,因为关于覆盆子的 OpenMax 的文档很少。
最佳起点:https://jan.newmarch.name/RPi/
手上的最佳场所:http://home.nouwen.name/RaspberryPi/documentation/ilcomponents/index.html
下一个最佳位置:在互联网上分发的源代码。
祝你好运。
- 当回溯以零开始时,如何调试崩溃
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 如何从头开始创建 avi 文件?
- 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?
- 自一周开始以来的秒数?
- 一旦双簧管录制开始,主 UI 线程就会被阻止
- GStreamer在开始任何播放之前进行搜索
- 使 std::fstream 写入文件末尾,但从头开始读取
- 如何以毫秒为单位获取开始时间和 now() 之间的毫秒差异(以 C++为单位?
- 哪个C++规范开始支持 std::vector
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 如何在调试中通过传递引用开始
- 如何使用 picojson.h 在 c++ 中从头开始创建 json 对象
- 从特定键开始遍历地图
- 列表的有效性在插入后开始迭代器
- 尝试从头开始实现Leetcode的FizzBuzz多线程问题。收到"libc++abi.dylib: terminating"错误
- 试图修复一个错误,该错误不会让我开始编程其余部分
- 甚至在开始执行之前出现分段错误
- 编写 OpenMAX IL 组件,从哪里开始