[MPlayer-dev-eng] [PATCH] avoid flickering while resize

Attila Kinali kinali at gmx.net
Mon Aug 25 23:05:58 CEST 2003


On Mon, 25 Aug 2003 22:39:24 +0300
Tomas Simonaitis <haden at homelan.lt> wrote:

> On Monday 25 August 2003 21:41, Attila Kinali wrote:
> > On Fri, 22 Aug 2003 13:41:57 +0300
> >
> > Tomas Simonaitis <haden at homelan.lt> wrote:
> > > Patch applies for vo_xv only.
> >
> > That's bad ;)
> 
> Then I'll update other vo's too ;)

Go for all that include x11_common.h
 
> > > @@ -424,9 +438,9 @@
> > >       mp_msg(MSGT_VO,MSGL_V, "[xv-fs] dx: %d dy: %d dw: %d dh:
> > > %d\n",drwX,drwY,vo_dwidth,vo_dheight ); }
> > >    }
> > > - if ( e & VO_EVENT_EXPOSE )
> > > + if ( e & VO_EVENT_EXPOSE && int_pause)
> > >    {
> > > -#ifdef HAVE_SHM
> > > +/*#ifdef HAVE_SHM
> >
> > Oops.. this will break compile on systems that do not have shared
> > memory.
> 
> How come? I didn't really understood why this code:

There are versions that do not support shared memory,
ie if you delete the ifdev it wont compile anymore because
it cant find the symbols.

> #ifdef HAVE_SHM
>    if ( Shmem_Flag )
>     {
>      XvShmPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 
> 0, 0,  image_width, image_height, drwX, drwY, 1, 1, False);
>      XvShmPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 
> 0, 0,  image_width, image_height, drwX,drwY,vo_dwidth,(vo_fs?vo_dheight - 
> 1:vo_dheight), False);
>     }
>    else
> #endif
>     {
>      XvPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 
> 0,  image_width, image_height, drwX, drwY, 1, 1);
>      XvPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 
> 0,  image_width, image_height, drwX,drwY,vo_dwidth,(vo_fs?vo_dheight - 
> 1:vo_dheight));
>     }
>   }

It just checks first whether the library supports shared memory,
if yes, try to use it, if not activated or not available 
use the traditional way.

 
 
> I've found little bug with pausing, I'll fix it together with other fixes you 
> mentioned.

Ok, just give a description what the code should do.


> I have additional idea: currently unused borders due different aspect ratio 
> are, well, unused :)
> It would be nice idea to put some OSD data there (time, progress), or maybe 
> even subtitles, so they won't interfare with movie. 
> What do you think?

The borders you see in a x11 window (may it be x11, xv or xmga)
are encoded in the movie itself. Unless you switch into fullscreen 
mode, you wont get any additional black bars.
Now your idea seems to make sense to use it, but as far as i understand
the osd code, it's not easily possible to use x11 directives to draw it
in an additionall window outside the movie (but i may be wrong).
You might want to have a look at the code of libmpcodecs/vf_expand.c
which actualy implements such a feature by adding additional black
bars to the picture.



		Attila Kinali
-- 
Chu beyond the blackest chu, Deeper then the deepest pika, King of pikachu who 
shines like gold on the sea of electric. I call upon thee, swear myself to thee,
Let the fools who stand before me be destroyed by the power you and I possess...
PIKASLAVE!!!               -- http://bash.org/?23393



More information about the MPlayer-dev-eng mailing list