• 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
Perfect playback of 23.976 fps possible with nVidia?
@iissmart:

Could you just to rule out the DirtyRegion problem, change the following line:
Code:
<algorithmdirtyregions>1</algorithmdirtyregions>

to

Code:
<algorithmdirtyregions>3</algorithmdirtyregions>

in your advancedsettings.xml

and also remove that one here:
<gputempcommand>echo &quot;$(nvidia-settings -c :0 -tq GPUCoreTemp) C&quot;</gputempcommand>
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
(2013-04-22, 08:45)fritsch Wrote: @iissmart:

Could you just to rule out the DirtyRegion problem, change the following line:
Code:
<algorithmdirtyregions>1</algorithmdirtyregions>

to

Code:
<algorithmdirtyregions>3</algorithmdirtyregions>

in your advancedsettings.xml

and also remove that one here:
<gputempcommand>echo &quot;$(nvidia-settings -c :0 -tq GPUCoreTemp) C&quot;</gputempcommand>

Removed the GPU temp monitoring and set dirty regions to 3...still stutters every 41s and the log looks the same as always.

I tried looking for a solid way to set the GPU power settings to performance mode using CLI but found mixed answers. I would normally just use nvidia-settings but I'm not sure how to open a terminal in the GUI using the minimal install script. I don't think it has a window manager installed...any tips?
Reply
You need a line like this in your xorg:
Option "RegistryDwords" "PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"

Adapt the parameters to your needs.
Reply
If you're getting stutters every 40-41 seconds like clockwork, it would appear that you're rendering 23.976fps content at 24fps. The same thing happens on the Intel IGP which is unable to render at the fractional framerate. I'm not saying that's what it is, but it appears awfully similar.
Reply
(2013-04-28, 20:24)pumkinut Wrote: If you're getting stutters every 40-41 seconds like clockwork, it would appear that you're rendering 23.976fps content at 24fps. The same thing happens on the Intel IGP which is unable to render at the fractional framerate. I'm not saying that's what it is, but it appears awfully similar.

In fact I really think that there is a bug in XBMC.

With the options :
-Sync playback to display ON
- A/V sync method :Video Clock(Drop/Dupe Audio) or Video Clock(resample audio) if you configured xbmc to passthrough the audio

When you try to playback a file with a framerate at 23.976, XBMC automatically speeds up the playback by 0.001 (you can check the speed adjustment by with the O key).
Maybe that if you configure your display refresh rate to 24.000Hz instead of 23.976Hz, the stutters will disappear.

Or you can build your own patch :
The file that speeds up the playback is :
xbmc/cores/dvdplayer/DVDClock.cpp

and change the line :
Code:
double speed = (double)rate / (fps * weight);
to :
Code:
double speed = (double)rate / (MathUtils::round_int(fps) * weight);
Reply
I don't notice any speedup, I use drop/dupe audio as sync method and speedup would report duplicated audio packets in debug log and there aren't any. Also when I check fps when I press 'O' it stays ~23,98. That would show ~24.00 in case of speedup.
Reply
Quote:When you try to playback a file with a framerate at 23.976, XBMC automatically speeds up the playback by 0.001 (you can check the speed adjustment by with the O key).

That's not what it does nor shows. xrandr was used to give only rounded values and the codec screen will never show 23.976.
Reply
(2013-06-03, 11:14)FernetMenta Wrote:
Quote:When you try to playback a file with a framerate at 23.976, XBMC automatically speeds up the playback by 0.001 (you can check the speed adjustment by with the O key).

That's not what it does nor shows. xrandr was used to give only rounded values and the codec screen will never show 23.976.

That is what it does on my setup. You can see the screen cap.
Image
The blue part is the debug log of my display. XBMC outputs the picture at 23.976.
But I can still see that the playback speed is increased by 0.1%...

Is it really different on your systems?
Reply
your interpretation of speed is wrong. as already said, it does not mean that playback speed is increased.
Reply
(2013-06-03, 16:19)FernetMenta Wrote: your interpretation of speed is wrong. as already said, it does not mean that playback speed is increased.

Ok then why does it work better when i change the code to have speed +0,000% ?

