From 338638a8afc9f330bacc1cdd7e6392a3ea9d828a Mon Sep 17 00:00:00 2001 From: Indrajit Das Date: Wed, 10 Jan 2018 15:13:37 +0530 Subject: [PATCH] st/va: clear pointers for mpeg2 quantiser matrices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is to fix VA-API issues with GStreamer and MPEG2. Since gstreamer does not pass quantiser matrices with each frame, invalid pointers were being passed to the driver. This patch addresses the same. Signed-off-by: Indrajit Das Reviewed-by: Christian König --- src/gallium/state_trackers/va/picture.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c index 895157375a6..23a4b524d7b 100644 --- a/src/gallium/state_trackers/va/picture.c +++ b/src/gallium/state_trackers/va/picture.c @@ -57,6 +57,11 @@ vlVaBeginPicture(VADriverContextP ctx, VAContextID context_id, VASurfaceID rende return VA_STATUS_ERROR_INVALID_CONTEXT; } + if (u_reduce_video_profile(context->templat.profile) == PIPE_VIDEO_FORMAT_MPEG12) { + context->desc.mpeg12.intra_matrix = NULL; + context->desc.mpeg12.non_intra_matrix = NULL; + } + surf = handle_table_get(drv->htab, render_target); mtx_unlock(&drv->mutex); if (!surf || !surf->buffer)