[other] Problems with dropping frames with EVR (1 Viewer)

disaster123

MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Problems with dropping frames with EVR

    again a newer dll here :)

    EDIT: even more newer DLL
    EDIT2: even more newer newer DLL
     

    belcom

    Retired Team Member
  • Premium Supporter
  • February 27, 2009
    154
    42
    44
    Leibnitz
    Home Country
    Austria Austria
    Re: AW: Problems with dropping frames with EVR

    again a newer dll here :)

    EDIT: even more newer DLL
    EDIT2: even more newer newer DLL

    Hi Disaster!

    This seems to be the next bug where we both try to get it done. Nice to meet you again :)
    What is the base SVN of your dll-mod?

    Going to test it...
     

    nyt

    Retired Team Member
  • Premium Supporter
  • October 15, 2009
    199
    48
    Home Country
    United States of America United States of America
    Re: AW: Problems with dropping frames with EVR

    again a newer dll here :)

    EDIT: even more newer DLL
    EDIT2: even more newer newer DLL
    This fixed a good deal of the stutters, but I'm still seeing quite a bit.
     

    OnkelChris

    Retired Team Member
  • Premium Supporter
  • October 17, 2007
    764
    59
    Home Country
    Germany Germany
    AW: Problems with dropping frames with EVR

    hey boys and girls :)

    It was a hard fight, but I finished 2 dshowhelper.dll ! :mad:


    In the ZIP file there a 2 folders with one dshowhelper.dll each! My tests (SD LiveTV, HD recordings, HD samples, Bluray samples):

    Folder 1: Works the best on my system. Most of the time 0 dropped frames, 0 sync glitches and everything in sync!

    Folder 2: Works nearly as good as #1 on my system. Most of the time 0 dropped frames, but few sync glitches and everything in sync!

    I don't have any HD TV, so HD LiveTV isn't tested yet.

    So please test both of these dll's and report which one works better for you. (Logs aren't that important. If tests are positiv, I'll post a patch file)

    Happy testing
    Chris
     

    nyt

    Retired Team Member
  • Premium Supporter
  • October 15, 2009
    199
    48
    Home Country
    United States of America United States of America
    Re: AW: Problems with dropping frames with EVR

    hey boys and girls :)

    It was a hard fight, but I finished 2 dshowhelper.dll ! :mad:


    In the ZIP file there a 2 folders with one dshowhelper.dll each! My tests (SD LiveTV, HD recordings, HD samples, Bluray samples):

    Folder 1: Works the best on my system. Most of the time 0 dropped frames, 0 sync glitches and everything in sync!

    Folder 2: Works nearly as good as #1 on my system. Most of the time 0 dropped frames, but few sync glitches and everything in sync!

    I don't have any HD TV, so HD LiveTV isn't tested yet.

    So please test both of these dll's and report which one works better for you. (Logs aren't that important. If tests are positiv, I'll post a patch file)

    Happy testing
    Chris

    how about you post a patch with the code so we can see whats going on.
    DLL 1: mostly smooth playback. stutters after seek.. Sometimes it still stutters, other times it's smooth. I can't isolate it. It almost seems like the more I seek the worse it gets.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Re: AW: Problems with dropping frames with EVR

    Hi tourettes - at least for me i nailed down the problem or found something strange - perhaps you can help a little bit.

    This part of your code never get's true for me (is this OK?):
    Code:
    if (fabs(p->pPresenter->GetDisplayCycle() - timePerFrame/20000) < 0.0015)

    my values:
    Code:
    p->pPresenter->GetDisplayCycle(): 20.00 timePerFrame: 200000.00 fabs result: 10.00.

    10.00 is never below 0.0015 - also this value is constant all the time. So in my case the delay is constantly this:
    Code:
    delay = hnsSampleTime*3/4;
    and this value is def. too high. In old directshowhelper it was
    Code:
    delay = min(timePerFrame/3, hnsSampleTime/3);

    So if thie above code never get's true for which situation is it? replacing delay = hnsSampleTime*3/4; with delay = min(timePerFrame/3, hnsSampleTime/3); results in no dropped frames for me.


    50 Hz -> display cycle 20ms
    25 fps video -> time per frame 40 ms

    So 400000 / 20000 should provide 20. That other code path should be hit only when fps to Hz ration is 1:2 (I think there is even a comment explaining that, not 100% sure thou).

    About the different delays, those are quite problematic. SVN ones are providing really good results for majority of people (me included). So changing those is a bit miss as they will break the playback quality for people who are now having good playback quality. The frame scheduling is a bit hit an miss in MP1 code :) Unfortunately we aren't planning to re-write it for MP1.

    About the sync glitches, don't look that value too closely, it has not proven to be correct (I see many glitches in the stats, but still the tearing test bar is fluid with no jitter at all). There are two good indicators for the playback quality

    1) dropped frames
    2) tearing test bar must move smoothly across the screen (this can jitter / stutter when no dropped frames occur when the v-sync is not correct one. Happens only on 1:2 material).
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Problems with dropping frames with EVR

    tourettes
    thanks for your reply and explanation. So getdisplaycycletime should be 20 and timeperframe 40. Have you any idea why in my case the values are totally different - even i play normal pal tv on 50hz display?
    See (i got this by adding debug code to the scheduler):
    p->pPresenter->GetDisplayCycle(): 20.00 timePerFrame: 200000.00 fabs result: 10.00.

    Also i cannot see any stuttering in my case with the actual SVN BUT when i look into the evr.log i see a lot of dropped frames. So the question is are the majority of SVN testers looking into their evr.log?

    belcom
    for shure i use the actual SVN. Using an older SVN doesn't make sense for me cause dshowhelper from SVN 24800 results in absolutely 0 dropped frames for me. So i simply have to take this one to fix it for me.
     

    belcom

    Retired Team Member
  • Premium Supporter
  • February 27, 2009
    154
    42
    44
    Leibnitz
    Home Country
    Austria Austria
    Re: AW: Problems with dropping frames with EVR

    again a newer dll here :)

    EDIT: even more newer DLL
    EDIT2: even more newer newer DLL

    Hi Disaster!

    This seems to be the next bug where we both try to get it done. Nice to meet you again :)
    What is the base SVN of your dll-mod?

    Going to test it...

    Playback is way smoother with your mod, in SD and HD.
    But logs still tell a bunch of dropped frames for HD, some for SD.
    For SD the error.log gets flooded with "Invalid Data"...?
     

    cfforce

    MP Donator
  • Premium Supporter
  • March 4, 2008
    241
    21
    Home Country
    Netherlands Netherlands
    OnkelChris,

    After using #1 @ my atom system; dropped frames are gone.! great work. Going to test further also with #2
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Re: AW: Problems with dropping frames with EVR

    @tourettes
    thanks for your reply and explanation. So getdisplaycycletime should be 20 and timeperframe 40. Have you any idea why in my case the values are totally different - even i play normal pal tv on 50hz display?
    See (i got this by adding debug code to the scheduler):
    p->pPresenter->GetDisplayCycle(): 20.00 timePerFrame: 200000.00 fabs result: 10.00.

    time per frame should be 40000 only when 25 fps material is played back. PAL tv is 50 fps interlaced content (HW deinterlaces "doubles" / restores the original 50 fps the frame rate).

    Also i cannot see any stuttering in my case with the actual SVN BUT when i look into the evr.log i see a lot of dropped frames. So the question is are the majority of SVN testers looking into their evr.log?

    Actually all that matters is how the video looks :) Of course no dropped frames should happen, but for the user experience it doesn't make any difference if they happen or not if the user don't see any dropped frames.
     

    Users who are viewing this thread

    Top Bottom