Yadif x2 frame double deinterlace stops after a while?

Synergist

Member
I have a setup where I'm capturing an interlaced source inside OBS from a capture card, applying a filter to do double Yadif deinterlacing (producing 50 progressive frames from the 25i source) then sending over NDI within OBS, as well as producing an audio only NDI source with the audio effect filter to get around the problems with NDI audio drift. OBS is the latest stable Windows version, there's only a single scene with just this one source enabled and everything is running at native resolution and frame rate. I've also matched the display resolution to the OBS frame rate.

For a while after starting OBS up, the Yadif double deinterlace works great and a 50 fps stream is presented over NDI. Then suddenly for no reason the deinterlacing seems to internally revert to a single Yadif (blended frames) which look filmic instead of the 50 fps output I'm after.

At this point I can then see the double deinterlacing periodically alternating between a 25 fps look and a 50 fps look, seemingly at random; if I restart OBS it continues to double framerate Yadif deinterlace once reopened until it stops again.

This happens irrespective of OBS colourspace and canvas frame rate. https://obsproject.com/logs/pt9km5pCFrekk1TI

Has anyone encountered this issue when applying a double Yadif deinterlace? Is there a bug with the Yada deinterlacing which hasn't been resolved? I

t would also be good to incorporate newer algorithms into OBS like bwdif (a qualitative and performance improvement over Yadif), or perhaps be able to pipe video into FFmpeg for processing/filtering before bringing back into OBS, thus allowing use of FFmpeg filters.
 

Synergist

Member
I presumed OBS deinterlacing is still done with GPU shaders, and something was causing the GPU enough additional work to cause problems with the double Yadif routine. It was almost like it was dropping back to single Yadif or worse for a period of some minutes before the double frame rate output resumed. This would sometimes flip-flop multiple times a minute.

I've been able to do some more testing, and interestingly my other machine with a 3080 didn't exhibit the same problem. Both machines also run Process Lasso in an attempt to optimise thread utilisation and prevent per-thread overloading and both were on the same Nvidia graphics driver versions.

So, I returned to the other machine - a fresh Windows 10 install with new drivers and almost nothing else installed - to do some comparisons. I noticed that on the problematic machine, though I had previously experimented with the performance settings in the NVidia profiler, I had not set OBS to High Performance graphics mode in Windows (in Graphics Settings), so I did that. I also enabled the Hardware Accelerated GPU Scheduling option and rebooted.

Following that, the problem appeared to not be happening any more after a few hours, so I then updated Nvidia drivers to the very latest version (I usually run a few releases behind) and it still appeared to be OK after more prolonged periods of deinterlacing.

I'll conduct further tests, but it seems like on 21H2 those performance tweaks may be required. I'd already done them some time ago on my other PC with the 3080.
 
Top