aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2017-09-30 22:19:49 -0400
committerEmil Velikov <[email protected]>2017-10-17 16:59:02 +0100
commitdc47b179ed513bf74b7e95d57b7a87ae6632feef (patch)
treedc82a2ac944c112ba44f3d15d7ac1dc3a45e1b5f /src
parent1146591d4ba053426d16e47ae0835aa00e033dee (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]> (cherry picked from commit 327480d10f2dab52de28e9a84609fac81c2034c5)
Diffstat (limited to 'src')
-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);