yuv格式介绍与opengl 显示 yuv数据

目录

 

yuv数据介绍:

yuv444

yuv420

yuv422

Opengl显示yuv数据

提取数据

创建纹理

shader显示


yuv数据介绍:

yuv数据存储主要分3大种:yuv420、yuv444、yuv422

 

图中:空心圆表示 一个uv, 实心圆表示一个y

下面对三种格式进行一个解释:cb代表u,cr代表v。大部分数据格式再 ffmpeg的枚举类型 AVPixelFormat中都有介绍,可以拿来参考。

yuv444

yuv就是一个y对应一个uv,大多是yuv444p

  • yuv444p p表示plane模式,先存储y,然后存储u、再存储v 。

yuv420

yuv420 只是表示 4个y 共一个uv,存储方式多种(下图中:16个y 和 4个 u  4个 v,图像是 y :4x4 , uv : 2x2, 每一行可能有像素补充):

  • yuv420p: p表示plane模式,先存储y,然后存储u、再存储v  如:yyyyyyyyyyyyyyyy uuuu vvvv
  • yu12: 也是一种plane模式,如:yyyyyyyyyyyyyyyy uuuu vvvv
  • yv12:也是一种plane模式,如:yyyyyyyyyyyyyyyy vvvv uuuuuu
  • nv12:y是单独存储,uv混合存储,但第一个为u:如:yyyyyyyyyyyyyyyy uvuvuvuv
  • nv12:y是单独存储,uv混合存储,但第一个为v:如:yyyyyyyyyyyyyyyy uvuvuvuv

yuv422

yuv422 一行中连续2个y共用一个uv,存储方式多种:

  • YUV422P:p表示plane模式,存储如:yyyyyyyyyyyyyyyy uuuuuuuu vvvvvvvv(图像是 y :4x4 , uv : 2x4, 每一行可能有像素补充)
  • YUYV422 :名称代表了存储的顺序,2个y 之间夹杂一个u后面添加一个v。如:Y0 Cb Y1 Cr
  • UYVY422:名称代表了存储的顺序,如: Cb Y0 Cr Y1

Opengl显示yuv数据

提取数据

上一篇

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值