2009/8/22 Thomas Hilber vdr@toh.cx:
On Thu, Aug 20, 2009 at 08:31:43AM +1000, Torgeir Veimo wrote:
In my experience, you just have to do deinterlacing in vdpau with interlaced content, even when displaying on an interlaced display. If you try to output interlaced material directly, you get ghosting since the weaved frames are copied to the progressive surface, and the output resolution might be different than the weave pattern.
the main reason why nvidia chooses to deinterlace always even if you use an interlaced video timing is not the scaling problem you mention. This could be eventually solved (albeit not perfectly) by scaling both fields independently.
The main reason is: even with VDPAU there still exists no synchronization between stream and video timing.
I accept that they prefer "always" deinterlacing because they didn't implement proper field parity in their architecture / api / implementation. But I still think they screwed up. The matrox mga 450/550 cards do field parity pretty well, with a simple api, and in 98% of cases with predictable results and with manageable clock drift workarounds. Too bad they offer no mpeg2 or h.264 acceleration.