Desktop PC is:
- AMD Athlon 64x2 @2.2GHz.
- 4GB RAM.
- Nvidia GeForce 7600GS 512MB RAM.
Laptop PC is:
- Intel Centrino Core Duo 2 @2.4GHz.
- 4GB RAM.
- PNY Quadro FX 570M 128MB RAM.
The video is (as reported by mplayer while starting):
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] Track ID 2: audio (A_AC3) "italiano dd 5.1", -aid 0, -alang ita
[mkv] Track ID 3: audio (A_AC3) "inglese dd 2.0", -aid 1, -alang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8) "italiano", -sid 0, -slang ita
[mkv] Track ID 5: subtitles (S_TEXT/UTF8) "inglese", -sid 1, -slang eng
[mkv] Riprodurrò la traccia video 1.
Rilevato formato file Matroska!
VIDEO: [avc1] 1920x1080 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
Apertura decoder video: [ffmpeg] FFmpeg's libavcodec codec family
Scelto codec video: [ffh264] vfm: ffmpeg (FFmpeg H.264)
Apertura decoder audio: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Scelto codec audio: [a52] afm: liba52 (AC3-liba52)
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Inizio la riproduzione...
VDec: configurazione chiesta dal vo - 1920 x 1080 (sp.col. preferito: Planar YV12)
Getting this video playing flawlessly is very difficult: I tried many players (vlc, smplayer, xine, kaffeine, etc.) but all of them, more or less, have choppy results.
Up to now the best one seems to be mplayer, but I had to test hundreds of different combinations of its many options.
The best configuration I found is this (adding the following lines in default file /etc/mplayer/mplayer.conf):
# Setup maximum number of treads and maximize speed
# This avoids a performance message to come out
autosync = 30
Note that even if 8 threads in a dual-core CPU looks a nonsense, actually works better than 4, which works better than 2, which works dramatically better than 1.
With this configuration mplayer plays it very good on both PCs with few differences:
- On the desktop kpowersave reports the CPU always at maximum speed (even if policy is dynamic); video flows almost perfectly but sometimes mplayer slows a bit, sometimes a little bit more and reports "Too many packets in video buffer" and audio stops playing (this goes on for some seconds and then everything turns back norma), replying the same scene sometimes no problems, sometimes slows as described.
- On the laptop kpowersave reports the CPU continuously increasing and reducing speed (with dynamic policy) and this results in worse performance than the desktop, in this case mplayer behaves similarly as in the desktop case, if I set kpowersave policy to performance, the play is very fluyd and mplayer plays the video almost perfectly!
Googling a little bit I found interesting things in this topic:
- Newest Nvidia drivers have a specific extension that allow playing HD videos freeing CPU and using GPU power: this is called VDPAU (or Video Decode and Presentation API for Unix).
- This extension should be included only from driver version 185.18.04.
- This extension should work only from GeForce 8000 series and better.
- New mplayer-vdpau supports VDPAU.
- Vlc, xine and others should have VDPAU support in the near future.
I had a look to actual mplayer in sabayon and I saw that compiling mplayer in portage vdpau USE flag can be enabled, but mplayer in entropy is not compiled with that flag on.
Even if my graphic board does not support it I tried anyway to compile mplayer with vdpau USE flag enabled, unfortunately even with the flag enabled mplayer gets compiled without VDPAU support, I don't kow if this is due to the installed graphic card that does not support it or to the actual nvidia-drivers version (180.44-r1) which does not include VDPAU support.
I do not understand if PNY Quadro FX 570M could be part of the >8000 series Nvidia cards (that support VDPAU) or not.
Even if I do not have a >8000 series Nvidia card it could be a great thing for the community to upgrade Nvidia drivers to 185.18.04 and to include VDPAU support to all the applications that could include it!