我要克隆 AVFrame 。为此,我调用 av_frame_clone 函数。 然后,我想释放旧的AVFrame分配的所有内存。为此,我调用 av_frame_free 函数。 av_frame_free 函数不会释放按数据指示的内存。那么在ffmpeg中克隆和删除AVFrame的正确方法是什么?
感谢您的答复。
答案 0 :(得分:0)
av_frame_clone()的文档说:
创建一个引用与src相同的数据的新框架。这是一个 av_frame_alloc()+ av_frame_ref()的快捷方式。
用于 av_frame_free()的人说:
释放框架及其中的任何动态分配对象,例如 Extended_data。如果该帧是参考计数,它将是 首先未引用。
因此,将这两个功能结合起来看起来是正确的。
原始框架会发生什么?可能需要取消引用吗?