如果你是一个ARM平台的video算法爱好者,或者开发优化工程师,你将会从这里领略到ARM模拟器带来的无穷魅力。
armulator.exe是最快的ARM指令集模拟器(性能是qemu的两倍),支持ARM7,ARM9,ARM11,Cortex/Thumb,可直接运行ELF和WINCE程序。(ELF程序用armcc或者arm gcc编译,WINCE程序用pb等编译) 。
如果只想关注应用程序开发,尤其做算法优化,比如汇编(甚至neon)优化,完全不想关心底层平台和操作系统,就请使用ARM模拟器,只要你的程序编译出来能在ARM+Linux的开发板上跑,就能在这个模拟器上运行。反之亦可。
使用高性能ARM模拟器,就可以体验ARM平台开发优化video codec的威力,不再需要去采购动辄几千元的ARM11, Cortex开发版,仅仅需要一台装有windows的PC,在ARM模拟器的帮助下,带领你进入arm平台video开发优化的世界。使用ARM模拟器最终开发出的video版本,不加任何修改就可以运行在真实的ARM产品平台上,执行结果绝无任何差异。
<**任何个人和团体学习者,及教育机构,在非赢利前提下,均可以无偿体验和使用ARM模拟器,商业使用请联系作者**>
使用方法极其简单,比如在开发板上运行./x264 --help 在PC上使用模拟器的方法:armulator.exe x264 --help
本压缩包中的x264使用源代码版本x264-snapshot-20100824,具体生成过程如下: 1. 官方网站下载x264源代码并解压缩 2. 在host主机上执行./configure --disable-asm 3. 修改config.mak a. ARCH=ARM b. CC=arm-none-linux-gnueabi-gcc (请先指定好你的交叉编译器路径) c. AR=arm-none-linux-gnueabi-ar 4. 修改config.h,去掉一行#define ARCH_X86 1 5. make
对于neon汇编优化,需要在config.mak中增加AS=arm-none-linux-gnueabi-as,需要4.3.3以后的交叉编译器.
<**压缩包中的包含的x264,仅作讨论交流之用,对于任何其它使用,不承担由其产生的一切后果**>
我在本地windows上的运行过程,
D:\work\armulator.exe x264 --qp 18 --crf 24 -o test.264 test.yuv --input-res 320x240 --profile baseline --preset ultrafast yuv [info]: 320x240p 0:0 @ 25/1 fps (cfr) x264 [info]: using cpu capabilities: none! x264 [info]: profile Baseline, level 1.3 x264 [info]: frame I:3 Avg QP:20.67 size: 9639 x264 [info]: frame P:541 Avg QP:23.44 size: 2610 x264 [info]: mb I I16..4: 100.0% 0.0% 0.0% x264 [info]: mb P I16..4: 4.1% 0.0% 0.0% P16..4: 57.2% 0.0% 0.0% 0.0% 0 .0% skip: 0.0% x264 [info]: coded y,uvDC,uvAC intra: 56.1% 56.3% 24.7% inter: 32.8% 20.4% 2.1% x264 [info]: i16 v,h,dc,p: 41% 33% 15% 12% x264 [info]: i8c dc,h,v,p: 33% 33% 25% 10% x264 [info]: kb/s:529.80 warning, free invalid pointer : 0x3d81e8 warning, free invalid pointer : 0x3d8200
encoded 544 frames, 14.85 fps, 529.80 kb/s program exit with code 0 armulator v2.0, 12/18/2009 report bug to lixianzhong@ustc.edu
|