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 小时前
【基础学习七十】ffmpeg命令
c++·stm32·嵌入式硬件·ffmpeg
烧饼Fighting7 小时前
统信UOS操作系统离线安装ffmpeg
开发语言·javascript·ffmpeg
源文雨7 小时前
批量递归转换 mp4 为 flac/m4a 的 bash 脚本
开发语言·ffmpeg·bash·转码·mp4·m4a·flac
myjie052718 小时前
使用ffmpeg访问FileProvider 提供出去的content uri 问题
ffmpeg
小希smallxi1 天前
Java 程序调用 FFmpeg 教程
java·python·ffmpeg
小希smallxi1 天前
FFmpeg: 免费、开源、跨平台的多媒体处理工具集
ffmpeg·开源
智算菩萨1 天前
FFMpeg全解析:从“万能媒体转换器”到工程化音视频管线的底层逻辑
ffmpeg·音视频·媒体
weixin_462446232 天前
Python + FFmpeg 批量提取视频音频(支持 Windows / macOS / Linux)
python·ffmpeg·音视频
一点晖光2 天前
ffmpeg实现图片转视频缩放效果
ffmpeg·音视频
blog.pytool.com3 天前
LVGL 驱动地址自动变更为32 位的问题
ffmpeg