MP1 EVR Presenter/dshowhelper community development

Discussion in 'General Development (no feature request here!)' started by Owlsroost, April 20, 2010.

  1. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    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: October 7, 2012
    • Like Like x 56
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. tourettes
    • Premium Supporter

    tourettes Retired Team Member

    Joined:
    January 7, 2005
    Messages:
    17,301
    Likes Received:
    4,595
    Ratings:
    +4,810 / 3
    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.
     
  4. mrmojo666
    • Premium Supporter

    mrmojo666 MP Donator

    Joined:
    January 24, 2006
    Messages:
    595
    Likes Received:
    94
    Gender:
    Male
    Occupation:
    ALM
    Location:
    Turin
    Ratings:
    +141 / 0
    Home Country:
    Italy Italy
    Show System Specs
  5. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    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
     
    • Like Like x 4
  6. anvandarnamn

    anvandarnamn Portal Pro

    Joined:
    February 15, 2007
    Messages:
    84
    Likes Received:
    3
    Ratings:
    +3 / 0
    Home Country:
    Sweden Sweden
    thanks!

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

    best regards!
     
  7. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
  8. red5goahead
    • Premium Supporter

    red5goahead MP Donator

    Joined:
    November 24, 2007
    Messages:
    695
    Likes Received:
    96
    Gender:
    Male
    Occupation:
    Software engineering
    Location:
    Italy, North West
    Ratings:
    +144 / 1
    Home Country:
    Italy Italy
    Show System Specs
    Do you think is it already reliable with Pal Speedup or Pal Speedown processing?
     
  9. cecet23
    • Premium Supporter

    cecet23 MP Donator

    Joined:
    March 18, 2009
    Messages:
    137
    Likes Received:
    8
    Occupation:
    Software developer
    Location:
    Perugia
    Ratings:
    +9 / 0
    Home Country:
    Italy Italy
  10. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    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
     
    • Like Like x 1
  11. disaster123
    • Premium Supporter

    disaster123 MP Donator

    Joined:
    May 14, 2008
    Messages:
    3,546
    Likes Received:
    417
    Ratings:
    +431 / 2
    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.
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!