On Sat, Jan 04, 2003 at 12:52:42AM +0200, Ville Syrj�l� wrote: > Here's a quick attempt at triple buffering. When the surface is flipped > the old front buffer is left idle until the next flip. So if Flip() > doesn't get called faster than what the refresh rate is no tearing should > occur.
OK. > No need for vsync. So no -vsync flag needed with triple buffering? > I tried it with CRTC2 and BES /w mplayer and it > seems to work. I've attached a patch to mplayer to make this work. OK. I applied both patches and get the following from mplayer trying to do simply "mplayer -vo dfbmga <file>": Start playing... VDec: vo config request - 480 x 480 (preferred csp: Planar YV12) VDec: using Planar YV12 as output csp (no 0) sh->aspect=1.333333 Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. VO: [dfbmga] 480x480 => 640x480 Planar YV12 vo_dfbmga: Invalid CRTC2 configuration! FATAL: Cannot initialize video driver. init_vo failed FATAL: Could not initialize video filters (-vop) or video output (-vo). alsa-uninit: pcm closed Exiting... (End of file) Also given that I got this error, I found a few problems in the uninit, not checking for valid pointers and the like: Before "c2frame->Release( c2frame )", c2frame should be checked for NULL, and before "subframe->Release( subframe )", subframe should be checked for NULL, and before both "spic->SetOpacity( spic, 0 )" and "spic->Release( spic )" spic needs to be checked for NULL. > Does this improve things for anyone? Brian? Not fair to answer this one yet. :-) I have my fingers crossed though. I will go code digging while I await your opinion on the problem. Likely you will beat me to the answer. :-) b. -- Brian J. Murrell
msg01277/pgp00000.pgp
Description: PGP signature
