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

相关推荐
给算法爸爸上香5 小时前
yolo tensorrt视频流检测软解码和硬解码
yolo·ffmpeg·视频编解码·tensorrt·nvcodec
dwp114717060712 小时前
在Windows上基于MSYS2 UCRT64工具链编译ffmpeg源码
windows·ffmpeg
专业开发者16 小时前
开发者可从蓝牙 ® 低功耗音频(Bluetooth® LE Audio)中获得的 4 大功能
物联网·ffmpeg·音视频
dwp114717060716 小时前
在Windows上基于MSYS2 MSVC工具链编译ffmpeg源码
windows·ffmpeg
筏.k1 天前
FFmpeg 视频解码入门:H264 软解码器简单示例
ffmpeg·音视频
hk11241 天前
【音视频/边缘计算】2025年度H.265/HEVC高并发解码与画质修复(Super-Resolution)基准测试报告(含沙丘/失控玩家核心样本)
ffmpeg·边缘计算·音视频开发·h.265·测试数据集
筏.k2 天前
FFmpeg 视频解码进阶:H264_CUVID 硬解码器简单示例
ffmpeg·音视频
auspicious航2 天前
数据库同步技术演进:从备份转储到实时CDC的DBA实战指南
数据库·ffmpeg·dba
小馬佩德罗3 天前
如何将x264 x265的动态库编译入Linux系统中的FFmpeg源码 - x264库编译
linux·ffmpeg·x264
Black蜡笔小新4 天前
视频融合平台EasyCVR融合无线监控,打造智能高效安防解决方案
ffmpeg·音视频