YUV420 总结 (YU12、YV12、NV12 和 NV21)

YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间。最常见的格式为 YUV420分为两种:YUV420P和YUV420SP。

YUV420P

YUV420P 为 plane平面模式,Y, U, V分量处于不同平面,即在 ffmpeg 中数据存放在 3 个数组中。
其可再细分为 YU12 和 YV12 。

YU12(I420)

该格式的数据分布如下图所示,data[0] 中存放的是 Y 数据,data[1] 中存放的是 U 数据,data[2] 中存放的是 V 数据。
其中 Y、U、V 颜色相同的为一组数据,如 Y1、Y2、Y3 和 Y4 共用一组 U1 和 V1。
在这里插入图片描述

YV12

该格式的数据分布如下图所示,data[0] 中存放的是 Y 数据,data[1] 中存放的是 V 数据,data[2] 中存放的是 U 数据。
在这里插入图片描述

YUV420SP

YUV420SP 为 semi-planar 模式,即Y和UV分为两个plane,但是UV(CbCr)为交错存储,而不是分为三个平面。即在 ffmpeg 中数据存放在 2 个数组中。
其可再细分为 NV12 和 NV21。

NV12

该格式的数据分布如下图所示,data[0] 中存放的是 Y 数据,data[1] 中存放的是 U 和 V 数据,两者交错放置,先是 U 分量,后是 V 分量。
在这里插入图片描述

NV21

该格式的数据分布如下图所示,data[0] 中存放的是 Y 数据,data[1] 中存放的是 U 和 V 数据,两者交错放置,先是 V 分量,后是 U 分量。
在这里插入图片描述

真实数据存放

真实存放数据时,为了方便运算,往往将数据进行对齐,所以真实的数据存放如下图。
以 YU12 为例子,其他格式类似。
在这里插入图片描述

参考文献:
https://blog.csdn.net/byhook/article/details/84037338
https://blog.csdn.net/Evankaka/article/details/38176025
https://www.cnblogs.com/leisure_chn/p/10290575.html

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值