[Windows] YADIF avfilter causing choppy playback on Atom since recent nightly
#1
The team introduced yadif (software) deinterlacing as part of the ffmpeg avfilter integration in the most recent nightly build (June 22). This causes choppy playback of DVDs (frame losses of 1-3/second). Except for turning deinterlacing completely off, there's no option that is light enough for the Atom (330) CPU anymore.

My vision is that we should have a chain of HW Decoding -> HW Deinterlacing -> HW Scaling that works smoothly on the ION processor (widely recognized as the bare minimum for a 1080p mediacenter).

Decoding:
Most decoding works fine on hardware, except for DVDs. Currently DVD (IFO/VOB or ISO) decoding only works through software. I guess the reason is because of the navigation structure. The code potentially supports moving this to hardware decoding (see comments by elupus here) however when trying this, the DXVA implementation crashes upon the first stream change. So DXVA needs to be fixed to support the stream changes during playback.

Deinterlacing:
The solution for the deinterlacing load would be to offload it to hardware using DXVA. A few people (a11559 and isidrogar - see this forum here and here) are working on getting DXVA deinterlacing working correctly. For those with a DVD collection or (HD)TV recordings it would really be nice to get proper deinterlacing working in Windows. Those patches described there work nicely but are unfortunately broken now with the most recent addition of avfilter.

Scaling:
The problem seems to be the framerate. If HW Deinterlacing doubles the framerate (like most algorithms do) using HQ HW scaling is too heavy on the ION (see here). It's key to make a simple LQ HW scaler available (currently called "DXVA" in these patches) or software bilinear. Again ideally, an 'automatic' option should determine what scaling to use, based on the Frame rate.

So we have nearly all components available somewhere in this forum, now we just need to get it together!!

Thanks to the brave souls that are making this possible.
Reply
#2
Just added a comment to the commit with this issue. Yadif is a great deinterlacer and XBMC certainly needs a good SW deinterlacer. However the commit broke a few things, most noticeably the output framerate is doubled disregarding whether or not deinterlacing is actually made to the video. This breaks certain things like auto refresh rate automatic video scaling.

So in the end I think we should have a solution with both Yadif and DXVA deinterlacing living side-by-side. Yadif is great for people without DXVA2 (XP users) or those who do not want to use hardware acceleration.

EDIT: Submitted a pull req which addresses the framerate/automatic scaler problems with yadif. Wink
Reply

Logout Mark Read Team Forum Stats Members Help
[Windows] YADIF avfilter causing choppy playback on Atom since recent nightly0