Please go to the new thread: http://forum.xbmc.org/showthread.php?p=336538
What is it for?
Lots of people experience jerkiness when playing video on a computer, this has to do with the way video frames are presented, smoothvideo tries to fix this by syncing the video to the refreshrate of the monitor.
Where can I find it?
The svn is at https://xbmc.svn.sourceforge.net/svnroot...oothvideo/.
To build it you need libsamplerate, which is also in the Ubuntu repositories (IMPORTANT: don't forget the dev package). For windows it's already included in the branch.
How does it work?
Usually video is referenced to the system clock, but with a little magic a clock can be made with information from the videocard, this makes sure every frame is presented right after a vblank. Also because the clock can now be controlled, the speed can be changed a little to fit the refreshrate better.
What about audio?
Audio has to stay in sync, this can either be done by resampling, skipping/duplicating packets, or adjusting the clock if it gets out of sync too far.
Resampling has the advantage that the speed of the video can be changed considerably, so 24 fps can be sped up to 25 fps to play at PAL speed.
The disadvantage of resampling is that it doesn't work with passthrough, and there is a slight loss of audio quality.
Skipping/duplicating audiopackets has no loss of audio quality, but the speed of the video can only be changed a little to avoid doing a skip/duplication too often, most of the time it's inaudible, but it can produce a very audible click.
Adjusting the clock has the best audioquality, but some extra video jitter can occur, also the speed of the video can't change much, as the audio will sync the clock more often the more the speed of the video is changed.
How do I turn it on?
It's on by default, under Settings->System->Audio hardware you can set the sync type and the maximum speed adjust percentage when Resample is selected.
Not all videocards support the proper calls, you should check the debug log for lines like:
"CVideoReferenceClock: [...] falling back to QueryPerformanceCounter"
If you have a line like that, the videocard can't be used as a clock and the systemclock is used instead.
Does it work with Adjust refresh rate?
Yes, it should work fine, except if you use vdpau.
Vdpau without adjust refreshrate works ok.
Known issues
When going from pause to play, a Goa`uld can show up for one second, but the valiant resampler will quickly chase it away.
Video jerks can occur every few minutes or so, this is probably caused by the system doing other important things.
NTSC dvd's don't play well with a 24 hertz refreshrate, this is because of broken timestamps, they play fine at 60 hertz.
Please don't message me about smoothvideo, it takes time away from development, I check this thread almost daily so the best place to ask questions is here.
bobo1on1
cheapass Team-XBMC Developer Joined: Dec 2008 Reputation: 20 |
2009-02-26 18:59
Post: #1
(This post was last modified: 2009-05-15 15:16 by bobo1on1.)
|
| find |
alanwww1
Team-XBMC Member Joined: Nov 2008 Reputation: 31 Location: Hungary |
2009-02-26 20:48
Post: #2
Cangrats to you Bobo1on1 !
It's a great feature a lot of us been waiting for. We'll be here for testing in every way or anything you say. It is already making a huge difference to me. Thanks for the work. Always read the XBMC online-manual, FAQ and search the forum before posting. Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules. For troubleshooting and bug reporting please make sure you read this first. |
| find |
theophile
Fan Posts: 569 Joined: Jan 2009 Reputation: 30 |
2009-02-26 21:35
Post: #3
So I shouldn't bother if I rely on AC3 passthrough?
|
| find |
ashlar
Donor Joined: Mar 2006 Reputation: 26 |
2009-02-26 22:20
Post: #4
theophile Wrote:So I shouldn't bother if I rely on AC3 passthrough?It depends on how close you are to the needed refresh rate. A dropped packet now and then is inaudible. You could not use it to speed up from 24fps to 25fps or slow down 25fps to 24fps. |
| find |
PolliSoft
Senior Member Joined: Oct 2008 Reputation: 0 Location: Sweden |
2009-02-27 01:56
Post: #5
I merged the latest smoothvideo revision into the linuxPort branch to have the smoothVideo tested with the latest fixes. I'm sorry to say I get build errors when using buildsetup.bat (the error I get is that samplerate.h cannot be found), so there is no installer. However, when buildiing the .exe file in VS2008, it works!
So, here is a .rar file containing all the files that the installer normally creates. Xbmc_smoothVideoRev18124_linuxPortRev18128.rar I talked to bobo1on1 earlier and he will not be able to provide any support for this since it is not even in the linuxport branch. Try it out, but be aware that there might be some bugs. Good luck! Asus motherboard Intel Core 2 Duo @ 2.66 GHz Nvidia 8600GT graphics card 2 GB RAM Win 7 32bit |
| find |
bobo1on1
cheapass Team-XBMC Developer Joined: Dec 2008 Reputation: 20 |
2009-02-27 02:11
Post: #6
Actually I'm committing a merge with linuxport 18128 right now, and WiSo fixed the build on windows.
|
| find |
EMK0
Senior Member Posts: 207 Joined: Oct 2008 Reputation: 0 |
2009-02-27 02:19
Post: #7
i don't understand is this meant to fix things like long pan scenes in videos where the pictures looks jerky?
(This post was last modified: 2009-02-27 02:23 by EMK0.)
|
| find |
bobo1on1
cheapass Team-XBMC Developer Joined: Dec 2008 Reputation: 20 |
2009-02-27 02:45
Post: #8
Yes (good question), it is that and that alone that I'm trying to fix.
|
| find |
Zeron
Member Posts: 73 Joined: Feb 2009 Reputation: 0 Location: BC, Canada |
2009-02-27 04:59
Post: #9
Am I correct in assuming that this will work with the VDPAU decoding once they are merged?
|
| find |
PolliSoft
Senior Member Joined: Oct 2008 Reputation: 0 Location: Sweden |
2009-02-27 09:47
Post: #10
Got the installer build to work, so here comes an update, still windows build:
XBMCSetup-smoothvideoRev18137_LinuxPortRev18135.exe Asus motherboard Intel Core 2 Duo @ 2.66 GHz Nvidia 8600GT graphics card 2 GB RAM Win 7 32bit |
| find |

Search
Help