[MPlayer-dev-eng] [BUG] expand=-1:-1:-1:-1:1, getting black blocks

Arpi arpi at thot.banki.hu
Sat Oct 12 18:02:43 CEST 2002


Hi,

> > i'll look at it.
> thx.

looked.
Micahel's 2nd patch should work, anyway the better workaround:

Index: vf_expand.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_expand.c,v
retrieving revision 1.16
diff -u -r1.16 vf_expand.c
--- vf_expand.c 10 Sep 2002 22:18:32 -0000      1.16
+++ vf_expand.c 12 Oct 2002 15:58:44 -0000
@@ -185,12 +185,7 @@
 static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
 //    if(mpi->type==MP_IMGTYPE_IPB) return; // not yet working
 #ifdef OSD_SUPPORT
-    if(vf->priv->osd && (mpi->flags&MP_IMGFLAG_PRESERVE)){
-       // check if we have to render osd!
-       vo_update_osd(vf->priv->exp_w, vf->priv->exp_h);
-       if(vo_osd_check_range_update(vf->priv->exp_x,vf->priv->exp_y,
-           vf->priv->exp_x+mpi->w,vf->priv->exp_y+mpi->h)) return;
-    }
+    if(vf->priv->osd) return;
 #endif
     if(vf->priv->exp_w==mpi->width ||
        (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH)) ){

It will disallow direct rendering if OSD parameter set to 1.
The "problem" is that vf_expand allows directrender if nothing visible on
OSD or the source mpi allow modification of the buffer (MP_IMGFLAG_PRESERVE
not set). If you enable/disable OSD (or a subtitle appear/disappear) while
playing, then DR will be en/disable between frames, maybe confusing the
codec. Imho it's really a codec bug, it should be handled there.


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list