1
作为一个简单的问题:有没有什么办法可以将每个其他字节快速从一个数组复制到另一个数组中?最快的方法来复制阵列的每个其他字节
免责声明:我的代码已经够快了,但是我发现自己想知道是否有任何本地方法比简单的for循环更快。
问题详细信息(对于那些感兴趣的人):我将YUV字节数组分为三个独立的字节数组(Y,U和V)。如果您之前没有看到YUV阵列(采用Android标准NV21格式),则结构是Y的高度*宽度字节,后面是(高度*宽度)/ 2字节的UV数据(我们的眼睛对色度分辨率较不敏感)交错。可能的是,使用arraycopy
使用以优化Y的字节转移到专用阵列:
System.arraycopy(yuvs, 0, yArray, 0, imgSize.width*imgSize.height);
但是我复制UV部分到专用阵列如下:
for (bt_y = 544; bt_y < previewSize.height*(3.0/2.0); bt_y++) {
for (bt_x = 0; bt_x < 960;) {
uArray[UVIndex] = yuvs[bt_y*960+bt_x++];
vArray[UVIndex++] = yuvs[bt_y*960+bt_x++];
}
}
是否有一个方法那可以以某种方式接受一个“步幅”变量或可以允许以已知间隔选择元素的东西?