[Ffmpeg-devel] [PATCH] simple internal lzo decoder

Reimar Döffinger Reimar.Doeffinger
Sun Jan 15 22:30:24 CET 2006


Hi,
On Sun, Jan 15, 2006 at 09:39:46PM +0100, Jindrich Makovicka wrote:
> Reimar D?ffinger wrote:
> > file all zeroes, 56325B comp:
> > 8.90 8.90 0.80 8.87 8.46 0.75
> 
> I am getting ~3.1s here for minilzo and ~1.7s for av-lzo on XP-M
> 2600+ at 2.1GHz. Either I am doing something totally wrong or minilzo just
> sucks on 64-bit machines. I was using gcc-3.4, patched lzo.c and
> lzo1x_decompress_safe from minilzo to be fair.

Yes, I used basically the same, but used the _999_ compression function.
Resulting file is here: http://www.stud.uni-karlsruhe.de/~uvhe/comp2.lzo
Maybe that makes a difference.
But two much more likely effects: I was running @800MHz, but your times
are higher. Maybe your libc sucks :-)? On 64 bit systems they can
optimize it far more. Also, minlzo uses a loop to copy, maybe it uses a
normal int as counter, so additional code is needed between the increment
and address index operation to convert between 32 and 64 bits.

> Relevant C proggy is available at
> 
> http://kmlinux.fjfi.cvut.cz/~makovick/lzobench.tar.bz2

you forgot to #include malloc.h, which causes it to crash on 64 bit :-).
I also set the -m... options to k8, wouldn't compile otherwise.
Results:

@800MHz:
compressed: 40169B
compress = 0.047630
minilzo decompress = 9.844904
lzo decompress = 0.527114

@1.8GHz:
compressed: 40169B
compress = 0.020222
minilzo decompress = 4.385931
lzo decompress = 0.442904

> > nwnmod, 2675408B comp:
> > 7.39 6.98 6.87 7.35 7.18 6.39

compressed file here: http://www.stud.uni-karlsruhe.de/~uvhe/comp3.lzo

Greetings,
Reimar D?ffinger





More information about the ffmpeg-devel mailing list