[Bug] XVID AVI Stuttering 1080p/50hz after about 20/25 minutes (1 Viewer)

robyf

Retired Team Member
  • Premium Supporter
  • June 20, 2005
    1,076
    278
    52
    Bolzano
    Home Country
    Italy Italy
    First of all I have to say it's not true the problem is not there with SVN24975. It's there but there's is much less stuttering you will even not notice it if you do not use the SHIFT+1.

    From 25012 the problem is worse for me.

    Second, reading this thread https://forum.team-mediaportal.com/...ping-frames-evr-74360/index22.html#post575256 confirmed my suspect the problem is worse from SVN25012 where there was an optimisation for low end GPUs of dshowhelper.dll. This change has a bad impact on high end GPUs, because there is much chance of a frame being rendered in wrong vsync.

    This change leads to less frame drops for low end GPUs but causes this kind of problems.

    If I've understood well this also happens only in software mode (no DXVA) because with DXVA the GPU takes care of vsync synchronisation. This is why it only happens with xvid and not with h.264 and TV.

    Maybe tourettes can confirm this suspect...

    I suppose I can compile a dshowhelper.dll with other parameters and see if it goes well for my configuration, but probably it will not for low end GPUs... maybe it will be possible to have an option in configuration.exe to select high-end/low-end gpus and have at least a couple of different parameters in EVRCustomPresenter.cpp?

    Another thing: now that ati hack has been removed (in term of performance) will it make sense to make new tests with old parameters on low end GPUs?
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Second, reading this thread https://forum.team-mediaportal.com/...ping-frames-evr-74360/index22.html#post575256 confirmed my suspect the problem is worse from SVN25012 where there was an optimisation for low end GPUs of dshowhelper.dll. This change has a bad impact on high end GPUs, because there is much chance of a frame being rendered in wrong vsync.

    Not true in all cases, for exaple I have Nvidia GT220 (not low end card when it comes to media playback) and the DLL from the voting thread that got most votes is the best one for that card as well.

    This change leads to less frame drops for low end GPUs but causes this kind of problems.

    If I've understood well this also happens only in software mode (no DXVA) because with DXVA the GPU takes care of vsync synchronisation. This is why it only happens with xvid and not with h.264 and TV.

    V-sync is handled in all cases by AERO.

    I suppose I can compile a dshowhelper.dll with other parameters and see if it goes well for my configuration, but probably it will not for low end GPUs... maybe it will be possible to have an option in configuration.exe to select high-end/low-end gpus and have at least a couple of different parameters in EVRCustomPresenter.cpp?

    Another thing: now that ati hack has been removed (in term of performance) will it make sense to make new tests with old parameters on low end GPUs?

    For MP 1.1.0 it is too late to do any playback quality optimizations, since we are risking the ones that are already working (only a small group of users are affected currently). And I personaly aren't anymore taking part in the MP1 / playback quality development as previous effort was enough time consuming and I got enough sh*t PMs already. Currently I'm just focusing the MP2 playback area (with Scythe).
     

    edterbak

    Portal Pro
    March 4, 2008
    2,114
    1,176
    Home Country
    Netherlands Netherlands
    Tourettes,

    I hear and understand what you are saying and I do not want to rub you the wrong way.
    But playback of media files is the core function of MediaPortal. It is the fundamental purpose of the program. With this in mind I felt a bit surprised with your statment: "For MP 1.1.0 it is too late to do any playback quality optimizations, since...".
    I understand you or scythe arent working on mp1 anymore, but what is the view about this issue from the devs who still do? Are bugs (big or small) relating to playback still on the to do list for fixes? Just curious :)

    I think you and scythe did a real good job on fixing issues with playback. Id like to thank you for that. :)
     

    robyf

    Retired Team Member
  • Premium Supporter
  • June 20, 2005
    1,076
    278
    52
    Bolzano
    Home Country
    Italy Italy
    I'm with edterbak, basically. But I also understand now you're concentrated on MP-II. Hope that after the release of 1.1.0, the community will try to optimize the quality of playback, where I think a good work has been made 'til now, but there are problems like this that still have to be solved.
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    but there are problems like this that still have to be solved.
    Yes they should.

    But this area of MP1 is very hard to change. There is so much done inside this directshowhelper dll that one small change can cause major troubles.
    The work we did in that dll actually delayed the release of RC1 a lot.
    So i guess that most will understand that our devs are not that keen to open pandoras box again, trying to fix a very specific issue (xvid is really not the common codec for 1080p - nor is the avi container for HD) in 1.1.0.
    This could delay the final release for months.

    Maybe someone is willing to try and fix this issue, but I can not force anyone from the dev team to do so.
    But I will add the issue to mantis so it wont be forgotten.
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    I suppose I can compile a dshowhelper.dll with other parameters and see if it goes well for my configuration, but probably it will not for low end GPUs... maybe it will be possible to have an option in configuration.exe to select high-end/low-end gpus and have at least a couple of different parameters in EVRCustomPresenter.cpp?

    I've been playing around with modifying the dshowhelper code myself, but (as tourettes and infinityloop suggest) it's tricky real-time, timing sensitive stuff so tread carefully :). If you compare the 1.1.0 beta version code with the current version there have been some major changes in the sample scheduling etc (generally for the better for most users).

    If you do have a go at modifying the code, be careful if you use ReClock - this modifies the render pipeline timing in ways that are not reflected in the sample timings.....this can be worked around, but you have to be careful that the 'special case' optimisations don't break the general functionality

    Tony
     

    edterbak

    Portal Pro
    March 4, 2008
    2,114
    1,176
    Home Country
    Netherlands Netherlands
    Indeed, good arguments they all are. :) I fully understand it all. Thank you for aknowledging the bug. Too bad it is indeed like opening pandora's box. :(

    Im just throwing idea's here. Maybe its so crazy it might even work.
    Is it a possibillity to create different versions of the dshowhelper or core.dll etc? One for high end one for low end ATI/NVidia.... etc. Might be easier to specifically target the relating issue's and keep the code cleaner in a way. Although I can imagine it is more difficult to keep track of and update all changes in the multiple file versions.

    Maybe it is indeed wiser to focus on MP II Whats the eta ;)
     

    robyf

    Retired Team Member
  • Premium Supporter
  • June 20, 2005
    1,076
    278
    52
    Bolzano
    Home Country
    Italy Italy
    Thanks for acknoledging the bug, anyway. Hope that someone can fix it.

    I agree you cannot force any developer to fix it but I hope a fix from the community will be considered.

    As for the codec there is a lot of xvid content out there, as you know :)
     

    mironicus

    Portal Pro
    March 9, 2008
    688
    44
    AW: XVID AVI Stuttering 1080p/50hz after about 20/25 minutes

    Have you tried this? (look at the attached picture, try this settings within FFDShow)

    You can use FFDShow to force deinterlacing and double the framerate on all content the decoder outputs (MPEG2, XVID, DIVX, H264...). 25fps content plays with 50 fps and the result is that you don't have any stutter anymore within Mediaportal (all stuttering problems were cured in my case). The gui runs also with 50 fps during video playback (for NTSC: 24/48, 30/60).

    + FFDShow as MPEG2-decoder don't let the GUI flicker
    + GUI always runs smooth while playing videos, doubled framerate on all videos
    + no DXVA problems

    - higher CPU usage, only software decoding (no problem for current CPUs)
    - for deinterlacing 1080P videos you need at least a Radeon 4550/5450 and above, onboard-GPUs like Radeon 3200 are to slow.

    As there are no other decoders available that allows to force deinterlacing and output to NV12 with so much codecs, FFDShow is the only option now. I really hope some coder would allow to force deinterlacing also on decoders like the MPC video decoder etc.
     

    Attachments

    • ffdshow2.png
      ffdshow2.png
      42.9 KB

    robyf

    Retired Team Member
  • Premium Supporter
  • June 20, 2005
    1,076
    278
    52
    Bolzano
    Home Country
    Italy Italy
    I will try this... I only use ffdshow for xvid so no problem for high res videos where I do not have the stuttering.

    Thanks
     

    Users who are viewing this thread

    Top Bottom