Hallo vdr user
Hab mir ffmpeg und mplayer aus den aktuellen SVN Quellen nachgebaut, um sauberes Multithreading bei H264 Wiedergabe zu ermöglichen.
configure hab ich wie folgt durchlaufen lassen
für ffmpeg
./configure --arch=i686 --cpu=pentium4 --enable-pthreads --enable-shared --enable-gpl --enable-postproc --disable-stripping
für mplayer
Im Gegensatz zur xine-lib fehlt hier ein configure Verweis auf die neu compilierten externen ffmpeg Quellen! configure --help gibt mir diese Möglicheit beim mplayer bauen gar nicht! Ich geh davon aus er sucht sich die installierten Libraries in /usr/lib/ zusammen...
Das configure.log sieht bezüglich libavcodec jetzt so aus:
============ Checking for FFmpeg libavcodec ============ Result is: yes (static) ##########################################
Was bedeuted hier "static"? Interene oder die selbst gebaute externe library?
Wenn ich jetzt mit mplayer "-lavdopts fast:threads=2 -vo xv" 1080p oder 720p Material wiedergebe lastet es mir abwechslungsweise nur einen Kern voll aus, was bei einem 2800er DualCore nicht für eine flüssige Wiedergabe ausreicht. Der nicht ausgelastete Kern bleibt bei ca. 40% stehen. Auch das absenken der nice Last (=> höhere Task Priorität) für mplayer zeigt keine Besserung.
Da stellt sich für mich die Frage wie gut der h.264 Decoder die Last verteilen kann und wie ich beim mplayer configure sicherstellen kann, das wirklich meine neu gebaute ffmpeg libary verwendet wird.