And why do I get the stutter only when I use theses settings?
Reply
I have smooth playback here, the log displays:

Code:
13:51:21 T:140161539196672  NOTICE:  fps: 23.976024, pwidth: 1280, pheight: 534, dwidth: 1280, dheight: 534
13:51:21 T:140161539196672  NOTICE: Display resolution ADJUST : HDMI-0: 1920x1080 @ 23.97Hz (23) (weight: 0.000)

I have the same +0.100% speed like you. However once I activate the codec infos, I get relatively heavy stutter and the error % toggles between 0 and 100%. So just to clarify, you still have issues even if you deactivate the codec info display?
Reply
(2013-06-04, 14:02)startaq Wrote: So just to clarify, you still have issues even if you deactivate the codec info display?

Hi startaq,
Yes I get the same thing with and without the codec info display.

What I get :
- When playing a DTS-HD video : My stereo does a lot of big booms (more than once a minute). XBMC keeps on duplicating then skipping then duplicating audio packets all the time. The boom is sometime very very loud as if my stereo was about to die.
- The video is very often (like every 30 seconds or so) not smooth. It looks like some frames are missing but this is not very noticeable unless I enable the frame interpolation on my display.
- Every minute or so a more noticeable video skip occurs.

All this is not very obvious. I watched a movie with a friend the other day. I kept telling him that the playback was not smooth but he didn't notice anything.

The strange thing is that XBMC doesn't log any video frame skip. In the codec menu, the video playback is perfect !!!

I managed yesterday to get a much smoother playback with more updates to the XBMC source code... I'll test more.
Reply
If you are running on Linux (what you actually do), try to get the very latest version from wsnipex xvba testing ppa - just a for a test. In this tree the "GetDelay" for AudioEngine is fixed at last and the new vdpau implementation that slowly reaches mainline is already in.

As this new version has a new settings hierachy, remember to press "left" and choose "Advanced" to get all settings. Don't try this version "as a solution with no problem", but just to see where the future will be pushing video / audio and so on, you can revert back to an older version at every time.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
(2013-06-05, 09:32)fritsch Wrote: If you are running on Linux (what you actually do), try to get the very latest version from wsnipex xvba testing ppa - just a for a test. In this tree the "GetDelay" for AudioEngine is fixed at last and the new vdpau implementation that slowly reaches mainline is already in.

As this new version has a new settings hierachy, remember to press "left" and choose "Advanced" to get all settings. Don't try this version "as a solution with no problem", but just to see where the future will be pushing video / audio and so on, you can revert back to an older version at every time.

fritsch,

After more tests, I am pretty sure that there are 2 bugs in xbmc 12.2 source code that impact the smoothness of the playback.
Both bugs create some picture skip/dup that are not shown in the xbmc statistics.

The first bug is the one I identified earlier. The DVDClock speeds up the playback 0.1%. There is no impact to the statistics but it speeds up the VideoClock and create frame skips.

The second bug is int the DVDPlayerVideo at line 1170++ :
Code:
// check if our output will limit speed
if(m_fFrameRate * abs(m_speed) / DVD_PLAYSPEED_NORMAL > maxfps*0.9)
   limited = true;
If the display refresh rate is arround 24Hz and the frame rate of the video playing is 23.976 or 24 then this condition is met and XBMC limits the playback and skip frames.

I changed it to the following:
Code:
if(MathUtils::round_int(m_fFrameRate) * abs(m_speed) / DVD_PLAYSPEED_NORMAL > MathUtils::round_int(maxfps))
   limited = true;

With both patches the playback is finally smooth.


Both bugs are not specific to nvidia graphics and should impact most HTPC. I checked the master branch in XBMC github and both bugs are still there.

I'll try the latest version this week end but if it works better for this I'll be surprised Huh
Reply
Quote:If the display refresh rate is arround 24Hz and the frame rate of the video playing is 23.976 or 24 then this condition is met and XBMC limits the playback and skip frames.

limited has only impact during ff or rewind. It can't change anything during normal playback.
Reply
  • 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17

Logout Mark Read Team Forum Stats Members Help
Perfect playback of 23.976 fps possible with nVidia?0