From 0a5fe1f5246db0152938a6db0da5aad310549437 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Fri, 21 Jul 2023 11:05:35 +0200 Subject: [PATCH] frontends/va: Add YUV420 to NV12 postproc conversion Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7853 Reviewed-by: Thong Thai Part-of: --- src/gallium/auxiliary/vl/vl_video_buffer.c | 1 + src/gallium/frontends/va/postproc.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.c b/src/gallium/auxiliary/vl/vl_video_buffer.c index 1d6b90b312c..a3d6109c335 100644 --- a/src/gallium/auxiliary/vl/vl_video_buffer.c +++ b/src/gallium/auxiliary/vl/vl_video_buffer.c @@ -73,6 +73,7 @@ vl_video_buffer_plane_order(enum pipe_format format) { switch(format) { case PIPE_FORMAT_YV12: + case PIPE_FORMAT_IYUV: return const_resource_plane_order_YVU; case PIPE_FORMAT_NV12: diff --git a/src/gallium/frontends/va/postproc.c b/src/gallium/frontends/va/postproc.c index 243ac8d0f8b..9e96de0b715 100644 --- a/src/gallium/frontends/va/postproc.c +++ b/src/gallium/frontends/va/postproc.c @@ -255,7 +255,9 @@ static VAStatus vlVaPostProcBlit(vlVaDriver *drv, vlVaContext *context, } if (src->buffer_format == PIPE_FORMAT_YUYV || - src->buffer_format == PIPE_FORMAT_UYVY) { + src->buffer_format == PIPE_FORMAT_UYVY || + src->buffer_format == PIPE_FORMAT_YV12 || + src->buffer_format == PIPE_FORMAT_IYUV) { vl_compositor_yuv_deint_full(&drv->cstate, &drv->compositor, src, dst, &src_rect, &dst_rect, VL_COMPOSITOR_NONE);