MP1 EVR Presenter/dshowhelper community development (8 Viewers)

OnkelChris

Retired Team Member
  • Premium Supporter
  • October 17, 2007
    764
    59
    Home Country
    Germany Germany
    AW: Re: MP1 EVR Presenter/dshowhelper community development

    Win 7 is able to report accurate refresh rates - Vista can't, so I have to use the estimator for Vista i.e. my system - I'll loosen up the matching limit so it's more likely to get a correct refresh rate match - problem is, it doesn't go wrong for me so it's hard to test it.....

    Unfortunately, the estimation works not as expected on my system... I think many dropped frames and a light stutter where introduced with this. Right now, I'm working on the dshowhelper :) I will report back in few minutes


    EDIT:

    In 'Scheduler.cpp' the Timer and Worker threads are under Multimedia Class Scheduler Service (MMCSS) control - the SchedulerThread isn't (because it seems to have side effects sometimes) but you could try enabling it - just un-comment the code blocks at the beginnng & end of the function.

    Seems to have no effect. I will try few days, to see if there are improvements...



    You could also try commenting out:

    p->pPresenter->NotifyTimer(hnsTargetTime); //Wake up Timer thread

    and modify 'timDel + 1' to 'timDel' on the next line, so that the TimerThread timer isn't used - it will save a little bit of CPU time.

    Tried this. But this makes it really worse. Dropped frames everywhere :p




    In 'EVRCustomPresenter.h' if you:

    // uncomment the //Log to enable extra logging
    #define LOG_DELAYS //Log

    Will do this and collect some logs.


    EDIT2:

    only modification: deleted refresh rate estimation.


    a little part of the logs (no dropped frames), while playing a 1080i .ts file:

    Code:
    09-07-2010 14:20:14.694 [598]High latency in TimerThread: 11.54 ms
    09-07-2010 14:20:15.159 [598]High latency in TimerThread: 10.42 ms
    09-07-2010 14:20:16.176 [598]High latency in TimerThread: 10.90 ms
    09-07-2010 14:20:16.276 [598]High latency in TimerThread: 10.51 ms
    09-07-2010 14:20:16.930 [6d4]High WFMO timeout latency in SchedulerThread: 6.11 ms, target: 5.27 ms
    09-07-2010 14:20:17.826 [598]High latency in TimerThread: 10.74 ms
    09-07-2010 14:20:17.826 [598]High latency in TimerThread: 10.82 ms
    09-07-2010 14:20:18.160 [598]High latency in TimerThread: 11.19 ms
    09-07-2010 14:20:19.038 [6d4]High WFMO timeout latency in SchedulerThread: 6.65 ms, target: 2.14 ms
    09-07-2010 14:20:19.521 [598]High latency in TimerThread: 11.42 ms
    09-07-2010 14:20:20.527 [598]High latency in TimerThread: 12.23 ms
    09-07-2010 14:20:20.620 [6d4]High WFMO timeout latency in SchedulerThread: 5.88 ms, target: 2.17 ms
    09-07-2010 14:20:22.638 [598]High latency in TimerThread: 24.96 ms
    09-07-2010 14:20:22.638 [598]High latency in TimerThread: 25.03 ms
    09-07-2010 14:20:23.026 [598]High latency in TimerThread: 11.66 ms
    09-07-2010 14:20:23.086 [6d4]High WFMO timeout latency in SchedulerThread: 5.76 ms, target: 1.60 ms
    09-07-2010 14:20:23.119 [6d4]High WFMO timeout latency in SchedulerThread: 5.04 ms, target: 1.20 ms
    09-07-2010 14:20:23.292 [6d4]High WFMO timeout latency in SchedulerThread: 11.00 ms, target: 1.15 ms
    09-07-2010 14:20:23.338 [598]High latency in TimerThread: 13.54 ms
    09-07-2010 14:20:23.357 [598]High latency in TimerThread: 10.59 ms
    09-07-2010 14:20:23.357 [598]High latency in TimerThread: 10.68 ms
    09-07-2010 14:20:23.371 [6d4]High WFMO timeout latency in SchedulerThread: 7.36 ms, target: 2.20 ms
    09-07-2010 14:20:23.392 [6d4]High WFMO timeout latency in SchedulerThread: 10.78 ms, target: 1.09 ms
    09-07-2010 14:20:23.491 [598]High latency in TimerThread: 10.54 ms
    09-07-2010 14:20:24.709 [598]High latency in TimerThread: 12.53 ms
    09-07-2010 14:20:24.709 [598]High latency in TimerThread: 12.61 ms
    09-07-2010 14:20:26.113 [598]High latency in TimerThread: 17.45 ms
    09-07-2010 14:20:26.113 [598]High latency in TimerThread: 17.54 ms
    09-07-2010 14:20:27.124 [598]High latency in TimerThread: 10.49 ms


    LiveTV is running. 95.000 frames drawn, 208 dropped.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    I agree with Tourettes, but my 0.02% figure was with ReClock in use (which solves most of the A/V clock sync problem), and quite often on my system the frames are dropped in groups e.g. 2-3 frames dropped over a 10s period, then no drops for 10-20 minutes - which I think points to some high-priority process/driver causing the drops.

    Indeed, not all dropped frames are sourced from that A/V clock sync issue. But for example on my dev PC the 1.0001 to 1.0002 seems to be the speed how much the A/V clock sync is drifting.

    And yes, signal corruption on live TV will produce dropped frames :)

    Yep, good way to notice those are to open the TsReader.log and check if it has any discontinuity errors reported on the time when the frame is dropped.

    Win 7 is able to report accurate refresh rates - Vista can't, so I have to use the estimator for Vista i.e. my system - I'll loosen up the matching limit so it's more likely to get a correct refresh rate match - problem is, it doesn't go wrong for me so it's hard to test it.....

    You could always write some kernel side code that steals few CPU cycles on random basis :p
     

    Jay_UK

    Test Group
  • Team MediaPortal
  • October 6, 2009
    1,780
    283
    Derby
    Home Country
    United Kingdom United Kingdom
    Hi there,

    Yes... this is the same idea/concept that Reclock uses.

    You create a virtual/software clock that is used instead of the hardware Video/Audio clocks - such that there is one common clock for both types of media

    J.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Tourettes,

    Thats great news :)

    As a small teaser... 24 fps MT2S clip played on 50 Hz monitor (without a Reclock). 105 minutes of playback, not a single dropped frame nor any juddering :D - this is a result of combining some internal development work on audio renderer and EVR presenter and Owlsroost's work on EVR presenter.
     

    Attachments

    • teaser.jpg
      teaser.jpg
      177.4 KB

    red5goahead

    MP Donator
  • Premium Supporter
  • November 24, 2007
    695
    144
    Italy, North West
    Home Country
    Italy Italy
    Tourettes,

    Thats great news :)

    As a small teaser... 24 fps MT2S clip played on 50 Hz monitor (without a Reclock). 105 minutes of playback, not a single dropped frame nor any juddering :D - this is a result of combining some internal development work on audio renderer and EVR presenter and Owlsroost's work on EVR presenter.

    wow. Glad to believe that when I will can test it;) But with or without decode multi-channell to pcm? Tell us more Tourettes. :D
     

    Jay_UK

    Test Group
  • Team MediaPortal
  • October 6, 2009
    1,780
    283
    Derby
    Home Country
    United Kingdom United Kingdom
    Tourettes,

    Now you're just showing off ;)

    As above, if you need a tester? :)

    Cheers,

    J.
     

    Users who are viewing this thread

    Top Bottom