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克隆一份 实际就是加上申请空间然后再进行数据赋值

相关推荐
苏三福1 小时前
摄像头推流、拉流
ffmpeg
你好音视频6 小时前
RTSP拉流:RTP包解析流程详解
ffmpeg·音视频
大熊背7 小时前
PotPlay视频播放器YUV色彩空间不一致所导致的图像发蒙问题及优化方案
ffmpeg·色彩空间·通透度
hjjdebug8 小时前
标注 avcodec_send_packet 和 avcodec_receive_frame 函数
ffmpeg·send_packet·receive_frame
别动哪条鱼10 小时前
FFmpeg API 数据结构及其详细说明:
数据结构·ffmpeg·音视频·aac
Industio_触觉智能10 小时前
瑞芯微RK3568平台FFmpeg硬件编解码移植及性能测试实战攻略
ffmpeg·rk3588·rk3568·瑞芯微·rk3562·rk3576
别动哪条鱼15 小时前
AAC ADTS 帧结构信息
网络·数据结构·ffmpeg·音视频·aac
tokepson1 天前
关于音频处理工具FFmpeg | 笔记备注
计算机·ffmpeg·技术·记录
Hello.Reader1 天前
用纯 Go 实现一个 AES-128 加密 m3u8 视频下载器(不依赖 ffmpeg)
golang·ffmpeg·音视频·m3u8
你好音视频1 天前
RTSP推流:RTP包组装逻辑详解
ffmpeg·音视频