home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Support
Codecs, External Players
A guide to stutter free playback with Reclock
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="tourettes" data-source="post: 601218" data-attributes="member: 10858"><p>Sounds like EVR mixer issue. This is something I have tried to solve for a long time and then just gave up. I could figure out how to change the v-sync / EVR mixer frame presentation "spot" (I tried to calculate how v-sync and EVR mixer frame presentation times are differing)</p><p></p><p>basicly it there seems to be two different "clocks". EVR mixer pushes frames at intervals of frame rate and v-sync eats frames at the same interval. Only the "spot" when EVR mixer thinks the frame should be presented is random one (starting a graph / pause changes this spot).</p><p></p><p>Please note that MP doesn't implement a custom EVR mixer, so we are under on MS componet's behavior. Yellow line is the interestig line here (since it shows about the EVR mixer and v-sync correlation, how much frame presentation time differes from the actual v-sync).</p><p></p><p></p><p></p><p>Anything is possible <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /> But you need to take a peek into C++ source codes since all the magic happens in dshowhelper.dll (but don't worry the C++ is not a beast, especially only when you have to work with some logic changes and not to implement nothing new).</p><p></p><p>1) download whole MP trunk from SVN</p><p>2) read trunk\DirectShowFilters\VS Environment Setup.txt </p><p>3) setup the environment according to the document so you are able to compile drectshow & directx related C++ projetcs</p><p>4) open trunk\mediaportal\Core.cpp\Core.cpp.sln in Visual Studio</p><p>5) try to compile dshowhelper project</p><p></p><p>After that you can start experimenting with the EVR presenter code. EVRCustomPresenter.cpp is the most interesting place. Search for the My Dying Bride lyrics reference... "it will come". That will show how you can adjust the v-sync position in crude way (it affects only the time when MP tries to render the frame, GPU still has v-syncs that it obeys).</p><p></p><p>ps. it is always nice to have one new pair of hands getting dirty in dshow / directx / evr... <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big Grin :D" loading="lazy" data-shortname=":D" /></p></blockquote><p></p>
[QUOTE="tourettes, post: 601218, member: 10858"] Sounds like EVR mixer issue. This is something I have tried to solve for a long time and then just gave up. I could figure out how to change the v-sync / EVR mixer frame presentation "spot" (I tried to calculate how v-sync and EVR mixer frame presentation times are differing) basicly it there seems to be two different "clocks". EVR mixer pushes frames at intervals of frame rate and v-sync eats frames at the same interval. Only the "spot" when EVR mixer thinks the frame should be presented is random one (starting a graph / pause changes this spot). Please note that MP doesn't implement a custom EVR mixer, so we are under on MS componet's behavior. Yellow line is the interestig line here (since it shows about the EVR mixer and v-sync correlation, how much frame presentation time differes from the actual v-sync). Anything is possible :) But you need to take a peek into C++ source codes since all the magic happens in dshowhelper.dll (but don't worry the C++ is not a beast, especially only when you have to work with some logic changes and not to implement nothing new). 1) download whole MP trunk from SVN 2) read trunk\DirectShowFilters\VS Environment Setup.txt 3) setup the environment according to the document so you are able to compile drectshow & directx related C++ projetcs 4) open trunk\mediaportal\Core.cpp\Core.cpp.sln in Visual Studio 5) try to compile dshowhelper project After that you can start experimenting with the EVR presenter code. EVRCustomPresenter.cpp is the most interesting place. Search for the My Dying Bride lyrics reference... "it will come". That will show how you can adjust the v-sync position in crude way (it affects only the time when MP tries to render the frame, GPU still has v-syncs that it obeys). ps. it is always nice to have one new pair of hands getting dirty in dshow / directx / evr... :D [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Support
Codecs, External Players
A guide to stutter free playback with Reclock
Contact us
RSS
Top
Bottom