summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwnoun <wnoun@outlook.com>2019-08-03 01:00:08 +0800
committersfan5 <sfan5@live.de>2019-08-14 21:54:14 +0200
commitae8cb39ab2b1632f46ecd2a6cd4541aaedcda766 (patch)
treefd404c8e3690b27593b6236c56044b234685105c
parent639ee55df7cc1ecf7ea5dcfa7ecc5551b6b7312d (diff)
downloadmpv-ae8cb39ab2b1632f46ecd2a6cd4541aaedcda766.tar.bz2
mpv-ae8cb39ab2b1632f46ecd2a6cd4541aaedcda766.tar.xz
vo_gpu: fix taking screenshots of rotated videos
-rw-r--r--video/out/gpu/video.c8
1 files changed, 6 insertions, 2 deletions
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);