[Mesa-dev] [PATCH 11/11] st/va: add config support for 10bit decoding

Mark Thompson sw at jkqxz.net
Thu Mar 9 23:14:43 UTC 2017


On 09/03/17 14:08, Christian König wrote:
> 
> Done, new set on the mailing list.
> 
> I've dropped the VDPAU support since nobody seems to be interested in that any more.
> 
> Any more comments or are we good to go with that?

Decode all looks good now.

Postprocess-scale of P016 still misses the chroma plane, fixed by:

diff --git a/src/gallium/state_trackers/va/postproc.c b/src/gallium/state_trackers/va/postproc.c
index fbec69aec3..8467b0e8f4 100644
--- a/src/gallium/state_trackers/va/postproc.c
+++ b/src/gallium/state_trackers/va/postproc.c
@@ -292,7 +292,8 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex
    src_region = vlVaRegionDefault(param->surface_region, src_surface->buffer, &def_src_region);
    dst_region = vlVaRegionDefault(param->output_region, context->target, &def_dst_region);
 
-   if (context->target->buffer_format != PIPE_FORMAT_NV12)
+   if (context->target->buffer_format != PIPE_FORMAT_NV12 &&
+       context->target->buffer_format != PIPE_FORMAT_P016)
       return vlVaPostProcCompositor(drv, context, src_region, dst_region,
                                     src, context->target, deinterlace);
    else

P016 -> NV12 then still fails because NV12 surfaces are by default created interlaced and P016 are not.  I guess I can live with that, though, because the encoder runs into the same problem (and, like there, VAAPI_DISABLE_INTERLACE is usable as a workaround).

After that, everything I would expect to work does and the series is Reviewed-by: Mark Thompson <sw at jkqxz.net>.

Thanks,

- Mark


More information about the mesa-dev mailing list