zoukankan      html  css  js  c++  java
  • I420与YV12区别,目前x264仅支持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
  • 相关阅读:
    sql server等待类型
    进程死锁运行状态、进程阻塞、死锁监控
    sql server安装教程(2008 R2,图形界面安装/命令提示符安装即静默安装/无人值守安装)
    (3.7)存储引擎--索引的结构与分类
    (3.6)存储引擎--文件与数据的结构
    (3.5)存储引擎--日志
    (3.4)存储引擎--内存
    (3.3)存储引擎--数据读写
    PhoneGap and Titanium
    touch
  • 原文地址:https://www.cnblogs.com/cplusplus/p/2453223.html
Copyright © 2011-2022 走看看