I420ToNV21 YV12toNV21
YUV420P,Y,U,V三个分量都是平面格式,分为I420和YV12。在I420格式(即:YUV);但YV12则是相反(即:YVU)。
YUV420SP, Y分量平面格式,UV打包格式, 即NV12。 NV12与NV21类似,U 和 V 交错排列,不同在于UV顺序。
I420: YYYYYYYY UU VV =>YUV420P
YV12: YYYYYYYY VV UU =>YUV420P
NV12: YYYYYYYY UVUV =>YUV420SP
NV21: YYYYYYYY VUVU =>YUV420SP
private void YV12toNV21(final byte[] input, final byte[] output, final int width, final int height) {
long startMs = System.currentTimeMillis();
final int frameSize = width * height;
final int qFrameSize = frameSize / 4;
final int tempFrameSize = frameSize * 5 / 4;
System.arraycopy(input, 0, output, 0, frameSize); // Y
for (int i = 0; i < qFrameSize; i++) {
output[frameSize + i * 2] = input[frameSize + i]; // Cb (U)
output[frameSize + i * 2 + 1] = input[tempFrameSize + i]; // Cr (V)
}
}
//I420 To NV21
private void I420ToNV21(final byte[] input, final byte[] output, final int width, final int height) {
//long startMs = System.currentTimeMillis();
final int frameSize = width * height;
final int qFrameSize = frameSize / 4;
final int tempFrameSize = frameSize * 5 / 4;
System.arraycopy(input, 0, output, 0, frameSize); // Y
for (int i = 0; i < qFrameSize; i++) {
output[frameSize + i * 2] = input[tempFrameSize + i]; // Cb (U)
output[frameSize + i * 2 + 1] = input[frameSize + i]; // Cr (V)
}
}
I420ToNV21 YV12toNV21相关推荐
- YV12toI420 yuv420、NV12、YV12相互转换
在录像时设置了YV12要保存图片时 YUV420P.I420.NV12.YV12格式转NV12保存图片 GLSurfaceView implements SurfaceHolder.Callback, ...
- libYUV编译成静态库以及使用
简介 Google提供了一套Image的开源库libyuv(git clone https://chromium.googlesource.com/libyuv/libyuv),实现对各种yuv数据之 ...
- yuv视频数据存储成jpg图片并裁剪小图
/**** @param data NV21视频数据* @param width NV21宽* @param height NV21高* @param left 裁剪图片顶点坐标* @param to ...
- 虹软java接摄像头_虹软人脸识别SDK在网络摄像头中的实际应用
目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容 ...
- Android录制视频-nv21转nv12姿势(libyuv使用)
Android录制视频-nv21转nv12姿势(libyuv使用) 前言 为什么需要转化? libyuv简介 实际使用 1.集成 2.修改代码 3.添加方法 4.项目中使用 总结 前言 近期接触项目当 ...
最新文章
- 和12岁小同志搞创客开发:如何选择合适的控制器?
- websocket 群/单聊 基础
- 我是如何阅读编程书的
- linux服务器调用端口超时,Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法...
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- php 链接文件名_7、php-fpm进程管理
- mysql中nchar_浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别
- html中websocket获取数据,如何使用websocket从数据库中获取数据来刷新视图
- 卡巴斯基将支持微软企业安全解决方案Forefront
- Redis—字符串和SDS
- 由SELECT ... FROM ... FOR UPDATE想到的
- Oracle grant connect, resource to user语句中的权限
- 阿里图标库iconfont下载和在旧有的iconfont中添加新的图标
- 可用性和可靠性的区别
- 域名可以用多久_一个域名能用多少年
- python进行回归分析与检验_R/python-回归分析
- 水电设计院信息管理系统1.0
- Matplotlib保存图片到文件
- URP shader 学习笔记
- C++源代码单词扫描程序(词法分析)