[MPlayer-dev-eng] Re: [PATCH] VFCTRL_PERIODIC_UPDATE

Uoti Urpala uoti.urpala at pp1.inet.fi
Sun Jan 21 19:49:05 CET 2007


On Fri, 2007-01-19 at 16:45 -0500, Jason Tackaberry wrote:
> Sure.  For purposes of establishing context, the most recent cut of the
> whole patch is available at:
> 
> http://urandom.ca/mebox/downloads/patches/vf_overlay_outbuf-2007-01-10-TESTING.diff

The approach used in this patch to update the screen between frames
during low FPS would not work right even if a mechanism to trigger the
filter between frames was added.

First, it's disabled completely if double buffering is enabled, and
double buffering should be enabled in normal use. Now if you disable
double buffering then the vo might really overwrite the old frame as
soon as a new one is drawn or it might work mostly the same as with
double buffering (changing contents at flip() only). Since only flip()
is timed and decoding is always done immediately after the previous
frame has been flipped, in the first case timing of low-fps video is
broken completely (not only broken overlay). In the second case the
following happens:

frame A should appear at time 1, frame B at time 2. overlay is updated
at time 1.1.

time=0.01 draw frame A
time=1.00 flip frame A
time=1.01 draw frame B
time=1.10 overlay update and vo flip is done based on frame B, which
          thus appears 0.9 seconds too early.





More information about the MPlayer-dev-eng mailing list