(For those familar with the code, 'm_DetectedFrameTime' is way off the correct value when this happens, which - I think - is causing incorrect sample duration correction)
That is a hack to allow 1:2 material to be detected (no other good way to solve it). The code itself is from MPC-HC and I feared it might have some side effect in some specific cases (detection is thrown off). Unfortunately EVR presenter doesn't see the real frame rate and to fix that we would need to implement a custom EVR mixer component...
OK, thanks - could you quickly explain what the purpose of the CorrectSampleTime() function is i.e. why do the sample durations need correction ?
Quick update - I've managed to provoke a 'burst of stuttering with no frame drops' problem with live TV on my system.
I looks like (from the render stats numbers) that something - maybe in the incoming stream timing data - is triggering a bug in the dshowhelper code i.e. it's not a vsync alignment problem in this case.
(For those familar with the code, 'm_DetectedFrameTime' is way off the correct value when this happens, which - I think - is causing incorrect sample duration correction)
Tony
Quick update - I've managed to provoke a 'burst of stuttering with no frame drops' problem with live TV on my system.
I looks like (from the render stats numbers) that something - maybe in the incoming stream timing data - is triggering a bug in the dshowhelper code i.e. it's not a vsync alignment problem in this case.
(For those familar with the code, 'm_DetectedFrameTime' is way off the correct value when this happens, which - I think - is causing incorrect sample duration correction)
Tony
Do you use DXVA for TV? Because I'm only able to reproduce the problem without DXVA (es. xvid 25fps 50hz). With DXVA enabled all works fine.
Maybe it has something to do with DXVA.
For instance an mkv 25fps at 50hz works without stutter since I'm using MPC-HC with DXVA enabled to reproduce it.
However, stutter is no issue if the video framerate matches the refresh rate of the monitor. You can do this if you force bob deinterlacing on all output using FFDSHow as decoder with NV12-output. That works very well with 25fps material.
Do you use DXVA for TV? Because I'm only able to reproduce the problem without DXVA (es. xvid 25fps 50hz). With DXVA enabled all works fine.
Maybe it has something to do with DXVA.
For instance an mkv 25fps at 50hz works without stutter since I'm using MPC-HC with DXVA enabled to reproduce it.
However, stutter is no issue if the video framerate matches the refresh rate of the monitor. You can do this if you force bob deinterlacing on all output using FFDSHow as decoder with NV12-output. That works very well with 25fps material.
Sorry mironicus,
but this looks like deprecable workaround to solve 1:2 video problems, i don't think is correct to deinterlace a progressive source and change the color space to a unusual kind , these two operations add more unnecessary load to CPU and may introduce more artifacts and erroneous colors.
IMHO
Those bursts don't most likely have anything to do with the DXVA. Only think that causes those is the 1:2 fps to Hz ratio.
v2 works really good for me. I have some anime videos that change the frame rate between 29,97 and 23,97 fps sometimes (displayed on the monitor with 60 Hz). This videos now don't stutter anymore. The stutter mainly existed in the parts with 29,97 fps.
On 25fps movies displayed on 50 Hz the stutter is greatly reduced, even if you skip wildly through the video. The standard directshowhelper.dll produced stutter mainly after one or two skips within the video, sometimes also after resuming a video. The stutter usually goes away if you do an additional skip.
However, stutter is no issue if the video framerate matches the refresh rate of the monitor. You can do this if you force bob deinterlacing on all output using FFDSHow as decoder with NV12-output. That works very well with 25fps material.
With v3 and v4 the gui seems to be slowed down. You really see a difference if you display 24fps movies on 60 Hz, pressing Y and let the displayed window go up and down with the cursor keys (B3Wide).