YV12,I420,YUV420P的区别
2013-10-02 14:16
239 查看
YV12和I420的区别
yuv420p就是I420格式,使用极其广泛,它的示意图:
附一个YUV播放器的源代码:http://download.csdn.net/detail/leixiaohua1020/6374065
一般来说,直接采集到的视频数据是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 : 亮度(行×列) + V(行×列/4) + U(行×列/4) I420 : 亮度(行×列) + U(行×列/4) + V(行×列/4) 可以看出,YV12和I420基本上是一样的,就是UV的顺序不同。 继续我们的话题,经过第一次数据压缩后RGB24->YUV(I420)。这样,数据量将减少一半,为什么呢?呵呵,这个就太基础了,我就不多写了。同样,如果是RGB24->YUV(YV12),也是减少一半。但是,虽然都是一半,如果是YV12的话效果就有很大损失。然后,经过X264编码后,数据量将大大减少。将编码后的数据打包,通过RTP实时传送。到达目的地后,将数据取出,进行解码。完成解码后,数据仍然是YUV格式的,所以,还需要一次转换,这样windows的驱动才可以处理,就是YUV2RGB24。 YUY2 是 4:2:2 [Y0 U0 Y1 V0] |
附一个YUV播放器的源代码:http://download.csdn.net/detail/leixiaohua1020/6374065
相关文章推荐
- hdu 1106(java)
- 学习日记杂谈: 网络浏览服务:应用netdrive
- 【原】安装、卸载、查看软件时常用的命令
- CodeForces Round #145(234F) - Fence
- 2.3.1
- servlet监听器
- YII 框架 第十天(3)网站模板创建
- hdu 4082 Hou Yi's secret
- 内存管理之伙伴算法
- KMP字符串模式匹配详解
- paip.c++ 宏的展开调试.
- 1018. Public Bike Management (27分)——深搜
- 2013南京网络赛 1002 Parade Show
- 第一次用c语言编写程序
- oracle执行计划
- JDBC基础
- ARM Linux控制CDS5516
- Linux下查看MySQL的安装路径
- WEB测试--查看网页HTML源代码
- 再说浏览器与服务器响应流程