[Theora-dev] MMX/mmxext optimisations

Ivan Popov pin at medic.chalmers.se
Tue Aug 24 05:26:16 PDT 2004


On Wed, Aug 18, 2004 at 11:20:53AM +0200, Wim Taymans wrote:
> Hi,
> 
> Attached is a patch against libtheora-1.0alpha3 that adds mmx and mmxext
> optimisations to theora. It uses gcc inline assembler and has cpu

Applied the original patch (with my own "evident" necessary tweaks)
to current svn.
I might have been wrong (?) at that step, but anyway:

the results:

gcc 3.2.2 and 3.3 produce a twice as fast working encoder but
a broken decoder (hangs with a green screen)

gcc 3.4.1 does not like static constants in
i386/fdct_mmx.c and
i386/dsp_mmx.c
then if I comment out "static" it compiles but the encoder
produces a stream showing wrong-colored squares (with about twice too high
bitrate), though you can guess the picture, and the decoder is broken as above.

My processor is
-----------------------
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping        : 5
cpu MHz         : 2793.035
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips        : 5570.56
-----------------------

Would somebody confirm or tell me that it's just my own fault?

--
Ivan



More information about the Theora-dev mailing list