summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-25 12:07:20 +0200
committerwm4 <wm4@nowhere>2015-09-25 12:07:20 +0200
commit993bee38ca5e4d5d7e95b18b168cbfb9a616dba9 (patch)
tree98614eaede5535c0ac10ac823ae01e72a1f74d9b /video
parent0b87bf9b72e495ae1b578ee2f268f3dc4e77bf81 (diff)
downloadmpv-993bee38ca5e4d5d7e95b18b168cbfb9a616dba9.tar.bz2
mpv-993bee38ca5e4d5d7e95b18b168cbfb9a616dba9.tar.xz
vo_opengl: vaapi: handle YV12 correctly
This specific FourCC has its planes swapped compared to FFmpeg yuv420p.
Diffstat (limited to 'video')
-rw-r--r--video/out/opengl/hwdec_vaegl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/video/out/opengl/hwdec_vaegl.c b/video/out/opengl/hwdec_vaegl.c
index 1e470668f9..52738cbb4d 100644
--- a/video/out/opengl/hwdec_vaegl.c
+++ b/video/out/opengl/hwdec_vaegl.c
@@ -228,6 +228,9 @@ static int map_image(struct gl_hwdec *hw, struct mp_image *hw_image,
}
gl->BindTexture(GL_TEXTURE_2D, 0);
+ if (va_image->format.fourcc == VA_FOURCC_YV12)
+ MPSWAP(GLuint, out_textures[1], out_textures[2]);
+
va_unlock(p->ctx);
return 0;