summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIndrajit Das <indrajit-kumar.das@amd.com>2018-01-10 15:13:37 +0530
committerEmil Velikov <emil.l.velikov@gmail.com>2018-02-09 03:50:09 +0000
commit30a35f8d439c71fce10ea26e87103d03a0e6af4a (patch)
treeb1dbf534b05dc5d98b7a52a3cf8be67ca034e239 /src
parente46597f2731f9b5623f51393309415bad15b38ca (diff)
st/va: clear pointers for mpeg2 quantiser matrices
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 <indrajit-kumar.das@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> (cherry picked from commit 338638a8afc9f330bacc1cdd7e6392a3ea9d828a)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/va/picture.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c
index e344a368289..8f081f9d689 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)