gpt4 book ai didi

memory-management - 实时系统中的 FFMPEG,内存分配问题

转载 作者:行者123 更新时间:2023-12-04 23:10:37 27 4
gpt4 key购买 nike

对于我们的项目,我们计划使用 FFMPEG 进行实时解码和编码。因此,我们必须为我们读入的每一帧分配几个对象,例如 AVCodecContext、AVFrame、AVPacket。因为这是在实时系统上完成的,所以我们担心重复的内存分配和 de 会产生内存碎片。 -分配。这是一个问题吗?

最佳答案

不需要为每一帧分配这些对象。单个 AVCodecContext、AVFrame 和 AVPacket 足以处理一个流。当它需要处理数据包和帧的序列时,我们可以重用相同的 AVFrame ( av_frame_unref ) 和 AVPacket ( av_packet_unref ) 对象。
但不要忘记在最后释放所有对象(它们都有自定义删除功能)。
本教程通过示例代码 Learn FFmpeg libav the Hard Way 很好地解释了这件事
另外,您可以查看官方FFmpeg example page对于更复杂的。

关于memory-management - 实时系统中的 FFMPEG,内存分配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69620500/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com