From d49b58e78fd533b56197edb78aa1d5a2b2dbaa06 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 23 Jan 2013 15:39:26 +0100 Subject: vo_vdpau: always try to native bit depth (makes 30 bit work) Using vdpau on an X server configured to a bit depth of 30 (10 bit per component) failed finding a visual. The cause was a hack that tried to normalize the bit depth to 24 if it was not a known depth. It's unknown why/if this is needed, but the following things speak against it: - it prevented unusual bit depths like 30 bit from working - it wasn't needed with normal bit depth like 24 bit - it's probably copy-pasted from vo_x11 (where this code possibly makes sense, unlike in vo_vdpau) Just remove this code and look for a visual with native depth. --- video/out/vo_vdpau.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'video') diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c index 1d5f0ed86c..bc2db52f6a 100644 --- a/video/out/vo_vdpau.c +++ b/video/out/vo_vdpau.c @@ -851,7 +851,6 @@ static int config(struct vo *vo, uint32_t width, uint32_t height, XSetWindowAttributes xswa; XWindowAttributes attribs; unsigned long xswamask; - int depth; #ifdef CONFIG_XF86VM int vm = flags & VOFLAG_MODESWITCHING; @@ -877,10 +876,8 @@ static int config(struct vo *vo, uint32_t width, uint32_t height, #endif XGetWindowAttributes(x11->display, DefaultRootWindow(x11->display), &attribs); - depth = attribs.depth; - if (depth != 15 && depth != 16 && depth != 24 && depth != 32) - depth = 24; - XMatchVisualInfo(x11->display, x11->screen, depth, TrueColor, &vinfo); + XMatchVisualInfo(x11->display, x11->screen, attribs.depth, TrueColor, + &vinfo); xswa.background_pixel = 0; xswa.border_pixel = 0; -- cgit v1.2.3