I thought it had to be deinterlaced as it was decoded. If we could just decode and send at was ever res (720p, 1080i, 1080p) the stream is in, then work would be offloaded to the TV. Might be a nice option for those of us with marginal video cards.
On 1/19/2011 3:48 AM, Niko Mikkilä wrote:
Well, flat panel TVs have similar deinterlacing algorithms as what VDPAU provides, but it would certainly be a nice alternative.
These are the key requirements to achieve interlaced output:
Get the right modelines for your video card and TV. Draw interlaced fields to your frame buffer at field rate and in the correct order (top field first or bottom field first). When drawing the field to the frame buffer, do not overwrite the previous field still in the frame buffer. Maintain 1:1 vertical scaling (no vertical scaling), so you will need to switch video output to match the source video height (480i, 576i or 1080i). Display the frame buffer at field rate and synchronised to the graphics card vertical sync. Finally, there is NO requirement to synchronise fields, fields are always displayed in the same order they are written to the frame buffer, even if occasionally fields are dropped.
Interesting. Could you perhaps write full instructions to some suitable wiki and post the code that you used to do this? I'm sure others would like to try it too.
--Niko