Published by Arto Jarvinen on 02 Jan 2010 at 01:36 am
Time to write some code
![]() |
| Time to write some code. |
Christmas is a blessing in many ways, not the least because I chose to take four days of vacation to catch up with some hobby projects and some horse riding after a hectic fall work-wise. As seen from an earlier post I built a new HTPC and also took time to do some changes in the GothSync code. I was perhaps procrastinating a bit since I was afraid that I had been struck by amnesia and that I would have to learn everything all over again. I haven’t looked much into the code since my summer vacation. Starting from scratch would have been a little bit like going to the gym after half a year of sedentary life: it would have hurt! Luckily some synapses remained intact and it wasn’t too hard to catch up and do what I had planned to do a long time.
I added the Sync Renderer (I will probably drop the “Goth” part for brevity and because it seems to give associations to the kind of music that my teenage son is listening to) as an optional renderer to the regular build of MPC-HC. This means that all the other renderers are intact. When I started experimenting I took a shortcut and hacked away on two of the existing renderers, effectively destroying the original renderers. They are now restored.
The Sync Renderer is now added as the last option in the increasingly long list of available renderers. Once it is selected, further synchronization options can be selected from the Synchronization options page. For more documentation, see the Get started page (may be slightly out of date when I write this).
The new version has been committed into the trunk (main development branch) of MPC-HC at SourceForge. Executables are available through the Download page.
Please give any feedback either as a comment here or on this thread at Doom9′s. Report bugs on the SourceForge bug tracker. (A comment on Doom9′s thread would be useful even if you submit a formal bug report. I haven’t got used to visiting the bug tracker regularly yet since I just recently added my code to MPC-HC trunk.)


ADude on 03 Jan 2010 at 00:05 #
Doom9 seems to be down so…
Is the Sync Renderer based on EVR Custom Presenter or VMR9 Renderless or some other ?
More importantly which options in MPC-HC work with your Sync Renderer and which do not ?
There is a whole “Renderer Settings” page – do any of those apply, or are they all disabled ?
Then in Options, I seem to remember that Synchronization page only applies to your code, but what about the other settings in Output (some of which, like resizer are listed as applying to “only VMR7/9 and EVR CP” unquote) ?
As you can see I am giving it a try, as both and you seem to have come back to this topic at the same time. :)
Arto Jarvinen on 03 Jan 2010 at 00:16 #
Yeah, I’ve been trying to reach Doom9′s too… I have tried to gray out everything that isn’t applicable in the dialogs and popup menu (except the “Wait for flushes” renderer menu option), i.e. when you have selected Sync Renderer, most options that are black should work. The renderer is based on EVR. The Synchronization options page is only valid for my renderer and the check-boxes should all be grayed out when using another renderer.
ADude on 03 Jan 2010 at 00:20 #
There is no “Sync to Nearest… ” checkbox – is that always on in your renderer ?
Lastly, what D3DX9.dll is required, and where ?
I have many files, like D3DX9_41.dll in Windows/System32 folder, but the 1465 build found here complains that I do not have a D3DX9 …
Arto Jarvinen on 03 Jan 2010 at 00:40 #
The checkbox is called “Present at nearest vsync” and should be the third option on the Synchronization page. You need the August 2009 DirectX runtime which is version 42.
ADude on 03 Jan 2010 at 03:20 #
Doom9 is back up.
Sync Renderer works fine so far.
I tested it on a 25fps video played back on a 60hz display, and as usual MPC-HC 1043 works fine, later MPC-HC versions have tearing and jerky playback and Sync Renderer works fine.
I’ll keep Sync Renderer and 1465 as my default player and will report any problems.