summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-01-23 15:39:26 +0100
committerwm4 <wm4@nowhere>2013-01-23 15:48:08 +0100
commitd49b58e78fd533b56197edb78aa1d5a2b2dbaa06 (patch)
tree47dccf62f145ed6ef663647fa9ece8392f14333a /video
parent2131bdf5b75fe11ed2e97958cbb5d4b00262db16 (diff)
downloadmpv-d49b58e78fd533b56197edb78aa1d5a2b2dbaa06.tar.bz2
mpv-d49b58e78fd533b56197edb78aa1d5a2b2dbaa06.tar.xz
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.
Diffstat (limited to 'video')
-rw-r--r--video/out/vo_vdpau.c7
1 files changed, 2 insertions, 5 deletions
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;