A guide to stutter free playback with Reclock (2 Viewers)

Owlsroost

Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    One issue that Scythe noticed in MP1 EVR presenter code is that the sample queue is not tried to fill, unless it is almost empty. This could cause some dropped frames on busy, lower end systems. Worth to check / change for the next DLL that is build for testing:

    In ReturnSample()
    Code:
    if (tryNotify && m_iFreeSamples == 1 && m_bInputAvailable)

    Should be:
    Code:
    if (tryNotify && m_iFreeSamples < NUM_SURFACES && m_bInputAvailable)

    I think that is causing some major stutters even on higher end systems like mine, makes DXVA stop for a few seconds before resuming with an unmodified mp 1.1.0 dshowhelper.dll, it's very annoying!!

    The change mentioned (along with many others, including background polling of the EVR mixer for data) is incorporated into the dshowhelper versions here - have you tried them ?

    If you are getting long pauses, it's unlikely to be the dshowhelper causing it - it's more likely to be other performance issues.

    Tony
     

    red5goahead

    MP Donator
  • Premium Supporter
  • November 24, 2007
    695
    144
    Italy, North West
    Home Country
    Italy Italy
    As Owlsroost knows, my opinion is that new evr renderer work perfect with reclock. I've no problem at all even when a speedup Pal is running.
    After several months , maybe years, I tried few days ago MP on the secondary monitor (obviously in extended mode). My htpc standard configuration launch MP on the primary monitor (a Panasonic plasma connected through dvi-hmdi) after I switch , by LM Rempote script, that monitor and the previous primary one (a Lcd 19" I use for other purposes).
    If MP run on the secondary monitor (that would be easier) new renderer and reclock work huge better than before but not very clean and unsmooth like in the normal setup. Sometimes there are v-synch issues I guess. Maybe Owlroost may explain why and if it will possible to solve it.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Sometimes there are v-synch issues I guess. Maybe Owlroost may explain why and if it will possible to solve it.

    If primary and secondary displays have different refresh rate then it will be issue inside AERO, since it cannot sync to two different refresh rates (I assume it would be quite complex to be able to renderer one window with two different refresh rates - window can be located on multiple displays at the same time.)
     

    red5goahead

    MP Donator
  • Premium Supporter
  • November 24, 2007
    695
    144
    Italy, North West
    Home Country
    Italy Italy
    Sometimes there are v-synch issues I guess. Maybe Owlroost may explain why and if it will possible to solve it.

    If primary and secondary displays have different refresh rate then it will be issue inside AERO, since it cannot sync to two different refresh rates (I assume it would be quite complex to be able to renderer one window with two different refresh rates - window can be located on multiple displays at the same time.)

    Yes. primary monitor work at 75 HZ. secondary at 50 HZ. But it's quite normal.
    Owlroost do you think a MP log could explain that?
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Sometimes there are v-synch issues I guess. Maybe Owlroost may explain why and if it will possible to solve it.

    If primary and secondary displays have different refresh rate then it will be issue inside AERO, since it cannot sync to two different refresh rates (I assume it would be quite complex to be able to renderer one window with two different refresh rates - window can be located on multiple displays at the same time.)

    Yes. primary monitor work at 75 HZ. secondary at 50 HZ. But it's quite normal.
    Owlroost do you think a MP log could explain that?

    After dshowhelper has done it's vsync correction the video 'samples' are passed on to the Windows DWM (Aero) which - as Tourettes says - applies it's own idea of vsync correction, probably related to the primary monitor vsync, but I don't know for sure.

    Note that the raster/vsync timing information that dshowhelper gets is for the D3D device that MP is actually rendering to, and it measures the refresh rate so it doesn't have to rely on (possibly inaccurate) info from Windows.

    If you disable Aero then dshowhelper will hold the presentation time stable relative to vsync (so you probably won't see tearing) but - on my Vista system at least - it seems much more sensitive to performance issues and random frame dropping.

    Tony
     

    red5goahead

    MP Donator
  • Premium Supporter
  • November 24, 2007
    695
    144
    Italy, North West
    Home Country
    Italy Italy
    If primary and secondary displays have different refresh rate then it will be issue inside AERO, since it cannot sync to two different refresh rates (I assume it would be quite complex to be able to renderer one window with two different refresh rates - window can be located on multiple displays at the same time.)

    Yes. primary monitor work at 75 HZ. secondary at 50 HZ. But it's quite normal.
    Owlroost do you think a MP log could explain that?

    After dshowhelper has done it's vsync correction the video 'samples' are passed on to the Windows DWM (Aero) which - as Tourettes says - applies it's own idea of vsync correction, probably related to the primary monitor vsync, but I don't know for sure.

    Note that the raster/vsync timing information that dshowhelper gets is for the D3D device that MP is actually rendering to, and it measures the refresh rate so it doesn't have to rely on (possibly inaccurate) info from Windows.

    If you disable Aero then dshowhelper will hold the presentation time stable relative to vsync (so you probably won't see tearing) but - on my Vista system at least - it seems much more sensitive to performance issues and random frame dropping.

    Tony

    Mhh. I tried to disable Aero, it start and continue fine but after about 10 minutes and an half the video become jerky.

    17325887.jpg


    Imho there is an issue related to the renderer and the secondary monitor. It's not very important because with the primary new renderer is perfect :D but when it will be release would be nice to announce also this new improvement.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    After dshowhelper has done it's vsync correction the video 'samples' are passed on to the Windows DWM (Aero) which - as Tourettes says - applies it's own idea of vsync correction, probably related to the primary monitor vsync, but I don't know for sure.

    To prevent tearing AERO is rendering only to match the v-sync periods (this comes from DirectX device itself). And as AERO will sync on for the primary monitor only (if refresh rates differ) the 2nd monitor wont ever get smooth playback.

    ...but this is just theory, based on the observations and some "sane" reasoning. If someone has thr truth how AERO and multiple monitors are working please speak or be silent for ever :)
     

    bart0190

    Portal Pro
    January 17, 2009
    153
    1
    Hi,
    I have MP1.1.1, SAF5.0, 24p TV and so far no stuttering problems.
    BUT, I have issues with certain video playback going out of synch. (video is late).
    If tried quite a lot of combinations of codecs etc. and finally found out that the codecs selected in the MP configuration are not taken but the ffdshow audio and video codecs.

    However, do you think that Reclock could help me to get (all) my videos synchronized with audio?

    I just tried ReClock.
    In a first shot I did not see improvements, video ist still (in some video files) late.
    Furthermore, it seems like audio passthrough does not work with ReClock. But as I want to have AC3, DTS to my audio receiver I will need to try to get the issue solved without ReClock.
     

    emphatic

    Design Group
  • Team MediaPortal
  • August 25, 2006
    3,717
    1,178
    Alingsås
    Home Country
    Sweden Sweden
    Hi,
    I have MP1.1.1, SAF5.0, 24p TV and so far no stuttering problems.
    BUT, I have issues with certain video playback going out of synch. (video is late).
    If tried quite a lot of combinations of codecs etc. and finally found out that the codecs selected in the MP configuration are not taken but the ffdshow audio and video codecs.

    However, do you think that Reclock could help me to get (all) my videos synchronized with audio?

    I just tried ReClock.
    In a first shot I did not see improvements, video ist still (in some video files) late.
    Furthermore, it seems like audio passthrough does not work with ReClock. But as I want to have AC3, DTS to my audio receiver I will need to try to get the issue solved without ReClock.

    You might want to try MediaPortal 1.1.2. Alpha as it has smoother playback. I bet the drift of the audio sync is because of dropped frames (can be hard to miss for the naked eye).

    Emph
     

    akajester

    Portal Pro
    October 13, 2008
    318
    17
    Home Country
    United States of America United States of America
    You might want to try MediaPortal 1.1.2. Alpha as it has smoother playback. I bet the drift of the audio sync is because of dropped frames (can be hard to miss for the naked eye).

    Emph

    Can you tell me where to find more information about this? What changes were made to make the playback smoother? I can't find any information about it.

    Thanks!

    akajester
     

    Users who are viewing this thread

    Top Bottom