[MPlayer-dev-eng] [PATCH] Fix vo_macosx osd flicker bug by support double buffer

Ulion ulion2002 at gmail.com
Fri Nov 30 05:21:30 CET 2007


2007/11/28, Ulion <ulion2002 at gmail.com>:
> 2007/11/23, Ulion <ulion2002 at gmail.com>:
> > Hello,
> >
> > I already apply a osd flicker patch for vo_macosx today, but it only
> > fix most common situations.
> > When on an Intel Core 2 Duo mac os 10.4.11 doing digital audio output
> > by ao_macosx, the osd flicker very obviously, so I have to find the
> > reason and fix it.
> >
> > The main reason cause the osd flicker probably be the texture may
> > direct use the image_data, even out of the flip_page call, specially
> > for multi-cpu and multi-thread situation. So the partly rendered frame
> > is showed (osd flicker). To fix this, we have to split the current
> > working image_data and the texture used pixer image. Doublebuffering
> > is a good idea to do this, so I implement double-buffering for
> > vo_macosx. This time double-buffering is different with the one months
> > ago posted, that one is openGL internal double buffering, and won't
> > help to get rid of the osd flicker since the flicker is introduce
> > because the output method and the input method shared same image_data
> > (although not mean to share it, but did shared on some platform).
> > (Don't forget update to newest svn first to apply this patch.)
> >
> > The second patch is for MPlayer OS X to get rid of osd flicker by copy
> > the image_data batch to a local buffer, and all render call only work
> > on the local buffer, this can fix the flicker and still keep use the
> > same shared memory between mplayer.
>
> I will apply the one for vo_macosx in 2 days, the mplayerosx one will
> depend Nicolas' opinion.

Patch for vo_macosx done.

-- 
Ulion



More information about the MPlayer-dev-eng mailing list