读取并处理YUV420P_Byte[]方法
来源:互联网 发布:rem js计算font size 编辑:程序博客网 时间:2024/06/16 22:53
一帧YUV420P需要拆分成三段 Y ,U, V
下面提供两种方法.关于效率请自行测试
下面提供两种方法.关于效率请自行测试
一:
byte[] data = new byte[Width * Height * 3 / 2]; byte[] dataY = new byte[Width * Height]; byte[] dataU = new byte[Width * Height / 4]; byte[] dataV = new byte[Width * Height / 4]; Buffer.BlockCopy(data, 0, dataY, 0, Width * Height); Buffer.BlockCopy(data, Width * Height, dataU, 0, Width * Height / 4); Buffer.BlockCopy(data, Width * Height * 5 / 4, dataV, 0, Width * Height / 4);
二:
// 摘要: // 从当前流中将 count 个字节读入字节数组,并使当前位置提升 count 个字节。 // // 参数: // count: // 要读取的字节数。 // // 返回结果: // 包含从基础流中读取的数据的字节数组。如果到达了流的末尾,则该字节数组可能小于所请求的字节数。 // // 异常: // T:System.IO.IOException: // 发生 I/O 错误。 // // T:System.ObjectDisposedException: // 流已关闭。 // // T:System.ArgumentOutOfRangeException: // count 为负。 public virtual byte[] ReadBytes(int count);
byte[] data = new byte[Width * Height * 3 / 2]; MemoryStream ms = new MemoryStream(data); BinaryReader reader = new BinaryReader(ms); byte[] dataY = reader.ReadBytes(Width * Height); byte[] dataU = reader.ReadBytes(Width * Height / 4); byte[] dataV = reader.ReadBytes(Width * Height / 4);
阅读全文
0 0
- 读取并处理YUV420P_Byte[]方法
- lua 读取并处理文件
- 使用XmlDocument类读取并处理xml
- perl读取文件并处理(while<>)
- shell 读取并处理文本信息
- 本地图片读取并圆角处理
- java读取并处理excel数据
- 从文件中读取信息 并处理
- [csh] 逐行读取并处理文本
- 读取yuv数据并做光流法处理
- python读取相似文件并处理
- C# 读取TXT数据并处理
- 使用QSerialport读取串口数据并处理
- python读取并处理CSV文件
- 接收ID并处理方法
- Scanner 输入数组并读取的方法
- Java读取键盘输入并输出的方法
- 远程下载文件并读取实例方法
- Codeforces Round #364 (Div. 1) A B C D E
- C复习
- Hello,world!
- 使用二层交换机进行VLAN网络划分
- 什么是Solr
- 读取并处理YUV420P_Byte[]方法
- 【数据结构】map 和 set 增、删、查、改的使用
- VS2010 数据库操作(基于Access 2013)之二
- 堆排序算法解析
- 【图解】梯度下降
- linux运行java时出错
- CCF 最大波动 JAVA 201609-1
- leetcode problem solve 1——Two Sum
- Linux指令查询