On Ter, 2016-07-26 at 14:28 +0200, Nicolas Chauvet wrote:
2016-07-25 4:36 GMT+02:00 Sérgio Basto <sergio(a)serjux.com>:
>
> On Seg, 2016-07-25 at 04:02 +0200, Kevin Kofler wrote:
> >
> > So for those stuck with such an old machine, it
> > is better to have a library that works (slowly) than one that
> > just
> > crashes
> > with a SIGILL (illegal instruction).
> I think x264 , detects if have the cpu instructions and if not,
> have
> one fall back code, don't crash.
Okay to put an end to this thread, here are the tests:
# x264 -o out.mp4 BigBuckBunny_320x180.mp4
lavf [info]: 320x180p 1:1 @ 24/1 fps (vfr)
x264 [error]: your cpu does not support SSE1, but x264 was compiled
with asm
x264 [error]: to run x264, recompile without asm (configure --
disable-asm)
x264 [error]: x264_encoder_open failed
# mv /usr/lib/libx264.so.148 /usr/lib/sse2/
# mv /tmp/libx264.so.148 /usr/lib/
# ldconfig
# x264 -o out.mp4 BigBuckBunny_320x180.mp4
lavf [info]: 320x180p 1:1 @ 24/1 fps (vfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: none!
x264 [info]: profile High, level 1.2
x264 [info]: frame I:5 Avg QP:17.11 size: 13610
This was tested on KVM guest with pentium 2 cpu emulated. Here are
the
relevant cpuinfo flags there:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 mmx fxsr eagerfpu x2apic hypervisor vmmcall
(no mmx, or sse1/2 here).
Actually, I've tested on pentium3 which has sse1 but not sse2 and the
asm version worked there, so the runtime cpu detection work starting
with sse1, but not sse2.
The last cpuinfo case which is relevant to the thread is either this
work on AMD geode (probably one of the last produced 32bit only x86
cpu)
As seen here the result might be random:
http://wiki.laptop.org/go/Geode_instruction_set#supported_SSE1, but
sse is unlikely to be advertised by cpuinfo
This last is specially relevant for the OLPC project.
At the end, I think it's urgent not to move anything already working
fine in legacy architecture.
yeah , so at least doesn't crash and I was right about x264 have
fallback code for pentium3 (so the runtime cpu detection work starting
with sse1), which makes me think because of pentium2 we don't have full
features ... , but OK, for now, makes sense disable asm on i686 ...
BTW and for 10b ? (compile with --bit-depth=10 ) make sense also make 2
builds or can I enable asm there ? or just leave as is (one build
without asm).
I also read yesterday,
about http://emmabuntus.sourceforge.net/, This
distribution was originally designed to facilitate the reconditioning
of computers, given to humanitarian organizations ...
Thx
--
Sérgio M. B.