public static byte[] yuv422To420(byte[] yuv422, int width, int height) {
int len = width * height;
//yuv格式数组大小,y亮度占len长度,u,v各占len/4长度。
byte[] yuv = new byte[len * 3 / 2];
int y = 0;
int u = len;
int index_y = 0, index_u = 0;
boolean is_u = true;
for (int i = 0; i < height * 2; i++) {
for (int j = 0; j < width; j = j + 4) {
yuv[y + (index_y++)] = yuv422[width * i + j];
yuv[y + (index_y++)] = yuv422[width * i + j + 2];
}
}
for (int i = 0; i < height; i = i + 2) {
int base = i * width * 2;
for (int j = base + 1; j < base + width * 2; j = j + 2) {
if (is_u) {
yuv[u + (index_u++)] = yuv422[j];
is_u = false;
} else {
yuv[u + (index_u++)] = yuv422[j];
is_u = true;
}
}
}
return yuv;
}
Java yuv422To420
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- org.springframework.beans.factory.UnsatisfiedDependencyEx...
- 1.有很多人是通过自学,比如买些专业的java书籍、或者通过网上免费视频学习、进入相应的java论坛等等。ja...