我正在尝试将NV21图像从LG 3D Android手机转换为位图,以便我可以通过TCP套接字将其发送到计算机。
目前它必须通过NV21-&gt; YUV-&gt; JPEG-&gt; ByteBuffer-&gt;位图转换才能消除CPU,是否有更好的方法来削减某些转换?< / p>
谢谢
答案 0 :(得分:1)
也许电脑可以直接接受NV21缓冲?如果您坚持使用位图格式,请注意Android位图与Windows位图不同。如果您在Android端需要RGB,则可以使用此处描述的标签:yuv to rgb in assembler
答案 1 :(得分:0)
您可以使用RenderScript直接将NV21转换为位图(或字节数组)。在带有720p图像的SGS3上,我能够获得大约20 FPS。
RenderSctipt是一个Android子系统,主要作为CPU代码的原生运行(在某些神奇的情况下甚至在GPU上运行),并且可以很好地并行化以使用所有可用内核。
您可以在此处阅读更多相关信息 - Converting camera YUV-data to ARGB with renderscript