Wie perfektes Hyper-Threading ermöglichen in libavcodec [ffh264]

  • 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

    Code
    ./configure --arch=i686 --cpu=pentium4 --enable-pthreads --enable-shared --enable-gpl --enable-postproc --disable-stripping


    für mplayer

    Code
    ./configure --enable-pthreads --enable-gui --enable-menu


    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:

    Code
    ============ 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.

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!