summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2017-09-30 22:19:49 -0400
committerLeo Liu <[email protected]>2017-10-04 09:22:33 -0400
commit327480d10f2dab52de28e9a84609fac81c2034c5 (patch)
treeba976384b8221d8fbb570c94afd240b77e5508f2 /src/gallium/state_trackers
parentae61fe4982acf1ba86419beaf757f5f099656a53 (diff)
st/vdpau: don't re-allocate interlaced buffer with packed YUV format
It caused corruption, when vlVdpVideoSurfacePutBitsYCbCr putting YUV to the fields Cc: [email protected] Cc: Andy Furniss <[email protected]> Tested-by: Andy Furniss <[email protected]> Reviewed-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/vdpau/surface.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c
index 884ae308319..c678eb70377 100644
--- a/src/gallium/state_trackers/vdpau/surface.c
+++ b/src/gallium/state_trackers/vdpau/surface.c
@@ -350,6 +350,8 @@ vlVdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface,
/* adjust the template parameters */
p_surf->templat.buffer_format = nformat;
+ if (nformat == PIPE_FORMAT_YUYV || nformat == PIPE_FORMAT_UYVY)
+ p_surf->templat.interlaced = false;
/* and try to create the video buffer with the new format */
p_surf->video_buffer = pipe->create_video_buffer(pipe, &p_surf->templat);