FFmpeg中AVFrame.linesize的含义
Posted ichenwin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFmpeg中AVFrame.linesize的含义相关的知识,希望对你有一定的参考价值。
在第一节FFmpeg开发教程一、FFmpeg 版 Hello world中遇到一个问题,在保存YUV的时候,粗暴的使用:
fwrite(buf, 1, xsize * ysize, f);
方式去拷贝YUV数据是有问题的,得到的图片是这样的:
必须通过以下循环才能得到正确的YUV:
static void save_gray_frame(unsigned char *buf, int wrap, int xsize, int ysize, char *filename)
{
FILE *f = NULL;
int i = 0;
f = fopen(filename, "w");
fprintf(f, "P5\\n%d %d\\n%d\\n", xsize, ysize, 255);
![](https://img2018.cnblogs.com/blog/919516/201905/919516-20190510142313623-420164045.jpg)
for (i = 0; i < ysize; i++) {
fwrite(buf + wrap * i, 1, xsize, f);
}
//fwrite(buf, 1, xsize * ysize, f);
fclose(f);
}
网友解答:Understanding of AVFrame.linesize[]
以上是关于FFmpeg中AVFrame.linesize的含义的主要内容,如果未能解决你的问题,请参考以下文章