x264中x264_me_search_ref的被调用分析
来源:互联网 发布:破解压缩文件密码软件 编辑:程序博客网 时间:2024/05/22 16:36
该函数用于帧间预测运动矢量的搜索,在x264中被多次调用,怎么知道哪些函数调用了它呢?
void x264_me_search_ref( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc, int *p_fullpel_thresh );
#define x264_me_search( h, m, mvc, i_mvc)\
x264_me_search_ref( h, m, mvc, i_mvc, NULL )
可以故意多加一个参数,int a,这样调用函数因为参数不一致,就会报错,这样,那些调用参数就浮出水面了
void x264_me_search_ref( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc, int *p_fullpel_thresh,int a );
修改后,保存一下,执行一次make命令,编译器提示报错如下:
chase@chase-VirtualBox:~/workspace/x264$ make
gcc -Wshadow -O3 -ffast-math -m32 -Wall -I. -I. -march=i686 -mfpmath=sse -msse -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize -c -o encoder/analyse.o encoder/analyse.c
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p16x16’中:
encoder/analyse.c:1447:13: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c:1420:10: 警告: 未使用的变量‘i_MSearch_thresh’ [-Wunused-variable]
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p8x8_mixed_ref’中:
encoder/analyse.c:1558:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p8x8’中:
encoder/analyse.c:1624:9: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p16x8’中:
encoder/analyse.c:1692:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p8x16’中:
encoder/analyse.c:1757:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p4x4’中:
encoder/analyse.c:1879:9: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p8x4’中:
encoder/analyse.c:1918:9: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_p4x8’中:
encoder/analyse.c:1954:9: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_b16x16’中:
encoder/analyse.c:2108:13: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_b8x8_mixed_ref’中:
encoder/analyse.c:2401:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_b8x8’中:
encoder/analyse.c:2488:13: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_b16x8’中:
encoder/analyse.c:2567:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
encoder/analyse.c: 在函数‘x264_mb_analyse_inter_b8x16’中:
encoder/analyse.c:2661:17: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
In file included from encoder/analyse.c:4219:0:
encoder/slicetype.c: 在函数‘x264_slicetype_mb_cost’中:
encoder/slicetype.c:621:13: 错误: 提供给函数‘x264_me_search_ref’的实参太少
encoder/me.h:64:6: 附注: 在此声明
由此可知,调用x264_me_search_ref函数的包括:
x264_mb_analyse_inter_p16x16
x264_mb_analyse_inter_p8x8_mixed_ref
x264_mb_analyse_inter_p8x8
x264_mb_analyse_inter_p16x8
x264_mb_analyse_inter_p8x16
x264_mb_analyse_inter_p4x4
x264_mb_analyse_inter_p8x4
x264_mb_analyse_inter_p4x8
x264_mb_analyse_inter_b16x16
x264_mb_analyse_inter_b8x8_mixed_ref
x264_mb_analyse_inter_b8x8
x264_mb_analyse_inter_b16x8
x264_mb_analyse_inter_b8x16’
x264_slicetype_mb_cost
总共14个函数,14次调用。
- x264中x264_me_search_ref的被调用分析
- x264中x264_me_search_ref的被调用分析
- x264 - x264_me_search_ref
- x264_me_search_ref函数分析
- x264_me_search_ref函数分析
- ffmpeg调用x264编码器的过程分析
- ffmpeg调用x264编码器的过程分析
- X264的数据流分析
- x264的nal分析
- x264中率失真优化相关函数的调用关系
- X264中SATD实现分析
- X264中x264_macroblock_analyse模块分析
- ffmpeg源码分析五:ffmpeg调用x264编码器的过程分析
- ffmpeg源码分析五:ffmpeg调用x264编码器的过程分析 (转5)
- [X264] MinGW编译x264,VC中调用libx264.dll
- X264的时耗分析
- X264的时耗分析
- X264的时耗分析
- [ linux ] ubuntu12.04 安装mysql!
- 字符串IP和数字IP互转代码
- 生活中的PV操作
- ios项目icon和default图片命名规则
- 计算机网络物理层
- x264中x264_me_search_ref的被调用分析
- 从UIImage转换到NSData类型
- 计算机网络数据链路层
- VS 中PageLayout 属性设置
- 在真机运行程序的时候提示“Could not launch 'app name'”
- 为什么超级计算机多采用Linux?
- Sitemap(网站地图)
- html中表单form的相关知识
- 写给亲学生:坚定地和大家一起进步