|Site sponsored by IGEL|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[directfb-dev] Re: Seeing "tearing" using mplayer dfbmga
On Tue, Dec 03, 2002 at 09:09:23PM -0500, email@example.com wrote: > OK, I have mplayer patched as such now snip... > > I think this makes it worse. Motion is more juddery and I think I am > seeing at least to "flip-backs" (where during a scene change I think I > am seeing the previous scene and the current scene "toggle" twice -- > current, next, current, next like). Ok that seems to corroborate what I said in my last mail. The registers get programmed just as the vblank occurs and one field comes from the new frame and the other from the old frame. Your computer seems to be just the right speed to make this happen consistently. On my system the WaitForSync() changed the timing slightly so it appeared to eliminate the problem. Try the patch I sent earlier and tell me how it goes... > > To guarantee that we display both fields and always in the same order. > > Hmmm. Just so that I understand, the way MPlayer is working is that > it is building a full frame (both fields) and giving that to the > framebuffer. The hardware then displays one field from the frame > MPlayer stuffed in the framebuffer, then sends a vsync interrupt, then > displays the other field out of the same frame, then another vsync > interrupt happens. Am I right so far? Yep. > What is interesting, is I have a debug statement in the VSYNC ioctl in > matrox_base.c right before the process is put to sleep waiting for the > interrupt. I played an MPEG2 file and counted the debug I got: > > That's a total of 37728 interrupts in (37:52 - 25:09) * 60 = 763 > seconds. 37728 / 763 = 49.44 interrupts per/s. Which is pretty close to 50 fields / sec. Was the file supposed to have some other frame rate? -- Ville Syrjälä firstname.lastname@example.org http://www.sci.fi/~syrjala/ -- Info: To unsubscribe send a mail to email@example.com with "unsubscribe directfb-dev" as subject.