Optimizing x264 video - GeForce 8200 + VDPAU
#1
I'm working on getting acceptable x264 playback on my HTPC. Any advice folks could give on how to tweak my setup would be much appreciated.

Here are the details:

Mythbuntu 9.10
Kernel: 2.6.31-17-generic-pae
CPU: Athlon 64 X2 5200+ 1.0GHz
XBMC version: 1:9.11-karmic1 (SVN rev: 26018)
GPU: GeForce 8200
NVIDIA driver: 190.53-0ubuntu1~karmic~nvidiavdpauppa8
Video resolution: 1900x1080

XBMC settings:
Render method: Auto detect
Adjust display refresh rate...: No
Sync playback to display...: No
VDPAU Studio Level Color Conversion: Yes
Vertical blank sync: Let driver choose

With these settings, I get basically unacceptable video quality on most 720p x264 videos: the frame rate is extremely choppy and the audio is out of sync. Grade: D.

If I set "Extract thumbnails and video information" to "No", the quality gets a lot better: *nearly* acceptable. Motion is relatively smooth in static shots, audio sync is mostly fine, but there is a noticeable choppiness whenever there's even a moderate amount of motion in the frame (camera pans are a particular problem). Grade: B-. Here's a log: http://pastebin.ca/1763276

I get pretty much the same behavior if I change the "Render method" to "VDPAU", so I assume that's the auto-detected default.

If I change "Render method" to "Software", the quality gets even better, rock solid on all but the most demanding videos. Grade: A Here's a log: http://pastebin.ca/1763273

The difference is that with software rendering, the XBMC-CPU usage goes up to around 90% instead of 10% with VDPAU. I'd be a bit concerned to run the box for several hours at that load.

Interestingly, VDPAU rendering does better than software on the "Killa sample". I guess it has a lower average performance, but a better worst case.

My question is: are there settings I can tweak to change this behavior? Or is it expected that VDPAU on a GeForce 8200 just isn't powerful enough to handle 720p video? Are there bleeding edge drivers or development versions of XBMC that might offer better performance? Any and all advice is much appreciated.
Reply
#2
Entire logs please, don't snip.

TheUni
Reply
#3
Make sure you're using dual channel memory and set the ram reserved for the gpu to 512 mb in the bios.
Reply
#4
Fair enough.

Auto rendering: http://pastebin.ca/1763302
Software rendering: http://pastebin.ca/1763303
Reply
#5
bobo1on1 Wrote:Make sure you're using dual channel memory and set the ram reserved for the gpu to 512 mb in the bios.
The RAM is dual channel. I don't know whether this is the right setting, but in the SouthBridge settings of my BIOS, I changed the "Hybrid SLI Frame buffer size" from 128MB to 512MB. It doesn't seem to have made any difference.
Reply
#6
clconway Wrote:The RAM is dual channel. I don't know whether this is the right setting, but in the SouthBridge settings of my BIOS, I changed the "Hybrid SLI Frame buffer size" from 128MB to 512MB. It doesn't seem to have made any difference.

It's always the cpu. Make sure the CPU frequency never goes below 1.8GHZ.

put this into /etc/rc.local

echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Reply
#7
Hi !

I've a stuttering picture despite the manual configuration of my TV via Modeline, but only in 1080@50p or 1080@60p. In 1080@24p, no problems.
So not in hd movies, but only in menu and in SD movies.

Do you think that it could come from adaptive cpu speed ?

Tarmax
Reply
#8
clconway Wrote:The RAM is dual channel. I don't know whether this is the right setting, but in the SouthBridge settings of my BIOS, I changed the "Hybrid SLI Frame buffer size" from 128MB to 512MB. It doesn't seem to have made any difference.

Doesn't look like the correct setting to me, SLI is for using two gpu's simultaneous.
Reply
#9
as I see that you have a custom mythbuntu XBMC installation, please first test with a XBMC camelot live image (e.g. XBMCfreak's) if VDPAU is working correctly in that "ideal" setup. the 8200 is basically an ION so even 1080p should be no problem whatsoever.
OpenElec Standalone --> Asus Chromebox 'Panther' --> Onkyo TX-NR709 --> Sony 55" X85C Android TV (also with Kodi!)
Asus Chromebox EZ Script
Kodi on Sony Bravia Android TVs
Reply
#10
I use XBMC at 1920x1080, and I am getting a similar issue when trying to play a 720p h.264 encode. I recorded this with MythTV from my HDhomerun, and used Handbrake to encode it. When I play the video, I get an average FPS of about 45... where with XBMC on another PC (using 1920x1080) I get 60FPS, which is what MediaInfo says is the proper frame rate for the file. I have tried turning off Extract thumbnails and video information, but that did not alter the FPS. I have tried custom ModeLines, Updating the Nvidia Drivers to 195.30, and reinstalling the system. I am going to include the xbmc.log, my xorg.conf, and my xlog.txt (Just in case someone is curious about my Edid Info)

xbmc.log: http://pastebin.com/m1cac2346
xorg.conf: http://pastebin.com/m6954d197
xlog.txt: http://pastebin.com/m208505f0

I am using XBMCLive on a 4Gb USB key, and that was installed using unetbootin.

The only way that I can get the video to play at 60fps, is to manually change the screen to 1280x720@60..... but this makes for a grumpy wife!

Isn't the option to Adjust the display refresh rate to match video supposed to resolve this?

I forgot to mention this is on a Zotac ION MB, with 2 Gb Dual Channel RAM!
Reply
#11
Did u install libvdpau1 package? vdpau deconding library have a standalone pkg in the vdpau team repo since 190.42.

If pkg is installed u can try to disable ondemand daemon (or others cpufreq cpufred powernowd) trought rcconf.

On my htpc with 8300igp and 5200+ all run smooth.
Reply
#12
bobo1on1 Wrote:Doesn't look like the correct setting to me, SLI is for using two gpu's simultaneous.
I can't find any setting in the BIOS referring to amounts of memory except this one. I've got an ASUS M3N78-VM. Is it possible a BIOS upgrade might help?
Reply
#13
shassino Wrote:Did u install libvdpau1 package? vdpau deconding library have a standalone pkg in the vdpau team repo since 190.42.

Yes, i have libvdpau1 version 0.3-2~nvidiavdpauppa5 installed.

Quote:If pkg is installed u can try to disable ondemand daemon (or others cpufreq cpufred powernowd) trought rcconf.

Could you be more specific?
Reply
#14
Quote:s7mx1 said:
It's always the cpu. Make sure the CPU frequency never goes below 1.8GHZ.

put this into /etc/rc.local

echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

This seems to have done the trick! Solid 24fps with ~5% XBMC-CPU.
Reply
#15
My issue now sounds a bit different than the original posters.... I have no problem with 24 fps videos.. they play very stable. I cannot play 60fps encodes of the shows I encode.
Any Suggestions?
Reply

Logout Mark Read Team Forum Stats Members Help
Optimizing x264 video - GeForce 8200 + VDPAU0