From ae8cb39ab2b1632f46ecd2a6cd4541aaedcda766 Mon Sep 17 00:00:00 2001 From: wnoun Date: Sat, 3 Aug 2019 01:00:08 +0800 Subject: vo_gpu: fix taking screenshots of rotated videos --- video/out/gpu/video.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'video/out/gpu') diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index 572d1bbd5b..4b3d8017a7 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -3320,10 +3320,14 @@ void gl_video_screenshot(struct gl_video *p, struct vo_frame *frame, if (w < 1 || h < 1) return; - if (p->image_params.rotate % 180 == 90) + int src_w = p->image_params.w; + int src_h = p->image_params.h; + if (p->image_params.rotate % 180 == 90) { MPSWAP(int, w, h); + MPSWAP(int, src_w, src_h); + } - struct mp_rect src = {0, 0, p->image_params.w, p->image_params.h}; + struct mp_rect src = {0, 0, src_w, src_h}; struct mp_rect dst = {0, 0, w, h}; struct mp_osd_res osd = {.w = w, .h = h, .display_par = 1.0}; gl_video_resize(p, &src, &dst, &osd); -- cgit v1.2.3