谁有比较快的转换方法,或者有谁在arm下编译成功了Theorarm,自己写的速度好慢,thx
解决方案 »
- 应用被安卓市场否了,说htc nexus one有问题。急求真机帮忙测试!!
- 在别的线程调用主线程的handler
- 菜鸟求助!onClick(DialogInterface dialog, int which){}和onClick(View v){}不同
- Android事件监听变量值传递问题,求解答
- Android EGL_BAD_ALLOC 的问题,有没有遇到并很好的解决了?
- 开发的android App,如何做帮助文档
- HorizontalScroll怎么实现下面的效果?
- android EditText的addTextChangedListener(new TextWatcher())相关问题
- 关于android背景设置问题
- android studio中所有java方法都突然报错
- ubuntu下可以导出代码UML图的工具有那些!
- android AlarmManager 的问题
不过没试过性能怎么样,或许用opengl的glsl会更块?
没真机可以测试啊。。哎。。
1. YUV420SP to YUV420P
2. YUV420转RGB565的转换函数
for (int j = 0, yp = 0; j < height; j++) {
uvp = frameSize + (j >> 1) * width;
u = 0;
v = 0;
for (i = 0; i < width; i++, yp++) {
y = (0xff & ((int) yuv420sp[yp])) - 16;
if (y < 0) y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv420sp[uvp++]) - 128;
u = (0xff & yuv420sp[uvp++]) - 128;
}
y1192 = 1192 * y;
r = (y1192 + 1634 * v);
g = (y1192 - 833 * v - 400 * u);
b = (y1192 + 2066 * u);
if (r < 0) r = 0; else if (r > 262143) r = 262143;
if (g < 0) g = 0; else if (g > 262143) g = 262143;
if (b < 0) b = 0; else if (b > 262143) b = 262143;
rgbBuf[yp * 3] = (byte)(r >> 10);
rgbBuf[yp * 3 + 1] = (byte)(g >> 10);
rgbBuf[yp * 3 + 2] = (byte)(b >> 10);
}
} 大部分都是在java中封装,在上层应用里跑肯定死慢死慢,考虑一下在callback之前就转好