diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/video_out/video_out_opengl.c | 14 |
1 files changed, 14 insertions, 0 deletions
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); |