Package: mpv
Version: 0.6.2-2
Severity: normal
Dear Maintainer,
mpv --vo=opengl-old fails to render OSD (draws empty rectangles instead)
when sub-option rectangle is 1 (it is set to 1 by default on some
video-cards [with mesa ATI r200 driver], otherwise can be enabled by
--vo=opengl-old:rectangle=1).
OSD rendering assumes GL_TEXTURE_2D was glEnable'd, while with this
sub-option video rendering glEnable(GL_TEXTURE_RECTANGLE) (which has
higher priority).
Attached patch (tested, seems to work) mitigates this by temporarily
switching texture targets when rendering OSD.
Notes:
1) This bug does not affect testing and upstream (--vo=opengl-old was
completely removed since mpv-0.8), only jessie is affected;
2) --vo=opengl-old is not used by default, however, it was suggested by
mpv for very old videocards that lacks OpenGL-2.0, and on some of such
cards rectangle suboption is enabled by default.
-- System Information:
Debian Release: 8.0
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 3.16.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages mpv depends on:
ii libasound2 1.0.28-1
ii libass5 0.10.2-3
ii libavcodec56 6:11.3-1
ii libavdevice55 6:11.3-1
ii libavfilter5 6:11.3-1
ii libavformat56 6:11.3-1
ii libavresample2 6:11.3-1
ii libavutil54 6:11.3-1
ii libbluray1 1:0.6.2-1
ii libbs2b0 3.1.0+dfsg-2.1
ii libc6 2.19-18
ii libcdio-cdda1 0.83-4.2
ii libcdio-paranoia1 0.83-4.2
ii libcdio13 0.83-4.2
ii libdvdnav4 5.0.1-1
ii libdvdread4 5.0.0-1
ii libegl1-mesa [libegl1-x11] 10.3.2-1
ii libenca0 1.16-1
ii libgl1-mesa-glx [libgl1] 10.3.2-1
ii libguess1 1.2-1
ii libjack-jackd2-0 [libjack-0.116] 1.9.10+20140719git3eb0ae6a~dfsg-2
ii libjpeg62-turbo 1:1.3.1-12
ii liblcms2-2 2.6-3+b3
ii liblircclient0 0.9.0~pre1-1.2
ii liblua5.2-0 5.2.3-1.1
ii libmpg123-0 1.20.1-2
ii libpulse0 5.0-13
ii libquvi7 0.4.1-3
ii libsdl2-2.0-0 2.0.2+dfsg1-6
ii libswscale3 6:11.3-1
ii libuuid1 2.25.2-6
ii libva-glx1 1.4.1-1
ii libva-x11-1 1.4.1-1
ii libva1 1.4.1-1
ii libvdpau1 0.8-3
ii libwayland-client0 1.6.0-2
ii libwayland-cursor0 1.6.0-2
ii libwayland-egl1-mesa [libwayland-egl1] 10.3.2-1
ii libx11-6 2:1.6.2-3
ii libxext6 2:1.3.3-1
ii libxinerama1 2:1.1.3-1+b1
ii libxkbcommon0 0.4.3-2
ii libxrandr2 2:1.4.2-1+b1
ii libxss1 1:1.2.2-1
ii libxv1 2:1.0.10-1+b1
ii zlib1g 1:1.2.8.dfsg-2+b1
mpv recommends no packages.
mpv suggests no packages.
-- no debconf information
Description: Fix OSD rendering with --vo=opengl-old:rectangle=1
Origin: vendor
Debian-Bug: http://bugs.debian.org/?
Forwarded: not-needed
Author: Yuriy M. Kaminskiy <[email protected]>
Last-Update: 2015-05-22
Index: mpv-0.6.2/video/out/vo_opengl_old.c
===================================================================
--- mpv-0.6.2.orig/video/out/vo_opengl_old.c
+++ mpv-0.6.2/video/out/vo_opengl_old.c
@@ -1476,8 +1476,17 @@ static void draw_osd(struct vo *vo)
gl->Color4ub((p->osd_color >> 16) & 0xff, (p->osd_color >> 8) & 0xff,
p->osd_color & 0xff, 0xff - (p->osd_color >> 24));
+ if (p->target != GL_TEXTURE_2D) {
+ gl->Disable(p->target);
+ gl->Enable(GL_TEXTURE_2D);
+ }
+
mpgl_osd_draw_legacy(p->osd, p->osd_pts, res);
+ if (p->target != GL_TEXTURE_2D) {
+ gl->Enable(p->target);
+ }
+
if (p->scaled_osd)
gl->PopMatrix();
}
_______________________________________________
pkg-multimedia-maintainers mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers