• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

V-Sync with EVR

SundaY82

Member
Thread Starter
Joined
Sep 10, 2008
Messages
12
Likes
0
Hi,

I used to run madvr, coreavc and reclock to get smooth video playpack, no v-sync correction in reclock enabled. But for some time now madvr wont work with my nvidia card. So I'm forced to use EVR. Sometimes I get jerky playback, rewinds or forwards some and its ok again.

What I understand this is a typical v-sync problem?

So I enabled v-sync in reclock and put the slider in the middle, started a movie and waited for it to move to my target position. But it never moves to the target position, just stays where it is(about 1/3 - 1/4 in from the top for all movies tested).

To make sure I didn't do anything wrong I tried Haali Renderer and with it the vsync moved to target position just fine. It has other issues though so I would like to be able to use EVR with reclock vsync.

Any idea why this is?

Running Zoom Player on Win7 x64 and codecs mentioned above.
 
I also just now tried to disabled Desktop Composition for Zoom Player but it did no good.
 
Try use MPC-HC's EVR Custom (with it's own v-sync and accurate v-sync enabled). It is brilliant (with aero enabled).
 
Thanks for the suggestion but I love ZP and would like to continue to use it.
 
Hi,

I used to run madvr, coreavc and reclock to get smooth video playpack, no v-sync correction in reclock enabled. But for some time now madvr wont work with my nvidia card. So I'm forced to use EVR. Sometimes I get jerky playback, rewinds or forwards some and its ok again.

What I understand this is a typical v-sync problem?

So I enabled v-sync in reclock and put the slider in the middle, started a movie and waited for it to move to my target position. But it never moves to the target position, just stays where it is(about 1/3 - 1/4 in from the top for all movies tested).

To make sure I didn't do anything wrong I tried Haali Renderer and with it the vsync moved to target position just fine. It has other issues though so I would like to be able to use EVR with reclock vsync.

Any idea why this is?

Running Zoom Player on Win7 x64 and codecs mentioned above.
You can use Reclock vsync with EVR only:

- if using an Overlay surface (as far as we know this is only possible with commercial players (PDVD, WinDVD,TMT) playing Blu-ray in "disc mode" or TMT-only playing PDVD )
- or in D3D exclusive mode, with renderer vsync correction off (if the renderer supports its own vsync correction).

Regular EVR will not work together with Reclock vsync. As you say Reclock will not be able to pull its target into place, so it will continually playback video slightly too fast/slow causing repeating periodic juddder.

Last I checked, Zoomplayer EVR D3D mode did work, but there was no OSD at all and it was somewhat unstable, but things may have improved. Alternatively, as namaiki suggests, MPC-HC has, in fact, two renderers that have their own vsync correction built in, but which only work if you have compatible frame rates/refresh rates. Otherwise mpc-hc's EVR D3D mode works well with Reclock vsync (it is what I use), but you must turn its vsync correction off. Or use a commercial player, but with the limitations above.
 
Last edited:
You can use Reclock vsync with EVR only:

- if using an Overlay surface (as far as we know this is only possible with commercial players (PDVD, WinDVD,TMT) playing Blu-ray in "disc mode" or TMT-only playing PDVD )
- or in D3D exclusive mode, with renderer vsync correction off (if the renderer supports its own vsync correction).

Regular EVR will not work together with Reclock vsync. As you say Reclock will not be able to pull its target into place, so it will continually playback video slightly too fast/slow causing repeating periodic juddder.

Last I checked, Zoomplayer EVR D3D mode did work, but there was no OSD at all and it was somewhat unstable, but things may have improved. Alternatively, as namaiki suggests, MPC-HC has, in fact, two renderers that have their own vsync correction built in, but which only work if you have compatible frame rates/refresh rates. Otherwise mpc-hc's EVR D3D mode works well with Reclock vsync (it is what I use), but you must turn its vsync correction off. Or use a commercial player, but with the limitations above.

Jong . The Media Portal developer tourettes and Owlsroost are trying to improve the reclock reliability with its evr.
(http://forum.team-mediaportal.com/c...55/guide-stutter-free-playback-reclock-45834/ )
Is it possible query the reclock continuously with some kind of com or net interface to get the exact refresh rate? because this could be usefull to synchronize the player internalv synch correction with the exact refreh rate used by Reclock.
 
Last edited:
Hi red5goahead,

First I should say I am most definitely NOT a Reclock dev (as you said in the MediaPortal thread). I am just an end-user, albeit one with a professional IT development background, who, due to OCD, happens to have spent more time studying Reclock and vsync than just about anyone else! If you want changes to Reclock you need to take it up with James.

I would suggest the renderer devs on MediaPortal try to contact ar-jar on Doom9. He is the developer of the mpc-hc "EVR Sync renderer" and it sounds like what the MP guys are trying to do, he has already done.

Here is his own site, which has a link to his open source code: http://www.ostrogothia.com/?page_id=1050

Here is his own thread @Doom9: http://forum.doom9.org/showthread.php?t=148221

He does not have much time for this project right now but he may be able to shortcut the process with a few quick pointers.

A few observations from me:

The thing Reclock measures as its "vsync target" is the end of frame presentation. However, the method it uses to determine this is fixed in hardware to vsync when conventional double-buffering is used. It always returns "End of Presentation" at the time of the buffer "flip". As a consequence Reclock cannot move its target and will perpetually run the frame rate too fast or slow causing periodic judder. Not good! If MP EVR worked before with Aero ON and does not now I think they have turned on double buffering, or used a method which does this, probably to fix tearing. Maybe they were not using the "standad EVR Mixer" before and are now? It may be possible to allow this to be disabled for those using Reclock. You seem to have allowed them to forget that it used to work and now it does not! :) Something has changed.

I did NOT say that the standard EVR renderer works with Reclock vsync correction if Aero is ON. However the EVR CP and EVR Sync renderers DO work with Aero on, if their internal vsync correction methods are turned off. Then it seems to work in a way similar to D3D mode, without the normal downsides. It is possible this could cause an increased risk of tearing although Aero should deal with this in the same way it does with Flash video.

For the devs working on improving MP, ignoring his very experimental, best avoided, attempts to change the display timings to fix the issue, ar-jar's best method for vsync correction, like that chosen by Reclock's original developer, Ogo, runs the frame rate slightly too fast or slightly too slow in order to pull the point of presentation to a safe position, rather than "waiting", as I think is curently being tried by MP. This method though will not work if Reclock is being used at all (not just with vsync correction on) as two things then fight to control the frame rate.

His second, less perfect, method "Present at nearest vsync" sounds similar to the current attempt @MP. This will work really pretty well when Reclock is used (without vsync correction enabled), better in fact than when Reclock is not used, as then any difference in frame rate will lead to periodic dropped/repeated frames. Note, the ar-jar method ensures that any drop/repeat at any such time is only a single "clean" frame and not a "burst" of frames as is normally the case. Better I think than just turning vsync correction off as Owlsroost currently does. Using this method I am not sure there is any real need to get info direct from Reclock.

By the way, unlike what is said in the opening post of the MP thread, Reclock vsync correction, when it works, also works fine with DXVA, except, for obvious reasons, it is not possible to display any of the Reclock vsync information overlays (tearing bar, vsync position/target). If you need the onscreen display to correctly set the marker you need to do that with DXVA off, then set it on when you are done. It is arguable that turning on DXVA might change the ideal marker position, but normally the range of acceptable values is high enough that it does not matter. If you are very close to the edge then turning on DXVA might cause a problem, in which case you might need to experiment with moving the target a little one way or the other and seeing if that solves the issue, but really you should set the target well away from where judder might start anyway. The opening post is now very out of date. Predates Slysoft developments. It should probably be updated.
 
Just gave MPC-HC another shot(try it from time to time to test stability) but for me its not stable enough and lack some functionality I'm used to from ZP. MPC crashes when I seek 1/5 of the times.

So I guess I have to live with this v-sync problem for now. I cant find any EVR D3D exclusive mode in ZP by the way, only for VMR9.
 
Hi Jong (or James),

I'm one of the MediaPortal users who is playing around with the current EVR Custom Presenter code.

Do you know what timing parameters/signals ReClock manipulates in the render chain when it's changing the video timing e.g. speeding up 24fps to 25/50fps is a +4% rate increase, but this doesn't appear to change the reported video sample presentation times or sample durations, so how is it changing the timing ?

Tony
 
Hi there.

Very much one for James (as I explained to Red5 above)! Just a user here although admittedly one who has spent a lot of time working with vsync!

A question I asked Red5 by PM, as I thought it was a bit OT. I see from the MP thread that you are looking at ar-jar's code. is there a reason why you have not just lifted his "Present at nearest vsync" option. That seems to do roughly what you are trying to do but with the additional advantages that it will work fine when Reclock is altering frame rates (Reclock vsync off). And it does not need to turn itself off when frame rate and refresh rate do not match. In fact, in that situation, it still helps by reducing judder to a single clean dropped/repeated frame each time the frames and vsync "lap" each other, instead of the "burst" of judder more typically seen.

Also, if you could allow an option to turn off the vsync code completely (as offered in ar-jar's code) users who wish to use Reclock vsync correction could do so with your renderer with Aero ON.
 
ps. in case James is busy, my "dumb user" explanation of what Reclock is doing is that it replaces the reference clock, normally provided by the audio renderer, so, in the case of speed up to 25p, the 'player' thinks time is moving ~4% faster than it really is. Have a look at the readme in the Reclock program folder.
 
Last edited:
Hi Jong,

Thanks for the info/suggestions - I've just posted a trial version over at the MP forum with vsync correction enabled all the time, so we'll see if people like it :)

Tony
 
ps. in case James is busy, my "dumb user" explanation of what Reclock is doing is that it replaces the reference clock, normally provided by the audio renderer, so, in the case of speed up to 25p, the 'player' thinks time is moving ~4% faster than it really is.

I couldn't have said it better.
 
Try use MPC-HC's EVR Custom (with it's own v-sync and accurate v-sync enabled). It is brilliant (with aero enabled).

I have the same problem of jerky playback with MPC-HC as well.

Update
I found that the jerky playback problem is due to the latest NVIDIA drivers 197.45. I fell back to 195.62 and now everything's fine.
 
Last edited:
Back
Top