【发布时间】:2015-03-27 09:55:38
【问题描述】:
我正在尝试使用以下代码行将视频帧的 AVFrame->data[0] 分配给 uint8_t* 缓冲区:
size_t sizeOfFrameData = mpAVFrameInput->linesize[0] * mpAVFrameInput->height;
memcpy(mFrameData, mpAVFrameInput->data[0], sizeOfFrameData);
我想知道这是否是将帧数据复制到 FFMPEG 中的 uint8_t* 变量的正确方法?
【问题讨论】:
-
您是否尝试过它是否有效(即编译并获得预期的输出)?
-
虽然程序正在编译但没有得到预期的输出
-
那么这很可能不是正确的方法(假设您的代码中没有其他错误)。
-
这对于非平面格式是正确的。对于平面格式(如 YUV),您需要对其他平面执行相同操作。