[MPlayer-cvslog] r28743 - trunk/libvo/vo_vdpau.c

Alexander Strasser eclipse7 at gmx.net
Mon Aug 17 01:56:02 CEST 2009


Hi,

  sorry for extremely late reply!

cehoyos wrote:
> Author: cehoyos
> Date: Fri Feb 27 22:52:59 2009
> New Revision: 28743
> 
> Log:
> Add one-field-only output for -vo vdpau.
> Change syntax of -vo vdpau:deint for the last time.
> 
> Modified:
>    trunk/libvo/vo_vdpau.c
> 
> Modified: trunk/libvo/vo_vdpau.c
> ==============================================================================
> --- trunk/libvo/vo_vdpau.c	Fri Feb 27 22:46:13 2009	(r28742)
> +++ trunk/libvo/vo_vdpau.c	Fri Feb 27 22:52:59 2009	(r28743)
> @@ -208,7 +208,7 @@ static void video_to_output_surface(void
>  
>      // we would need to provide 2 past and 1 future frames to allow advanced
>      // deinterlacing, which is not really possible currently.
> -    for (i = 0; i <= !!deint; i++) {
> +    for (i = 0; i <= !!(deint > 1); i++) {
>          int field = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME;
>          VdpOutputSurface output_surface;
>          if (i)

  I do not know the workings of vo vdpau but this change seems a bit
obfuscated. If I understood correctly you need two iterations of the
loop for some of the deinterlacers. Previously the only case this was
not needed was when the deint id was zero so all other ids were
evaluated to one by the double negation. But then this commit added
another id that did not need it, namely number 1, so you changed it
to "deint > 1". AFAIK the relational operators are guaranteed to always
return 0 or 1 and thus render the double negation useless.

  Or am I missing something?

[...]

  Alexander


More information about the MPlayer-cvslog mailing list