diff options
Diffstat (limited to 'video/out/gl_video.c')
-rw-r--r-- | video/out/gl_video.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/video/out/gl_video.c b/video/out/gl_video.c index c7ebcc13b8..a1f0bfbcc7 100644 --- a/video/out/gl_video.c +++ b/video/out/gl_video.c @@ -1837,7 +1837,12 @@ static void pass_render_frame(struct gl_video *p) vpts = p->osd_pts; if (p->osd && p->opts.blend_subs && p->opts.blend_subs_res == 1) { - struct mp_osd_res rect = { p->image_w, p->image_h, 0, 0, 0, 0, 1 }; + double scale[2]; + get_scale_factors(p, scale); + struct mp_osd_res rect = { + .w = p->image_w, .h = p->image_h, + .display_par = scale[1] / scale[0], // counter compensate scaling + }; finish_pass_fbo(p, &p->blend_subs_fbo, p->image_w, p->image_h, 0, 0); pass_draw_osd(p, OSD_DRAW_SUB_ONLY, vpts, rect, p->image_w, p->image_h, p->blend_subs_fbo.fbo, false); |