[MPlayer-dev-eng] [BUG] expand=-1:-1:-1:-1:1, getting black blocks
D Richard Felker III
dalias at aerifal.cx
Sun Oct 13 23:48:35 CEST 2002
On Sat, Oct 12, 2002 at 06:02:43PM +0200, Arpi wrote:
> 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.
If it's no longer possible to use DR when there's no OSD text visible,
then there should be a way to disable the nonsense automatic expand
filter in mencoder, since it will (I think?) make things much slower.
Rich
More information about the MPlayer-dev-eng
mailing list