diff --git a/src/gallium/frontends/va/postproc.c b/src/gallium/frontends/va/postproc.c index 74de1fe3518..11285a6c108 100644 --- a/src/gallium/frontends/va/postproc.c +++ b/src/gallium/frontends/va/postproc.c @@ -251,6 +251,15 @@ static VAStatus vlVaPostProcBlit(vlVaDriver *drv, vlVaContext *context, return VA_STATUS_SUCCESS; } + if (src->buffer_format == PIPE_FORMAT_YUYV || + src->buffer_format == PIPE_FORMAT_UYVY) { + vl_compositor_yuv_deint_full(&drv->cstate, &drv->compositor, + src, dst, &src_rect, &dst_rect, + VL_COMPOSITOR_NONE); + + return VA_STATUS_SUCCESS; + } + if (src->interlaced != dst->interlaced) { deinterlace = deinterlace ? deinterlace : VL_COMPOSITOR_WEAVE; vl_compositor_yuv_deint_full(&drv->cstate, &drv->compositor,