RFC: Xv field order
Krzysztof Halasa
khc at pm.waw.pl
Mon Jun 22 12:56:20 PDT 2009
Hi,
I'm at a point with all needed hardware info to implement interlaced
mode (mainly for perfect Xvideo playback) in intel driver. Now there is
another question: how should an Xv client interface with it? Do we have
any interlaced field-aware Xv interface?
My assumption (please correct if wrong):
- it requires interlaced display mode (i830+: practically completed).
- the video windows must not be scaled vertically.
- there could be progressive, top-field-first or bottom-field-first
order. PAL uses (generally) TFF, NTSC - BFF. Video may be in any order
and it may change in the middle.
- using textured Xv we can have many video windows on one screen. Each
can have different field order (progressive, TFF or BFF). This also
depends on vertical window position and on panning position. HW
support is not a problem.
- sync events for TFF and BFF are signaled by interrupts. For
progressive video (with interlaced display mode, of course) we can
pick any of these two.
Now: how is a client going to tell the Xserver that it wants
progressive, TFF or BFF video window?
Possibilities:
- attribute: XV_TOP_FIELD_FIRST, writable by the client. 0 = BFF,
1 = TFF. A client could change the value upon a change in the video
material. Could we have 3 values (TFF, BFF, -1 = progressive)? Perhaps
a better name/scheme?
- different XV ports for TFF and BFF. A client would have to change
ports when the video order changes.
- adding field order to Xv specs?
Should it have anything to do with XvMC?
--
Krzysztof Halasa
More information about the xorg
mailing list