将YUV NV21字节数组的Y值重映射为位图

时间:2018-12-28 14:07:07

标签: android performance renderscript

我有一个NV21字节数组(从相机中获取),我需要将其转换为黑白位图(因此我只需要字节数组中的Y值)。我尝试用Java来做,但是那太慢了。因此,我做了一些研究,发现了Renderscript,但由于输入分配与输出分配的维度不同,因此我不知道如何使用它。有人在Renderscript中有建议要这样做吗?还是有人有其他想法?预先感谢。

1 个答案:

答案 0 :(得分:1)

我通过仅绑定输出分配并通过Java代码设置输入分配来解决不同大小分配的问题。

我在关于Stackoverflow的答案中找到了解决方案,但现在找不到链接。但是几个小时前,我发布了一个问题,该脚本的结构类似。

Coding functions across multiple renderscripts to avoid duplications

输入分配在脚本中定义为属性

rs_allocation inputImg

它是通过Java设置的,方法是将表面设置为缓冲区并调用:

inputAllocation.ioReceive()

或致电:

yourScript.setAllocationName(inputImage);