fifo that basically sleep the channel until the start of the next
vblank. Look for NVWaitVSync. We call it in the various
NV*PutTexturedImage functions. I think the overlay is (probably)
automatically locked to the vblank.
If I understand you correctly you want the same image to be displayed
for two frames, i.e. when the tv is showing the first and second
fields.
There's no parameter for that in Xv to know which field a particular
XvPutImage corresponds to as far as I know. In fact I'm not even sure
if Xv knows anything about interlaced video, seems we just get full
frames from the player and display them. XvMC seems a little better,
XvMCPutSurface has first and second field params, so you would then
sync only after the 2nd field is drawn I take it?