[MPlayer-dev-eng] [PATCH] single-frame offset in EOSD drawing

Reimar Döffinger Reimar.Doeffinger at gmx.de
Fri Mar 6 10:40:15 CET 2009


> diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
> index f158d7e..b6600e2 100644
> --- a/libmpcodecs/dec_video.c
> +++ b/libmpcodecs/dec_video.c
> @@ -415,10 +415,10 @@ int filter_video(sh_video_t *sh_video, void *frame, double pts)
>      // apply video filters and call the leaf vo/ve
>      int ret = vf->put_image(vf, mpi, pts);
>      if (ret > 0) {
> -	vf->control(vf, VFCTRL_DRAW_OSD, NULL);
>  #ifdef CONFIG_ASS
>  	vf->control(vf, VFCTRL_DRAW_EOSD, NULL);
>  #endif
> +	vf->control(vf, VFCTRL_DRAW_OSD, NULL);
>      }

If that is right depends on why it is in that order. If the reason is
that the EOSD is supposed to be drawn _above_ the OSD, the current code
in the vos is wrong, if the EOSD is supposed to be below the OSD, this
code here is nonsense and would make it unnecessarily hard to implement
ASS support in a vo that renders directly instead of making an extra
copy of the images as vo_gl/vo_vdpau do.



More information about the MPlayer-dev-eng mailing list