ffmpeg内存模型

文章目录

展示图

拷贝packet

拷贝packet有两种情况

1: 两个packet的buf引用的是同一个数据缓冲空间,类似与浅拷贝

2:两个packet的buf引用的是不同的数据缓冲空间,类似与深拷贝

重要!!!

当我们进行浅拷贝的时候 AVBuffer里面的 refcount就会+1 表示有多一个指向此范围的结构体

当释放引用共享空间的packet的时候 这个计数就会-1 当计数为0的时候 就会释放掉引用的缓存空间

AVFrame也是相同的机制

注意 重要内容为
真实的数据为 avpacket 里面的avbufferRef 里面的AvBuffer

avpacket.c相关函数

av_packet_alloc 简单的赋值 里面的还有没有进行初始化的指针
av_packet_ref

如果这里有数据的话 则会简单的进行指针的拷贝

然后将相关的引用计数给+1

avframe的逻辑也差不多如此

av_packet_copy_props 拷贝全部属性AVPacket

av_packet_clone克隆一份 实际就是加上申请空间然后再进行数据赋值

相关推荐
扶尔魔ocy1 天前
【QT window】multimedia+ffmpeg实现(PCM和MP4)录音功能
qt·ffmpeg·pcm
小曾同学.com2 天前
SRT协议推拉流
ffmpeg·实时音视频·vlc·obs·srt协议·srt推拉流
小曾同学.com2 天前
NetInt 硬件编码实战转码压测
ffmpeg·netint硬件编码
扶尔魔ocy2 天前
【QT window】ffmpeg实现录音功能之AAC格式--mp4
qt·ffmpeg·视频处理
小曾同学.com2 天前
HLS协议中m3u8列表及ts文件的由来
ffmpeg·hls·ts文件·m3u8列表
skyjilygao3 天前
n8n整合ffmpeg
ffmpeg·视频编辑·n8n
别动哪条鱼3 天前
SDL 函数对各对象缓冲区的影响
网络·数据结构·ffmpeg
daidaidaiyu4 天前
FFmpeg 关键的结构体
c++·ffmpeg
扶尔魔ocy4 天前
【QT window】ffmpeg实现录音功能之无损格式--PCM
ffmpeg·pcm
止礼4 天前
FFmpeg8.0.1 源代码的深入分析
ffmpeg