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