diff options
author | Leo Liu <[email protected]> | 2017-09-30 22:19:49 -0400 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-10-17 16:59:02 +0100 |
commit | dc47b179ed513bf74b7e95d57b7a87ae6632feef (patch) | |
tree | dc82a2ac944c112ba44f3d15d7ac1dc3a45e1b5f /src | |
parent | 1146591d4ba053426d16e47ae0835aa00e033dee (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.c | 2 |
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); |