0

我正在寻找在android中将RGB帧转换为YUV(比如YUV420)的硬件加速方法。我确实看到 Renderscript 具有将 YUV 转换为 RGB 的特性。我正在寻找 RGB 到 YUV。

对于带有 Cortex-A8 和 SGX530 GPU 内核的嵌入式系统(基于 Android 4.0.3),我需要这个。我喜欢在以每秒 10 帧的速度不断变化的 720p ARGB 帧上执行此操作。在 ARM A8 内核上执行此操作是不可接受的。这就是为什么我正在寻找一种使用 GPU 计算来做到这一点的方法。我在想象基于 Renderscript 或 OpenGL 的实现可以解决这个问题。但不知道如何。

此处的博客文章http://www.mdk.org.pl/2007/11/17/gl-colorspace-conversions提供了使用 GStreamer 和 OpenGL 进行 RGB 到 YUV 转换的示例。
我正在寻找适用于 Android 的东西。

编辑:链接http://slouken.blogspot.com/2011/02/mpeg-acceleration-with-glsl.html有很好的指示。还在研究。

4

1 回答 1

1

使用GPU真的有必要吗?Cortex-A8 支持 NEON,可以像 GPU 一样快地转换帧。有一个非常好的 c 库可以处理 CPU 硬件加速:http ://code.google.com/p/libyuv/ 。

于 2013-08-30T07:46:07.600 回答