From 7dcb309c14e356571452986aece22ddffa8a3cf2 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Thu, 2 Feb 2012 09:46:31 +0200 Subject: vo_opengl: quick-fix to enable OSD when using fragment shader for YUV conversion. Proper (HW-accelerated) implementation would use OpenGL texture to blend the OSD directly to RGB video texture. --- src/video_out/video_out_opengl.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/video_out/video_out_opengl.c b/src/video_out/video_out_opengl.c index 3f3000523..ef0e83530 100644 --- a/src/video_out/video_out_opengl.c +++ b/src/video_out/video_out_opengl.c @@ -1480,6 +1480,20 @@ static void opengl_overlay_blend (vo_driver_t *this_gen, XUnlockDisplay (this->display); } } else { + + if (!frame->rgb_dst) { + if (frame->format == XINE_IMGFMT_YV12) { + _x_blend_yuv(frame->vo_frame.base, overlay, + frame->width, frame->height, frame->vo_frame.pitches, + &this->alphablend_extra_data); + } else { + _x_blend_yuy2(frame->vo_frame.base[0], overlay, + frame->width, frame->height, frame->vo_frame.pitches[0], + &this->alphablend_extra_data); + } + return; + } + if (!overlay->rgb_clut || !overlay->hili_rgb_clut) opengl_overlay_clut_yuv2rgb (this, overlay, frame); -- cgit v1.2.3