X264多线程

 

 1从http://sourceware.org/pthreads-win32/ 下载pthread的win32版本 ,

2 对libx264工程 在项目属性的“C/C++ -> 预处理器 ->预处理器”中加入HAVE_PTHREAD。

 

3 对libx264工程 添加项目依赖项pthreadVC2.lib,VC++目录包含目录和库目录配置好(来自下载的pthread)。

会生成新的支持多线程的libx264.lib,pthreadVC2.dll 放到可执行文件目录下。

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

 

640x480大小单线程结果:

x264 [info]: mb I I16..4: 13.0% 0.0% 87.0%
x264 [info]: mb P I16..4: 2.9% 0.0% 10.2% P16..4: 46.6% 24.7% 6.2% 0.0% 0
.0% skip: 9.4%
x264 [info]: SSIM Mean Y:0.9606105
x264 [info]: PSNR Mean Y:36.976 U:43.489 V:41.975 Avg:38.185 Global:38.146 kb/s:
3462.10

encoded 100 frames, 11.69 fps, 3463.01 kb/s

 

--threads 8结果:

x264 [info]: mb I I16..4: 13.0% 0.0% 87.0%
x264 [info]: mb P I16..4: 2.9% 0.0% 10.6% P16..4: 46.5% 24.5% 6.2% 0.0% 0
.0% skip: 9.3%
x264 [info]: SSIM Mean Y:0.9606575
x264 [info]: PSNR Mean Y:36.985 U:43.499 V:41.984 Avg:38.194 Global:38.153 kb/s:
3477.98

encoded 100 frames, 15.26 fps, 3478.90 kb/s

 

 另外:--no-asm 选项不使用汇编指令,要慢很多很多,之前一直带了这个选项.

你可能感兴趣的:(多线程)