如何使用GPU将android中的RGB帧转换为YUV?

如何使用GPU将android中的RGB帧转换为YUV?,android,opengl-es,glsl,rgb,yuv,Android,Opengl Es,Glsl,Rgb,Yuv,我正在寻找h/w加速的方式,在android中将RGB帧转换为YUV(比如YUV420)。 我确实看到Renderscript使用Intrisic来完成YUV到RGB的转换。但我正在寻找RGB到YUV。 我需要一个嵌入式系统(基于Android 4.0.3)与皮质-A8与SGX530的GPU核心这一点。我喜欢在720p ARGB帧上执行此操作,该帧以每秒10帧的速度不断变化。在ARM A8核心上执行此操作是不可接受的。这就是为什么我在寻找一种使用GPU计算的方法。 我想象Renderscript

我正在寻找h/w加速的方式,在android中将RGB帧转换为YUV(比如YUV420)。 我确实看到Renderscript使用Intrisic来完成YUV到RGB的转换。但我正在寻找RGB到YUV。

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

这里的一篇博客文章提供了使用GStreamer和OpenGL进行RGB到YUV转换的示例。
我正在寻找在Android上工作的东西。

编辑:
链接有很好的指针。还在研究。

使用GPU真的有必要吗?Cortex-A8支持霓虹灯,可以像GPU一样快速转换帧。有一个非常好的c库可以处理CPU的h/w加速:。

这是一个很好的链接。我要试一试。假设您有900MHz ARM处理器和1080p帧缓冲区,需要以每秒10-15帧的速度转换为YUV,那么这个库的cpu负载是多少?谢谢,我不知道CPU的负载会是多少。找到答案最简单的方法就是尝试一下。对于1080p@15fps,一个有根据的猜测是大约40-50%的CPU负载,尽管实际值取决于您对帧的其他操作以及如何获得它们。检查