《YV12和I420的区别》评注
来源:互联网 发布:中交天津工贸公司知乎 编辑:程序博客网 时间:2024/06/03 11:17
iComments:在网上搜索“YV12和I420的区别“,发现大家都援引同一篇博文,现摘抄如下:
一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit。
在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即将图像的颜色空间由RGB2YUV。因为,X264在进行编码的时候需要标准的YUV(4:2:0)。但是这里需要注意的是,虽然YV12也是(4:2:0),但是YV12和I420的却是不同的,在存储空间上面有些区别。如下:
YV12 : 亮度(行×列) + U(行×列/4) + V(行×列/4)
I420 : 亮度(行×列) + V(行×列/4) + U(行×列/4)
可以看出,YV12和I420基本上是一样的,就是UV的顺序不同。
继续我们的话题,经过第一次数据压缩后RGB24->YUV(I420)。这样,数据量将减少一半,为什么呢?呵呵,这个就太基础了,我就不多写了。同样,如果是RGB24->YUV(YV12),也是减少一半。但是,虽然都是一半,如果是YV12的话效果就有很大损失。然后,经过X264编码后,数据量将大大减少。将编码后的数据打包,通过RTP实时传送。到达目的地后,将数据取出,进行解码。完成解码后,数据仍然是YUV格式的,所以,还需要一次转换,这样windows的驱动才可以处理,就是YUV2RGB24。
YUY2 是 4:2:2 [Y0 U0 Y1 V0]
yuv420p 和 YUV420的区别 在存储格式上有区别
yuv420p:yyyyyyyy uuuuuuuu vvvvv
yuv420: yuv yuv yuv
yuv420: yuv yuv yuv
原文来自:http://zyg0227.blog.51cto.com/1043164/295479
iThinks:首先感谢原blog的分享,以下是我读完后的理解和疑问:
1.从本文可以了解 I420——YUV420,YV12——YVU420,两者在U、V的存储顺序上相反。
2. RGB24、RGB32一帧的大小文中的单位有误,非bit而是Byte,I420的数据量单位也应是Byte。
3. 文中蓝色标注部分,为何用YV12的效果就会有很大损失,本文未解释。
- 《YV12和I420的区别》评注
- YV12和I420的区别
- YV12和I420的区别
- YV12和I420的区别
- YV12和I420的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别 .
- YV12,I420,YUV420P的区别
- YV12、I420、YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12,I420,YUV420P的区别
- YV12和I420的区别 yuv420和yuv420p的区别
- YV12和I420的区别 yuv420和yuv420p的区别
- STL利用输入迭代器读入文本文件中的数据
- android开发 activity 的四种启动模式!
- 取ds的行数,FOR数组遍历,没有用foreach
- Basic Git commands
- HTML5+CSS3+JQuery1.9 输入框切换和Div失焦模拟
- 《YV12和I420的区别》评注
- 出租车费
- ORACLE ORDER BY 排序规则
- LPCTSTR和CString的关系
- C# 从exce里读取时间
- oracle update commit 后恢复
- 编程的未来
- 步步学GDB-《2》
- Struts2 Action