2011-06-23, 10:00
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.
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.