[MPlayer-dev-eng] [PATCH] vdpau

Diego Biurrun diego at biurrun.de
Sun Feb 15 20:17:06 CET 2009


On Sun, Feb 15, 2009 at 07:52:01PM +0100, Reimar Döffinger wrote:
> Hello,
> while there is always something that can be done better (in particular,
> changing both FFmpeg and MPlayer so there is no need to select the codec
> explicitly), I think it is time to propose this for inclusion.
> I do not remember any issues it would have, except that some videos
> cause the computer to almost hang (it should recover after some time if
> you press q to exit MPlayer - at least in part that is an issue on the
> NVidia side).
> The VO supports hardware decoding and YV12, RGB support was removed
> since RGB can not even be used for post-processing (which is not
> implemented yet) and was quite a lot of extra complexity.
> It also does not implement ASS support, and the OSD is suboptimal as
> well since the OSD data is uploaded completely anew on each frame, even
> if the OSD is unchanged.
> The "architectural" stuff like changes to vd_ffmpeg are really small
> now, so that adding e.g. VAAPI support should not create a mess of core
> code (12 lines of new code in vd_ffmpeg.c vs. > 100 in the original version).
> If you have objections, please raise them soon, I am considering to
> apply already tomorrow evening.
> 
> --- a/configure
> +++ b/configure
> @@ -4284,6 +4288,28 @@ fi
>  
> +echocheck "VDPAU"
> +if test "$_vdpau" = auto ; then
> +  _vdpau=no
> +  if test "$_dl" = yes ; then

Is dl really needed?

> @@ -8178,6 +8204,7 @@ XV = $_xv
>  XVID4 = $_xvid
>  XVIDIX = $xvidix
>  XVMC = $_xvmc
> +VDPAU = $_vdpau
>  YUV4MPEG = $_yuv4mpeg
>  ZR = $_zr

alphabetical order

> @@ -8232,6 +8259,7 @@ CONFIG_POSTPROC = yes
>  # Prevent building libavcodec/imgresample.c with conflicting symbols
>  CONFIG_SWSCALE=yes
>  CONFIG_XVMC=$_xvmc
> +CONFIG_VDPAU=$_vdpau
>  CONFIG_ZLIB=$_zlib

alphabetical order

> --- /dev/null
> +++ b/libvo/vo_vdpau.c
> @@ -0,0 +1,812 @@
> +/*
> + * VDPAU vo device with X11 for MPlayer

Just say "VDPAU video output driver" IMO.

> +/* May be used in  software filtering/postprocessing options

nit: two spaces

> + * in MPlayer(./mplayer -vf ..) if we copy video_surface data to

nit: missing space

> +static void video_to_output_surface(void);

This is ugly, please move the function up instead.

Diego



More information about the MPlayer-dev-eng mailing list