YV12和I420的区别
 
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

YV12和I420的区别 yuv420和yuv420p的区别相关推荐

  1. yuv420,yuv420p,yuv420sp,nv12,nv21,I420,YV12概念区别

    yuv420有yuv420p和yuv420sp两种.如果不加特别说明,yuv420指的就是yuv420p.而yuv420p又可分为I420与YV12,yuv420sp也可分为NV12和NV21.它们的 ...

  2. YV12,I420,YUV420P的区别与格式转换

    YV12和I420的区别 一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果 ...

  3. YV12,I420,YUV420P的区别

    YV12和I420的区别 一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Byte,RGB32的size=width×heigth×4,如 ...

  4. YUV444、YUV422、YUV420、YUV420P、YUV420SP、YV12、YU12、NV12、NV21

    前言 各种YUV格式多如牛毛啊,刚开始学起来确实很费劲,网上搜索的文章讲的并不是很明白. 各种不同的YUV格式其实只是采样方式和存储方式不同,就这两点,不同的采样方式是为了实现节省内存,不同的存储方式 ...

  5. 【Android】直播必备之YUV使用总结 —— 常用的几种格式:NV21/NV12/YV12/YUV420P的区别

    转载自 gitzzp 的博客 [Android]直播必备之YUV使用总结 -- 常用的几种格式:NV21/NV12/YV12/YUV420P的区别 转自:http://www.cnblogs.com/ ...

  6. yv12、I420、nv12、nv21相互转换

    YUV420P,Y,U,V三个分量都是平面格式,分为I420和YV12.I420格式和YV12格式的不同处在U平面和V平面的位置不同.在I420格式中,U平面紧跟在Y平面之后,然后才是V平面(即:YU ...

  7. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  8. java中的异常种类和区别以及处理机制和区别

    java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...

  9. SparkMapReduce的区别、多线程多进程的区别

    Spark&MapReduce的区别.多线程&多进程的区别 1.spark与hadoop区别: 2.Spark多线程运行, MR多进程运行 3.MR存在的问题: 4.线程和进程的区别: ...

最新文章

  1. linux查看cpu占用率_Linux 性能查看
  2. 【干货】2021新消费品牌STEP增长方法论:品牌营销与生意增长Playbook.pdf(附下载链接)...
  3. 站长工具:天和流量王绿色版 下载
  4. SharePoint 2010 自定义Ribbon实现文档批量下载为Zip文件
  5. 管理感悟:工作管理的两大要点
  6. 转载 JavaScript的24条实用建议
  7. Crackme 21
  8. 提示 使用驱动器D:中的光盘之前需要将其格式化
  9. 论win10专业版,企业版和教育版之间自由切换的方法和密钥
  10. hdu_1720 A+B Comeing
  11. 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记--章12 数字电路的辐射
  12. [操作系统精髓与设计原理笔记] Chapter2 操作系统概述
  13. 五、C语言创建桌面程序:画笔和画刷
  14. Visual Studio “另一个安装程序已开始运行。请先等它完成,然后再重试”和“正在进行其他安装,请稍后重试...”解决方法
  15. [vim] 滚动屏幕快捷键记忆
  16. Ubuntu安装deepin-wine-QQ
  17. 京东涉足B2B 叫板阿里巴巴
  18. 独立和不相关 区别及形象理解
  19. 360断网急救箱-网络连接配置有问题
  20. 小程序毕设作品之微信校园二手书交易小程序毕业设计成品(4)开题报告

热门文章

  1. 新浪sae部署微信订阅号
  2. MAC_BOOKPRO苹果电脑系统常用快捷键大全
  3. win7 无法组播的问题
  4. k3 审核流程图_K3单据使用解释及流程图明细
  5. 论文翻译-Clicks can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue
  6. 牛客网 G-送分了 QAQ 数位 dp入门
  7. 初中高中生用计算机,中学生如何科学的使用计算器?
  8. 归并排序(默认2路归并)
  9. 关于QT源代码文件的归类
  10. 题目 1020: 猴子吃桃的问题