DirectFB - Home of the pragmatist Roadmap

[directfb-dev] Re: Seeing "tearing" using mplayer dfbmga
Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[directfb-dev] Re: Seeing "tearing" using mplayer dfbmga

  • To: DirectFB-dev Mailinglist <>
  • Subject: [directfb-dev] Re: Seeing "tearing" using mplayer dfbmga
  • From: Ville Syrjälä <>
  • Date: Wed, 4 Dec 2002 06:08:58 +0200
  • Content-transfer-encoding: 8bit
  • Content-type: text/plain; charset=iso-8859-1
  • In-reply-to: <20021204020919.GD29425@pc.ilinx>; from on Tue, Dec 03, 2002 at 09:09:23PM -0500
  • Mail-followup-to: DirectFB-dev Mailinglist <>
  • References: <20021129040837.GD2597@pc.ilinx> <> <20021129133503.GE2597@pc.ilinx> <> <20021204020919.GD29425@pc.ilinx>
  • Sender:

On Tue, Dec 03, 2002 at 09:09:23PM -0500, wrote:
> OK, I have mplayer patched as such now
> 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?


> 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ä

Info:  To unsubscribe send a mail to with 
"unsubscribe directfb-dev" as subject.

Home | Main Index | Thread Index / Development / Old Archives