[BGLug VS] Accelerare del 300% la codifica MPEG4 !

Fleur @ BGLUG fleur@bglug.it
Gio 3 Lug 2008 11:42:22 CEST


Ho recuperato il link dell'interessante articolo d cui vi ho parlato 
l'altra sera [1].

In sostanza l'autore ha ricompilato il pacchetto Xvid nella speranza che
l'accoppiata make&gcc ottimizzasse la libreria per il suo pc...

L'articolo inizia con la  considerazione (ovvia) che i pacchetti binari 
di una distribuzione cercano di essere il pił possibile trasversali 
rispetto alle varie architetture x86 ed in sostanza vengono ottimizzati 
per processori 686... in questo modo funzionano sulla stragrande 
maggioranza dei pc degli ultimi 10 anni (dal PentiumPro/PentiumII/K7 in 
poi).

Una prima ricompilazione del pacchetto Xvid e della relativa librera 
libxvidcore4.so.1 ha come risultato solo un piccolo, marginale, 
incremento di prestazioni...

Da un'analisi piu' approfondita del log di configure si nota pero' come
venga utilizzata un'implementazione di alcuni algoritmi in C invece dei 
piu' performanti scritti in ASM a causa della mancanza del compilatore 
assembler yasm [2,3,4] in grado di supportare il set di istruzioni AMD64

Beh, presto detto, ha scaricato il sorgente di yasm 0.7.1 (la 
distribuzione aveva ancora un vecchia versione); compilato ed installato 
quest'ultimo ha rilanciato il configure di xvid che ha riconosciuto 
correttamente la disponibilitą di yasm.
A questo punto la libreria Xvid ricompilata si e' dimostrata decisamente 
pił performante, passando da 7 frame codificati in un secondo a 21!

Qualcuno che abbia voglia di sperimentare martedi' prossimo ?!?

Ciao
Fleur

[1] : 
http://www.freesoftwaremagazine.com/columns/tale_of_a_codec_optimisation_doing_things_the_linux_way
[2] : http://www.tortall.net/projects/yasm/
[3] : http://en.wikipedia.org/wiki/Yasm
[4] : http://www.programmazione.it/index.php?entity=eitem&idItem=30881


Maggiori informazioni sulla lista BglugVS