XBMC Community Forum
Smoothvideo branch - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Announcements, Info, and General Discussion (/forumdisplay.php?fid=85)
+--- Forum: XBMC General Discussion (/forumdisplay.php?fid=6)
+--- Thread: Smoothvideo branch (/showthread.php?tid=46091)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22


- dteirney - 2009-03-07 01:04

I'm pretty sure the refresh rate changing is working for me. I have an issue where whenever I bring up the resolution info screen by pressing z on the keyboard XBMC locks up tight. Log at http://pastebin.com/m3a8ad844

I've also noticed that the video starts to stutter when bringing up the Codec info by pressing o.

Things seem pretty stable for me using ATI, but I have the Vsync patch that makes use of Vsync related changes that were introduced around Catalyst 9.1. See http://trac.xbmc.org/ticket/5951 (ATI Linux driver 9.1 supports glXSwapIntervalSGI , works great for XBMC) for more information. Since this smoothvideo branch relies on VSync stuff perhaps some other ATI users could try the patch as well and see whether that improves current behaviour.

Sometimes the AV Sync gets way out >5s after skipping and that's when things go bad.

I just watched most of the Transformers movie with this branch and it was stable and smooth for pretty much all of the movie (including the audio).


- Hitcher - 2009-03-07 08:35

Interesting, is there a guide on how to apply these patches so I can try it out?


- dteirney - 2009-03-07 23:46

To use the patch you'll need to be compiling from source.

