FFMPEG中AVFrame中数据是怎么存储的

这里我介绍一个存储YUV420P颜色格式的例子:
w * h = 1920 * 1080

buf中有大小和数据指针
三个指针分别指向YUV分量,U和V分量分别是Y的1/4
在这里插入图片描述
data指向数据
在这里插入图片描述
这是矩阵步长,注意颜色空间
在这里插入图片描述

再看一个例子,这个颜色空间是NV12 或者CUDA(AV_PIX_FMT_CUDA)
这个是4:2:0 并且是Y 和UV两种方式
这里只有在buf{0]中存储了所有的数据
192010801.5=3110400,但是实际确实3133568,为什么会这样呢,暂时不知道,估计是解码后加入了其它一些吧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再看一下bgr像素格式的 AV_PIX_FMT_BGR24
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1920*3=5760


版权声明:本文为weixin_43360707原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。