Smoothvideo branch

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Closed
bobo1on1 Offline
cheapass Team-XBMC Developer
Posts: 2,752
Joined: Dec 2008
Reputation: 20
Post: #1
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.
(This post was last modified: 2009-05-15 15:16 by bobo1on1.)
find
alanwww1 Offline
Team-XBMC Member
Posts: 1,299
Joined: Nov 2008
Reputation: 31
Location: Hungary
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 Offline
Fan
Posts: 569
Joined: Jan 2009
Reputation: 30
Post: #3
So I shouldn't bother if I rely on AC3 passthrough?
find
ashlar Offline
Donor
Posts: 2,048
Joined: Mar 2006
Reputation: 26
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 Offline
Senior Member
Posts: 108
Joined: Oct 2008
Reputation: 0
Location: Sweden
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 Offline
cheapass Team-XBMC Developer
Posts: 2,752
Joined: Dec 2008
Reputation: 20
Post: #6
Actually I'm committing a merge with linuxport 18128 right now, and WiSo fixed the build on windows.
find
EMK0 Offline
Senior Member
Posts: 207
Joined: Oct 2008
Reputation: 0
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 Offline
cheapass Team-XBMC Developer
Posts: 2,752
Joined: Dec 2008
Reputation: 20
Post: #8
Yes (good question), it is that and that alone that I'm trying to fix.
find
Zeron Offline
Member
Posts: 73
Joined: Feb 2009
Reputation: 0
Location: BC, Canada
Post: #9
Am I correct in assuming that this will work with the VDPAU decoding once they are merged?
find
PolliSoft Offline
Senior Member
Posts: 108
Joined: Oct 2008
Reputation: 0
Location: Sweden
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
Thread Closed