MP1 EVR Presenter/dshowhelper community development (1 Viewer)

Owlsroost

Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Hi Folks,

    This thread is for discussions related to community development of the MP 1.1.x/1.2.x dshowhelper, particularly the 'EVRCustomPresenter' code.

    The discussion was started in this thread - https://forum.team-mediaportal.com/...playback-reclock-45834/index8.html#post607913 - so please read those posts first before posting here.

    The most recent versions of my modified MP1 dshowhelper.dll (and source code) are attached below - they work OK on my system (Vista32, nVidia GT430 with 270.90 drivers, with/without ReClock) but have to be regarded as EXPERIMENTAL so tread carefully !

    These dll's are compatible with MP 1.1.0 -> 1.2.3 - compatibility with other MP 1.2.x versions is unknown/untested. They are not compatible with MP 1.3.x versions.

    ReClock is not required, but if you use it please disable vsync correction in ReClock - the dshowhelper does it's own vsync correction internally.

    The various versions are not necessarily better/worse than each other (or the standard dll), they use different logic etc to achieve vsync correction.

    MP 1.2.1 uses a version of v0055f dshowhelper (without MP Audio Renderer support)

    EDIT: New thread started for MP 1.3.x compatible versions - https://forum.team-mediaportal.com/threads/mp-1-3-x-dshowhelper-development.113014/

    Tony

    --------------------------------------------------------

    EDIT: version v004 added - this is basically v003 with the 'tearing test' bars restored and a reversion to a short (5 frame) scanline timing estimator as in v001 (but this is not used for display FPS determination - that comes from Windows)

    EDIT: version v0010 added - this is a more extensive update - vsync correction is always on, the scanline timing estimator has been re-designed, the time delays for vsync correction now use the scheduler loop delay mechanism, timing hysteresis has been added to the presentation decision logic (to hopefully fix the 'synchronised judder' problems when it drops/repeats frames), and the sample buffers have been increased from 5 to 10 - plus a few other minor changes. Note - early feedback is showing problems on low-end GPUs at least...

    EDIT: version v0012 added - many changes to the sample scheduling and delay logic, including using the Multimedia Class Scheduler service (MMCSS) for the worker thread. Uses 10 sample buffers.

    EDIT: In response to Tourettes comments, added v0013 which is the same as v0012 except it only uses 5 sample buffers to minimise GPU memory usage.

    EDIT: Added v0015 dll - fixes issue I found with one video file not starting properly (black screen + audio)

    EDIT: Added v0019 dll + source code patch files. Thread locking/pausing changed to fix crash problem with v0010 - v0017. Improved reliability of SD/HD detection logic.

    EDIT: Recommend Do not use v0010 - v0017 because they have a bug which can crash MP - use v0019 or later instead.

    EDIT: Attachments re-organised.

    EDIT: Added v0020 dll + source code patch files. This has some changes which might help with occasional continous stuttering problems in 1:2 video:display fps ratio situations.

    EDIT: Added v0037 dll + source code patch files. Refresh rate estimator modified, render stats display simplified, more efficient averaging code, thread pausing logic improved, better handling of DVD menus with looping background video, better handling of situations where video fps is higher than display refresh rate.

    EDIT: Added v0055a dll - fixes minor bugs in display refresh rate estimation and vsync correction.

    EDIT: Added v0055b dll - filter graph info added to render stats screen. This version requires 'Microsoft Visual C++ 2010 Redistributable Package' to be installed.

    EDIT: Added v0055c dll - Fix for MS DTV-DVD decoder crash-after-pause bug. This version requires 'Microsoft Visual C++ 2010 Redistributable Package' to be installed.

    EDIT: Older versions removed to tidy things up.

    EDIT: Added v0055e dll - Improved handling of some non-integer video:display FPS ratios for MP Audio Renderer (see https://forum.team-mediaportal.com/...ayback-quality-84441/index121.html#post730976 and following posts). This version requires 'Microsoft Visual C++ 2010 Redistributable Package' to be installed.

    EDIT: Added v0055f dll (same version as in MP Audio Renderer v21a zip file)

    EDIT: Added v0078_part_DWM dll - this version uses 'queued' mode in Aero/DWM to try and improve playback smoothness with some video cards/drivers. It is an alternative to v0055e - it works better on some systems, but can be worse on others, so try both versions. This is the same dll as the one posted here and requires 'Microsoft Visual C++ 2010 Redistributable Package' to be installed.
    If you are using the MP AudioRenderer you must use the modified version from this post - https://forum.team-mediaportal.com/707555-post675.html - or version 21 or later from https://forum.team-mediaportal.com/637138-post3.html otherwise MP will crash...

    EDIT: v0084_part_DWM dll can be found -> here <-

    EDIT: v0092_part_DWM and v0092a_no_DWM can be found -> here <-


    (Note: If you are testing the new MP audio renderer, only v0055a and later support this)
     
    Last edited:

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Was the dshowhelper.dll version changed? Since we really want to be able to distinguish the version from the RC2 (or any later DLLs). Also it would be preferable to provide a patch instead of the source code zip since it is much easier to integrate in different build environments.
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Was the dshowhelper.dll version changed? Since we really want to be able to distinguish the version from the RC2 (or any later DLLs). Also it would be preferable to provide a patch instead of the source code zip since it is much easier to integrate in different build environments.

    Hopefully a new version will appear later today.

    EDIT: New version attached to first post - this has changes mentioned in discussions, and reverts to using the Windows display refresh rate info (pending a better estimator implementation).

    Tony
     

    anvandarnamn

    Portal Pro
    February 15, 2007
    84
    3
    40
    Home Country
    Sweden Sweden
    Was the dshowhelper.dll version changed? Since we really want to be able to distinguish the version from the RC2 (or any later DLLs). Also it would be preferable to provide a patch instead of the source code zip since it is much easier to integrate in different build environments.

    Hopefully a new version will appear later today.

    EDIT: New version attached to first post - this has changes mentioned in discussions, and reverts to using the Windows display refresh rate info (pending a better estimator implementation).

    Tony

    thanks!

    looking forward to test this!, btw should this be used with rc2 or with latest svn?

    best regards!
     

    red5goahead

    MP Donator
  • Premium Supporter
  • November 24, 2007
    695
    144
    Italy, North West
    Home Country
    Italy Italy
    Was the dshowhelper.dll version changed? Since we really want to be able to distinguish the version from the RC2 (or any later DLLs). Also it would be preferable to provide a patch instead of the source code zip since it is much easier to integrate in different build environments.

    Hopefully a new version will appear later today.

    EDIT: New version attached to first post - this has changes mentioned in discussions, and reverts to using the Windows display refresh rate info (pending a better estimator implementation).

    Tony

    Do you think is it already reliable with Pal Speedup or Pal Speedown processing?
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Pal Speedup/Speedown works OK for me, but just for trial purposes attached is a version which always does vsync correction in normal play mode (as suggested by Jong over at the ReClock forum). I haven't had time to try it myself, but the code change compared to rev 002 is trivial.

    Tony
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: MP1 EVR Presenter/dshowhelper community development

    could somebody explain the difference between these two dlls?

    Also it woud be better to use a version number that MP will never user - like 9999.1.1 or so instead of raising the minor number.
     

    Users who are viewing this thread

    Top Bottom