av_malloc 与 av_free 的函数原型
一、av_malloc 函数
在ffmpeg的源码中mem.c 文件中,发现实际上它调用的还是 ptr = malloc(size),size的值是不能大于max_alloc_size ( INT_MAX) 。
void *av_malloc(size_t size)
{void *ptr = NULL;if (size > max_alloc_size)return NULL;#if HAVE_POSIX_MEMALIGNif (size) //OS X on SDK 10.6 has a broken posix_memalign implementationif (posix_memalign(&ptr, ALIGN, size))ptr = NULL;
#elif HAVE_ALIGNED_MALLOCptr = _aligned_malloc(size, ALIGN);
#elif HAVE_MEMALIGN#ifndef __DJGPP__ptr = memalign(ALIGN, size);#elseptr = memalign(size, ALIGN);#endif
#elseptr = malloc(size);
#endifif(!ptr && !size) {size = 1;ptr= av_malloc(1);}#if CONFIG_MEMORY_POISONINGif (ptr)memset(ptr, FF_MEMORY_POISON, size);
#endifreturn ptr;
}
二、av_free 函数
在ffmpeg源码中的mem.c文件中,发现实际上它调用的还是 free(ptr);
void av_free(void *ptr)
{
#if HAVE_ALIGNED_MALLOC_aligned_free(ptr);
#elsefree(ptr);
#endif
}
总结
内存的分配与释放归根结底离不开malloc 与 free函数。
av_malloc 与 av_free 的函数原型相关推荐
- FFmpeg源代码简单分析:内存的分配和释放(av_malloc()、av_free()等)
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- FFmpeg源代码简单分析-通用- 内存的分配和释放(av_malloc()、av_free()等)
参考链接 FFmpeg源代码简单分析:内存的分配和释放(av_malloc().av_free()等)_雷霄骅的博客-CSDN博客_av_malloc 内容介绍 内存操作的常见函数位于libavuti ...
- 的函数原型_相信我,跟着这个文章学习JS原型,你一定能看得懂
这两天一直在搜集关于JS的原型方面的知识,今天我来总结一下关于原型和原型链等周边相关知识,在这里做一个易于理解的解释. 如果文章有误区或者有错误,请评论欢迎指出; 首先原型是什么? 原型是js继承的基 ...
- 函数声明(函数原型)的一些关键技巧
当编译器遇到一个函数调用时,它产生代码传递参数并调用这个函数,而且接收该函数返回的值(如果有的话).但编译器是如何知道该函数期望接受的是什么类型和多少数量的参数呢?如何知道函数返回值的类型呢? 如果没 ...
- 让你费解的函数原型:Linux下的signa函数
signal函数用于向系统注册处理某一信号的函数,说白了,就是告诉系统:当某个信号发生了,执行这个函数.当signal被调用时,它返回调用前处理同意信号的函数的指针. 在signal.h头文件中,它的 ...
- m行n列最大值和最小值C语言,找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n ...
- 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
文章目录 一.设置 Oboe 音频设备 ID ( AAudio ) 二.设置 Oboe 音频设备 ID ( OpenSL ES) 三.oboe :: AudioStreamBuilder :: set ...
- 【Kotlin】apply 内联扩展函数 ( apply 函数原型 | apply 函数示例 | Kotlin 调用 Java API )
文章目录 I . 内联扩展函数 apply II . Kotlin 调用 Java API III . apply 内联扩展函数示例 ( 调用 Java API 处理图像 ) I . 内联扩展函数 a ...
- c语言scarf函数原型,scanf 函数原型.doc
scanf 函数原型.doc scanf 函数原型 scanf 函数原型 int scanf( const char *format, ... ); scanf()函数是格式化输入函数,它从标准输入设 ...
- 如何在gvim中安装autoproto自动显示函数原型
cankao: http://www.vim.org/scripts/script.php?script_id=1553 注意, 在gvim中执行的命令, :foo和:!foo 的区别, 跟vim一样 ...
最新文章
- 计算机应用技术适合女孩学吗,2021计算机应用技术女生学难吗
- 临床研究和医疗保健行业实现数据湖架构的机会和挑战
- Python学习系列day5-python基础
- rust(72)-match匹配
- 记录一个美丽的小县城
- R语言---Ubuntu中R语言更新至R4.2.1和R包devtools下载
- Java 记录(4) java 生成 UUID ,java.util.UUID 使用
- linux 添加声卡驱动,操作手册:Linux系统安装声卡驱动
- 021-云E办_职位管理功能实现
- 【Android学习之路】之从零开始做一个小项目(一)
- 呼叫中心系统和外呼机器人的高效组合
- 王者荣耀android换ios,2021王者荣耀安卓账号可以转苹果吗 2021年安卓账号转移到ios方法...
- 前后端异地、接口如何联调呢
- I.MX6 Linux mipi配置数据合成
- lammps案例:fix indent命令实现纳米摩擦及摩擦力计算
- 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图
- matlab语音加入正弦噪声,基于Matlab的语音信号去噪声处理 毕业论文.doc
- PDF字体重叠的几种情况
- 新装主机测试性能软件,如何进行电脑性能的测试
- 余姚实验学校计算机,小记者专访余姚市实验小学省信息技术特级教师许憬老师...
热门文章
- 嵌入式linux快速入门
- java程序员如何编写出优美的代码-java编程规范
- **关于小程序测试版本自己的头像与数据不显示问题**
- mysql函数返回结果集_MySQL自定义函数
- java中文乱码_Java中文乱码问题的解决方案
- 进销存excel_用Excel制作简单的进销存系统
- Hough变换原理-直线检测
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- 显示驱动版本不符 请重新启动计算机,Win10提示此NVIDIA驱动程序与此Windows版本不兼容怎么解决?...
- PDF文件编辑并去除水印