windows下使用vs2008编译x264支持多线程

使用x264进行编码的时候,输入命令行:x264.exe -f 25 -B 512 --threads 2 -o test.264 mobile.yuv 352x288

发现编码速度没有变化,提示:not compiled with pthread support!

需要重新编译支持多线程的x264版本。

参考:http://jmvc.blog.sohu.com/145356341.html


1. 从http://sourceware.org/pthreads-win32/ 下载pthread的win32版本,把其中的include和lib加入到VC++的引用目录中去。

2. 在libx264_vs2008项目属性的“C/C++ -> 预处理器 ->预处理器”中加入SYS_MINGW。

3. 在osdep.h文件,紧接着#ifdef USE_REAL_PTHREAD加入

#pragma comment(lib, "pthreadVC2.lib")

引用pthreadVC2.lib,重新编译。

2009年10月的77版本

4. 在x264_vs2008项目属性的“C/C++ -> 预处理器 ->预处理器”中加入HAVE_PTHREAD。

其它版本请自己根据可能的编译错误随机应变。调整项目属性意味着同时调整libx264和x264两处的属性。

经过如上调整编译出的X264就可以在--threads n //n>=2的时候用完CPU的潜力了。


备注:一开始我在两个工程项目中均加入了HAVE_PTHREAD和SYS_MINGW,结果编译出来的x264始终无法消除不支持多线程的警告。

             按照上述步骤一个工程只添加一个宏之后才成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值