Download the vsync-mode-2-on-ati.patch file from the trac ticket (http://trac.xbmc.org/ticket/5951).

Put it into the top level directory for the XBMC source tree. Then apply using:

Code:
patch -p0 < vsync-mode-2-on-ati.patch

That will change the source code in the "guilib/Surface.cpp" file. Recompile with those changes and try it out.

You'll need to be using the Catalyst 9.1 or later driver or that code change will cause undefined problems. The final solution to this patch will look different, but it is enough to test that the Vsync changes work as expected.


- bobo1on1 - 2009-03-08 22:35

Something I found out recently is if you set the priority of xbmc.bin to -20 on linux there are a lot less glitches.

You can have a script like this:

Code:
#!/bin/bash
while [ true ]; do
pidof xbmc.bin | xargs renice -20 -p
sleep 1
done

Save that somewhere and then start it in the background from /etc/rc.local for example.
The downside is if xbmc freezes your system will probably become unresponsive as well.

I've also tried SCHED_FIFO on linux to get realtime priority, but that doesn't work well because xorg can't get any processing time, thus causing a system freeze.

edit: Just tried SCHED_FIFO on both xbmc.bin and X and that seems to work.
I've also found the cause for the low fps on ati with windows, I fixed that and it seems to work, can someone please try? I think it might cause 100% cpu usage.

edit2: Added a howto for setting -20 priority and realtime scheduling in linux to the startpost.


- olympia - 2009-03-11 12:40

bobo1on1 Wrote:Something I found out recently is if you set the priority of xbmc.bin to -20 on linux there are a lot less glitches.

You can have a script like this:

Code:
#!/bin/bash
while [ true ]; do
pidof xbmc.bin | xargs renice -20 -p
sleep 1
done

Save that somewhere and then start it in the background from /etc/rc.local for example.
The downside is if xbmc freezes your system will probably become unresponsive as well.

I've also tried SCHED_FIFO on linux to get realtime priority, but that doesn't work well because xorg can't get any processing time, thus causing a system freeze.

edit: Just tried SCHED_FIFO on both xbmc.bin and X and that seems to work.
I've also found the cause for the low fps on ati with windows, I fixed that and it seems to work, can someone please try? I think it might cause 100% cpu usage.

edit2: Added a howto for setting -20 priority and realtime scheduling in linux to the startpost.

When you are speaking about glitches, is this mean the intrepid perfromance problem? Are these tricks reducing the effect of this problem?

Or you are mentioning other glitches... Confused


- bobo1on1 - 2009-03-11 18:21

What I'm talking about is an effect of using a multitasking operating system, you can never guarantee that xbmc gets cpu time when it needs to, because the operating system has other things to do as well.

Using SCHED_FIFO scheduling guarantees that xbmc gets cpu time when it needs to.
It also guarantees that it can use the cpu for as long as it wants.
This works pretty good, but if there's a bug in the code that causes xbmc to sit in an endless loop, you can never kill it because the kernel won't give other processes any cpu time.


- ashlar - 2009-03-11 18:23

Is this the same as giving RealTime priority to a process under Windows?


- spiff - 2009-03-11 18:29

yes pretty much


- ashlar - 2009-03-11 18:39

bobo1on1, I tried a strange combination yesterday... I downloaded the latest build that's been made available from your branch (Windows) and set up forced refresh rate at 24Hz. I planned on using this for a Jericho (TV Series) DVD Rip that I have, that under ZoomPlayer+Reclock is played back at 24Hz. Zoom Player info says 29.97 fps reported/23.976 actual.
Standard XBMC with adjust refreshrate keeps it at 60Hz, playing it back with the usual judder.
Hence I thought "this is the right time to try out this smoothvideo". As mentioned, I forced 24Hz but got completely messed up sound (using digital out).
I then tried a new build not from your branch and set manually the refresh rate at 24Hz. Playback was perfect and adjust refreshrate did not kick in to bring the refresh to 60Hz but left it at 24Hz.

I know it's a special case, but thought worth it of being reported.


- Hitcher - 2009-03-12 00:46

bobo1on1 Wrote:Just tried SCHED_FIFO on both xbmc.bin and X and that seems to work.
I've also found the cause for the low fps on ati with windows, I fixed that and it seems to work, can someone please try? I think it might cause 100% cpu usage.

If you've got a build I can try I'll be more than happy to test it out.


- miljbee - 2009-03-12 16:03

I have opened a trac ticket, because I have some videos for wich refresh rate is not detected correctly. This might impact the smoothvideo branch ...
http://trac.xbmc.org/ticket/6015


- kees1869 - 2009-03-12 20:55

Hitcher Wrote:If you've got a build I can try I'll be more than happy to test it out.

I put 18401 online, fixes should be in there from what I read in the log.

here: http://www.mediafire.com/?n1vq4nyydxz


- Hitcher - 2009-03-12 21:03

Thanks, I forgot your were building these.

Now bookmarked.


- bobo1on1 - 2009-03-14 02:00

ashlar Wrote:bobo1on1, I tried a strange combination yesterday... I downloaded the latest build that's been made available from your branch (Windows) and set up forced refresh rate at 24Hz. I planned on using this for a Jericho (TV Series) DVD Rip that I have, that under ZoomPlayer+Reclock is played back at 24Hz. Zoom Player info says 29.97 fps reported/23.976 actual.
Standard XBMC with adjust refreshrate keeps it at 60Hz, playing it back with the usual judder.
Hence I thought "this is the right time to try out this smoothvideo". As mentioned, I forced 24Hz but got completely messed up sound (using digital out).
I then tried a new build not from your branch and set manually the refresh rate at 24Hz. Playback was perfect and adjust refreshrate did not kick in to bring the refresh to 60Hz but left it at 24Hz.

I know it's a special case, but thought worth it of being reported.

Nice to hear they play smooth, the refreshrate thing is a bit strange because I didn't modify that code in any way.

miljbee Wrote:I have opened a trac ticket, because I have some videos for wich refresh rate is not detected correctly. This might impact the smoothvideo branch ...
http://trac.xbmc.org/ticket/6015

Smoothvideo plays those files at 24 fps, but imho the problem lies more with the files than with xbmc.
Reencoding them with avidemux fixes the files.


- bobo1on1 - 2009-03-16 21:32

I have done some tests with timestretching, tried both soundtouch and rubberband, but I didn't like either of them, the soundquality is degraded too much.