[Mesa-dev] [PATCH 1/2] st/vdpau: invert interlaced buffer checks

Christian König deathsimple at vodafone.de
Mon Mar 26 06:33:28 PDT 2012


On 24.03.2012 21:18, Andy Furniss wrote:
> Christian König wrote:
>> That wasn't working as supposed.
>
> What is the status of the recent interlaced commits?
>
> AFAICT not enabled yet - I did have a look by doing

Correct, well I started to implement deinterlacing, and both bob and 
weave at least doesn't seems to crash, but except for sw based decoding 
we don't have a good ( and public available :) decoder that outputs 
field planes.

> diff --git a/src/gallium/drivers/r600/r600_pipe.c 
> b/src/gallium/drivers/r600/r600_pipe.c
> index 113dad6..99ef20f 100644
> --- a/src/gallium/drivers/r600/r600_pipe.c
> +++ b/src/gallium/drivers/r600/r600_pipe.c
> @@ -556,9 +556,9 @@ static int r600_get_video_param(struct pipe_screen 
> *screen,
>         case PIPE_VIDEO_CAP_PREFERED_FORMAT:
>                 return PIPE_FORMAT_NV12;
>         case PIPE_VIDEO_CAP_PREFERS_INTERLACED:
> -               return false;
> +               return true;
>         case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED:
> -               return false;
> +               return true;
>         case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE:
>                 return true;
>         default:
>
> With sw decode bob looks OK, but weave is wrong.
>
> I notice the spec says weave should look the same a progressive which 
> I didn't really get, but then I suppose doing 75/25 sampling would be 
> wrong for progressive hmm.

Hui? Well i thought I got weave working also, obviously need to take a 
look at it again. Anyway, this isn't really interesting until somebody 
implements a temporal and/or temporal-spatial deinterlacing. I just 
wanted to have the needed infrastructure ready and public available...

> With ffmpeg12vdpau, with or without this patch I get -
>
> vl/vl_mpeg12_decoder.c:686:vl_mpeg12_end_frame: Assertion 
> `!target->interlaced' failed.

Yeah, as already said, there is no support for field outputs in the 
current shader based decoder.

Christian.


More information about the mesa-dev mailing list